Skip to content

Commit 19b4385

Browse files
committed
Merge tag 'mips_5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
Pull MIPS updates from Thomas Bogendoerfer: - add support for OpeneEmbed SOM9331 board - Ingenic fixes/improvments - other fixes and cleanups * tag 'mips_5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (39 commits) MIPS: Fix PKMAP with 32-bit MIPS huge page support MIPS: CI20: Add second percpu timer for SMP. MIPS: CI20: Reduce clocksource to 750 kHz. MIPS: Ingenic: Add MAC syscon nodes for Ingenic SoCs. dt-bindings: clock: Add documentation for MAC PHY control bindings. MIPS: X1830: Respect cell count of common properties. MIPS: set mips32r5 for virt extensions MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops MIPS: MT extensions are not available on MIPS32r1 mips/kvm: Use BUG_ON instead of if condition followed by BUG MIPS: OCTEON: octeon-usb: Use devm_platform_get_and_ioremap_resource() MIPS: add PMD table accounting into MIPS'pmd_alloc_one MIPS: Loongson64: fix spelling of SPDX tag MIPS: ingenic: rs90: Add dedicated VRAM memory region MIPS: ingenic: gcw0: Set codec to cap-less mode for FM radio MIPS: ingenic: jz4780: Fix I2C nodes to match DT doc MIPS: ingenic: Select CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER MIPS: Kconfig: ingenic: Ensure MACH_INGENIC_GENERIC selects all SoCs MIPS: cpu-probe: Fix FPU detection on Ingenic JZ4760(B) MIPS: boot: Support specifying UART port on Ingenic SoCs ...
2 parents a32b344 + cf02ce7 commit 19b4385

39 files changed

+254
-115
lines changed

Documentation/devicetree/bindings/clock/ingenic,cgu.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ required:
9797
patternProperties:
9898
"^usb-phy@[a-f0-9]+$":
9999
allOf: [ $ref: "../phy/ingenic,phy-usb.yaml#" ]
100+
"^mac-phy-ctrl@[a-f0-9]+$":
101+
allOf: [ $ref: "../net/ingenic,mac.yaml#" ]
100102

101103
additionalProperties: false
102104

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,8 @@ patternProperties:
830830
description: Opal Kelly Incorporated
831831
"^opencores,.*":
832832
description: OpenCores.org
833+
"^openembed,.*":
834+
description: OpenEmbed
833835
"^openrisc,.*":
834836
description: OpenRISC.io
835837
"^option,.*":

arch/mips/Kconfig

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ config MACH_INGENIC
112112
select SYS_SUPPORTS_LITTLE_ENDIAN
113113
select SYS_SUPPORTS_ZBOOT
114114
select DMA_NONCOHERENT
115+
select ARCH_HAS_SYNC_DMA_FOR_CPU
115116
select IRQ_MIPS_CPU
116117
select PINCTRL
117118
select GPIOLIB
@@ -427,6 +428,8 @@ config MACH_INGENIC_SOC
427428
select MIPS_GENERIC
428429
select MACH_INGENIC
429430
select SYS_SUPPORTS_ZBOOT_UART16550
431+
select CPU_SUPPORTS_CPUFREQ
432+
select MIPS_EXTERNAL_TIMER
430433

431434
config LANTIQ
432435
bool "Lantiq based platforms"
@@ -994,7 +997,6 @@ config CAVIUM_OCTEON_SOC
994997
select HAVE_PLAT_FW_INIT_CMDLINE
995998
select HAVE_PLAT_MEMCPY
996999
select ZONE_DMA32
997-
select HOLES_IN_ZONE
9981000
select GPIOLIB
9991001
select USE_OF
10001002
select ARCH_SPARSEMEM_ENABLE
@@ -1231,9 +1233,6 @@ config HAVE_PLAT_MEMCPY
12311233
config ISA_DMA_API
12321234
bool
12331235

1234-
config HOLES_IN_ZONE
1235-
bool
1236-
12371236
config SYS_SUPPORTS_RELOCATABLE
12381237
bool
12391238
help

arch/mips/Kconfig.debug

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@ config DEBUG_ZBOOT
102102
to reduce the kernel image size and speed up the booting procedure a
103103
little.
104104

105+
config ZBOOT_INGENIC_UART
106+
int "UART to use for compressed kernel debugging"
107+
depends on DEBUG_ZBOOT && MACH_INGENIC_SOC
108+
default 0
109+
range 0 4
110+
help
111+
Specify the UART that should be used for compressed kernel debugging.
112+
105113
config SPINLOCK_TEST
106114
bool "Enable spinlock timing tests in debugfs"
107115
depends on DEBUG_FS

arch/mips/boot/compressed/uart-16550.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
#endif
2020

2121
#ifdef CONFIG_MACH_INGENIC
22-
#define INGENIC_UART0_BASE_ADDR 0x10030000
23-
#define PORT(offset) (CKSEG1ADDR(INGENIC_UART0_BASE_ADDR) + (4 * offset))
22+
#define INGENIC_UART_BASE_ADDR (0x10030000 + 0x1000 * CONFIG_ZBOOT_INGENIC_UART)
23+
#define PORT(offset) (CKSEG1ADDR(INGENIC_UART_BASE_ADDR) + (4 * offset))
2424
#endif
2525

2626
#ifdef CONFIG_CPU_XLR

arch/mips/boot/dts/ingenic/ci20.dts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,20 @@
118118
assigned-clock-rates = <48000000>;
119119
};
120120

121+
&tcu {
122+
/*
123+
* 750 kHz for the system timers and clocksource,
124+
* use channel #0 and #1 for the per cpu system timers,
125+
* and use channel #2 for the clocksource.
126+
*
127+
* 3000 kHz for the OST timer to provide a higher
128+
* precision clocksource.
129+
*/
130+
assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
131+
<&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_OST>;
132+
assigned-clock-rates = <750000>, <750000>, <750000>, <3000000>;
133+
};
134+
121135
&mmc0 {
122136
status = "okay";
123137

@@ -522,13 +536,3 @@
522536
bias-disable;
523537
};
524538
};
525-
526-
&tcu {
527-
/*
528-
* 750 kHz for the system timer and 3 MHz for the clocksource,
529-
* use channel #0 for the system timer, #1 for the clocksource.
530-
*/
531-
assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
532-
<&tcu TCU_CLK_OST>;
533-
assigned-clock-rates = <750000>, <3000000>, <3000000>;
534-
};

arch/mips/boot/dts/ingenic/gcw0.dts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
simple-audio-card,widgets =
7575
"Speaker", "Speaker",
7676
"Headphone", "Headphones",
77-
"Line", "FM Radio",
7877
"Microphone", "Built-in Mic";
7978
simple-audio-card,routing =
8079
"Headphones Amp INL", "LHPOUT",
@@ -85,8 +84,8 @@
8584
"Speaker Amp INR", "ROUT",
8685
"Speaker", "Speaker Amp OUTL",
8786
"Speaker", "Speaker Amp OUTR",
88-
"LLINEIN", "FM Radio",
89-
"RLINEIN", "FM Radio",
87+
"LLINEIN", "Cap-less",
88+
"RLINEIN", "Cap-less",
9089
"Built-in Mic", "MICBIAS",
9190
"MIC1P", "Built-in Mic",
9291
"MIC1N", "Built-in Mic";

arch/mips/boot/dts/ingenic/jz4780.dtsi

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@
339339
};
340340

341341
i2c0: i2c@10050000 {
342-
compatible = "ingenic,jz4780-i2c";
342+
compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
343343
#address-cells = <1>;
344344
#size-cells = <0>;
345345

@@ -357,7 +357,7 @@
357357
};
358358

359359
i2c1: i2c@10051000 {
360-
compatible = "ingenic,jz4780-i2c";
360+
compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
361361
#address-cells = <1>;
362362
#size-cells = <0>;
363363
reg = <0x10051000 0x1000>;
@@ -374,7 +374,7 @@
374374
};
375375

376376
i2c2: i2c@10052000 {
377-
compatible = "ingenic,jz4780-i2c";
377+
compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
378378
#address-cells = <1>;
379379
#size-cells = <0>;
380380
reg = <0x10052000 0x1000>;
@@ -391,7 +391,7 @@
391391
};
392392

393393
i2c3: i2c@10053000 {
394-
compatible = "ingenic,jz4780-i2c";
394+
compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
395395
#address-cells = <1>;
396396
#size-cells = <0>;
397397
reg = <0x10053000 0x1000>;
@@ -408,7 +408,7 @@
408408
};
409409

410410
i2c4: i2c@10054000 {
411-
compatible = "ingenic,jz4780-i2c";
411+
compatible = "ingenic,jz4780-i2c", "ingenic,jz4770-i2c";
412412
#address-cells = <1>;
413413
#size-cells = <0>;
414414
reg = <0x10054000 0x1000>;

arch/mips/boot/dts/ingenic/rs90.dts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,18 @@
1616
reg = <0x0 0x2000000>;
1717
};
1818

19+
reserved-memory {
20+
#address-cells = <1>;
21+
#size-cells = <1>;
22+
ranges;
23+
24+
vmem: video-memory@1f00000 {
25+
compatible = "shared-dma-pool";
26+
reg = <0x1f00000 0x100000>;
27+
reusable;
28+
};
29+
};
30+
1931
vcc: regulator {
2032
compatible = "regulator-fixed";
2133

@@ -300,6 +312,8 @@
300312
};
301313

302314
&lcd {
315+
memory-region = <&vmem>;
316+
303317
pinctrl-names = "default";
304318
pinctrl-0 = <&pins_lcd>;
305319
};

arch/mips/boot/dts/ingenic/x1000.dtsi

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@
8080

8181
status = "disabled";
8282
};
83+
84+
mac_phy_ctrl: mac-phy-ctrl@e8 {
85+
compatible = "syscon";
86+
reg = <0xe8 0x4>;
87+
};
8388
};
8489

8590
ost: timer@12000000 {
@@ -347,6 +352,8 @@
347352
clocks = <&cgu X1000_CLK_MAC>;
348353
clock-names = "stmmaceth";
349354

355+
mode-reg = <&mac_phy_ctrl>;
356+
350357
status = "disabled";
351358

352359
mdio: mdio {

0 commit comments

Comments
 (0)