Skip to content

Commit d436d1d

Browse files
committed
Merge tag 'mtk-dts64-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt
MediaTek ARM64 DeviceTree updates for v6.17 This adds new machines and improves support for already supported MediaTek SoCs. In particular: - New machine: MT8186 Steelix Squirtle Chromebook - Steelix-Voltorb's two dts are merged in one ...and improvements for already supported SoCs and machines: - Added reserved memory for AFE DMA for MT8173/83/86/92, aligning audio related memory allocation between all of the Chromebook SoCs - Added second source components for Steelix, and marked the multiple trackpads for Asurada as such - MediaTek Genio 1200: Enabled support for the Audio DSP and sound - MediaTek Genio 510/700/1200: Added support for the PMIC Keys - MediaTek MT7988: Added Cache Coherent Interconnect for CPU DVFS - MT7988A-BananaPi-R4: Enabled CCI, added GPIO LEDs - Airoha EN7581: Added ethernet nodes to Evaluation Board * tag 'mtk-dts64-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: arm64: dts: mediatek: mt8395-genio-1200-evk: Add MT6359 PMIC key support arm64: dts: mediatek: mt8390-genio-common: Add Home MT6359 PMIC key support arm64: dts: mediatek: mt7988a-bpi-r4: add gpio leds arm64: dts: mediatek: mt7988a-bpi-r4: drop unused pins arm64: dts: mediatek: mt7988a-bpi-r4: add proc-supply for cci arm64: dts: mediatek: mt7988: add cci node dt-bindings: interconnect: add mt7988-cci compatible arm64: dts: airoha: en7581: Add ethernet nodes to EN7581 SoC evaluation board arm64: dts: mediatek: mt8192-asurada-spherion: Mark trackpads as fail-needs-probe arm64: dts: mediatek: mt8186: Add Squirtle Chromebooks arm64: dts: mediatek: mt8186: Merge Voltorb device trees arm64: dts: mediatek: mt8186-steelix: Mark second source components for probing dt-bindings: arm: mediatek: Add MT8186 Squirtle Chromebooks dt-bindings: arm: mediatek: Merge MT8186 Voltorb entries arm64: dts: mediatek: mt8395-genio-1200-evk: Enable Audio DSP and sound card arm64: dts: mediatek: mt8192-asurada: Reserve memory for audio frontend arm64: dts: mediatek: mt8186-corsola: Reserve memory for audio frontend arm64: dts: mediatek: mt8183-kukui: Reserve memory for audio frontend arm64: dts: mediatek: mt8173: Reserve memory for audio frontend Link: https://lore.kernel.org/r/20250711083656.33538-3-angelogioacchino.delregno@collabora.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents a694292 + a9b906f commit d436d1d

20 files changed

Lines changed: 366 additions & 124 deletions

Documentation/devicetree/bindings/arm/mediatek.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,10 @@ properties:
307307
- const: google,steelix-sku196608
308308
- const: google,steelix
309309
- const: mediatek,mt8186
310+
- description: Google Squirtle (Acer Chromebook Spin 311 (R724T)
311+
items:
312+
- const: google,squirtle
313+
- const: mediatek,mt8186
310314
- description: Google Starmie (ASUS Chromebook Enterprise CM30 (CM3001))
311315
items:
312316
- const: google,starmie-sku0
@@ -355,9 +359,6 @@ properties:
355359
- const: mediatek,mt8186
356360
- description: Google Voltorb (Acer Chromebook 311 C723/C732T)
357361
items:
358-
- enum:
359-
- google,voltorb-sku589824
360-
- google,voltorb-sku589825
361362
- const: google,voltorb
362363
- const: mediatek,mt8186
363364
- items:

Documentation/devicetree/bindings/interconnect/mediatek,cci.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,14 @@ description: |
1717
1818
properties:
1919
compatible:
20-
enum:
21-
- mediatek,mt8183-cci
22-
- mediatek,mt8186-cci
20+
oneOf:
21+
- enum:
22+
- mediatek,mt8183-cci
23+
- mediatek,mt8186-cci
24+
- items:
25+
- enum:
26+
- mediatek,mt7988-cci
27+
- const: mediatek,mt8183-cci
2328

2429
clocks:
2530
items:

arch/arm64/boot/dts/airoha/en7581-evb.dts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,11 @@
9898
&i2c0 {
9999
status = "okay";
100100
};
101+
102+
&eth {
103+
status = "okay";
104+
};
105+
106+
&gdm1 {
107+
status = "okay";
108+
};

arch/arm64/boot/dts/airoha/en7581.dtsi

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,5 +346,54 @@
346346

347347
status = "disabled";
348348
};
349+
350+
eth: ethernet@1fb50000 {
351+
compatible = "airoha,en7581-eth";
352+
reg = <0 0x1fb50000 0 0x2600>,
353+
<0 0x1fb54000 0 0x2000>,
354+
<0 0x1fb56000 0 0x2000>;
355+
reg-names = "fe", "qdma0", "qdma1";
356+
357+
resets = <&scuclk EN7581_FE_RST>,
358+
<&scuclk EN7581_FE_PDMA_RST>,
359+
<&scuclk EN7581_FE_QDMA_RST>,
360+
<&scuclk EN7581_XSI_MAC_RST>,
361+
<&scuclk EN7581_DUAL_HSI0_MAC_RST>,
362+
<&scuclk EN7581_DUAL_HSI1_MAC_RST>,
363+
<&scuclk EN7581_HSI_MAC_RST>,
364+
<&scuclk EN7581_XFP_MAC_RST>;
365+
reset-names = "fe", "pdma", "qdma",
366+
"xsi-mac", "hsi0-mac", "hsi1-mac",
367+
"hsi-mac", "xfp-mac";
368+
369+
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
370+
<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
371+
<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
372+
<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
373+
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
374+
<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
375+
<GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
376+
<GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
377+
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
378+
<GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
379+
380+
status = "disabled";
381+
382+
#address-cells = <1>;
383+
#size-cells = <0>;
384+
385+
gdm1: ethernet@1 {
386+
compatible = "airoha,eth-mac";
387+
reg = <1>;
388+
phy-mode = "internal";
389+
status = "disabled";
390+
391+
fixed-link {
392+
speed = <10000>;
393+
full-duplex;
394+
pause;
395+
};
396+
};
397+
};
349398
};
350399
};

arch/arm64/boot/dts/mediatek/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-magneton-sku393218.dtb
6868
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-ponyta-sku0.dtb
6969
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-ponyta-sku1.dtb
7070
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-rusty-sku196608.dtb
71+
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-squirtle.dtb
7172
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-starmie-sku0.dtb
7273
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-starmie-sku1.dtb
7374
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-steelix-sku131072.dtb
@@ -76,8 +77,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327681.dtb
7677
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacool-sku327683.dtb
7778
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacruel-sku262144.dtb
7879
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-tentacruel-sku262148.dtb
79-
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb-sku589824.dtb
80-
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb-sku589825.dtb
80+
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-corsola-voltorb.dtb
8181
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8186-evb.dtb
8282
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-evb.dtb
8383
dtb-$(CONFIG_ARCH_MEDIATEK) += mt8188-geralt-ciri-sku0.dtb

arch/arm64/boot/dts/mediatek/mt7988a-bananapi-bpi-r4.dtsi

Lines changed: 24 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
/dts-v1/;
44

55
#include <dt-bindings/gpio/gpio.h>
6+
#include <dt-bindings/leds/common.h>
67
#include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
78

89
#include "mt7988a.dtsi"
@@ -21,6 +22,25 @@
2122
status = "okay";
2223
};
2324

25+
gpio-leds {
26+
compatible = "gpio-leds";
27+
28+
led_green: led-green {
29+
function = LED_FUNCTION_STATUS;
30+
color = <LED_COLOR_ID_GREEN>;
31+
gpios = <&pio 79 GPIO_ACTIVE_HIGH>;
32+
default-state = "on";
33+
};
34+
35+
led_blue: led-blue {
36+
function = LED_FUNCTION_WPS;
37+
color = <LED_COLOR_ID_BLUE>;
38+
gpios = <&pio 63 GPIO_ACTIVE_HIGH>;
39+
default-state = "off";
40+
};
41+
};
42+
43+
2444
reg_1p8v: regulator-1p8v {
2545
compatible = "regulator-fixed";
2646
regulator-name = "fixed-1.8V";
@@ -40,6 +60,10 @@
4060
};
4161
};
4262

63+
&cci {
64+
proc-supply = <&rt5190_buck3>;
65+
};
66+
4367
&cpu0 {
4468
proc-supply = <&rt5190_buck3>;
4569
};
@@ -219,18 +243,6 @@
219243
};
220244

221245
&pio {
222-
mdio0_pins: mdio0-pins {
223-
mux {
224-
function = "eth";
225-
groups = "mdc_mdio0";
226-
};
227-
228-
conf {
229-
pins = "SMI_0_MDC", "SMI_0_MDIO";
230-
drive-strength = <8>;
231-
};
232-
};
233-
234246
i2c0_pins: i2c0-g0-pins {
235247
mux {
236248
function = "i2c";
@@ -245,20 +257,6 @@
245257
};
246258
};
247259

248-
i2c1_sfp_pins: i2c1-sfp-g0-pins {
249-
mux {
250-
function = "i2c";
251-
groups = "i2c1_sfp";
252-
};
253-
};
254-
255-
i2c2_0_pins: i2c2-g0-pins {
256-
mux {
257-
function = "i2c";
258-
groups = "i2c2_0";
259-
};
260-
};
261-
262260
i2c2_1_pins: i2c2-g1-pins {
263261
mux {
264262
function = "i2c";
@@ -294,48 +292,13 @@
294292
};
295293
};
296294

297-
gbe0_led1_pins: gbe0-led1-pins {
298-
mux {
299-
function = "led";
300-
groups = "gbe0_led1";
301-
};
302-
};
303-
304-
gbe1_led1_pins: gbe1-led1-pins {
305-
mux {
306-
function = "led";
307-
groups = "gbe1_led1";
308-
};
309-
};
310-
311-
gbe2_led1_pins: gbe2-led1-pins {
312-
mux {
313-
function = "led";
314-
groups = "gbe2_led1";
315-
};
316-
};
317-
318-
gbe3_led1_pins: gbe3-led1-pins {
319-
mux {
320-
function = "led";
321-
groups = "gbe3_led1";
322-
};
323-
};
324-
325295
i2p5gbe_led0_pins: 2p5gbe-led0-pins {
326296
mux {
327297
function = "led";
328298
groups = "2p5gbe_led0";
329299
};
330300
};
331301

332-
i2p5gbe_led1_pins: 2p5gbe-led1-pins {
333-
mux {
334-
function = "led";
335-
groups = "2p5gbe_led1";
336-
};
337-
};
338-
339302
mmc0_pins_emmc_45: mmc0-emmc-45-pins {
340303
mux {
341304
function = "flash";
@@ -357,40 +320,12 @@
357320
};
358321
};
359322

360-
snfi_pins: snfi-pins {
361-
mux {
362-
function = "flash";
363-
groups = "snfi";
364-
};
365-
};
366-
367-
spi0_pins: spi0-pins {
368-
mux {
369-
function = "spi";
370-
groups = "spi0";
371-
};
372-
};
373-
374323
spi0_flash_pins: spi0-flash-pins {
375324
mux {
376325
function = "spi";
377326
groups = "spi0", "spi0_wp_hold";
378327
};
379328
};
380-
381-
spi2_pins: spi2-pins {
382-
mux {
383-
function = "spi";
384-
groups = "spi2";
385-
};
386-
};
387-
388-
spi2_flash_pins: spi2-flash-pins {
389-
mux {
390-
function = "spi";
391-
groups = "spi2", "spi2_wp_hold";
392-
};
393-
};
394329
};
395330

396331
&pwm {

arch/arm64/boot/dts/mediatek/mt7988a.dtsi

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,35 @@
1212
#address-cells = <2>;
1313
#size-cells = <2>;
1414

15+
cci: cci {
16+
compatible = "mediatek,mt7988-cci", "mediatek,mt8183-cci";
17+
clocks = <&mcusys CLK_MCU_BUS_DIV_SEL>,
18+
<&topckgen CLK_TOP_XTAL>;
19+
clock-names = "cci", "intermediate";
20+
operating-points-v2 = <&cci_opp>;
21+
};
22+
23+
cci_opp: opp-table-cci {
24+
compatible = "operating-points-v2";
25+
opp-shared;
26+
opp-480000000 {
27+
opp-hz = /bits/ 64 <480000000>;
28+
opp-microvolt = <850000>;
29+
};
30+
opp-660000000 {
31+
opp-hz = /bits/ 64 <660000000>;
32+
opp-microvolt = <850000>;
33+
};
34+
opp-900000000 {
35+
opp-hz = /bits/ 64 <900000000>;
36+
opp-microvolt = <850000>;
37+
};
38+
opp-1080000000 {
39+
opp-hz = /bits/ 64 <1080000000>;
40+
opp-microvolt = <900000>;
41+
};
42+
};
43+
1544
cpus {
1645
#address-cells = <1>;
1746
#size-cells = <0>;
@@ -25,6 +54,7 @@
2554
<&topckgen CLK_TOP_XTAL>;
2655
clock-names = "cpu", "intermediate";
2756
operating-points-v2 = <&cluster0_opp>;
57+
mediatek,cci = <&cci>;
2858
};
2959

3060
cpu1: cpu@1 {
@@ -36,6 +66,7 @@
3666
<&topckgen CLK_TOP_XTAL>;
3767
clock-names = "cpu", "intermediate";
3868
operating-points-v2 = <&cluster0_opp>;
69+
mediatek,cci = <&cci>;
3970
};
4071

4172
cpu2: cpu@2 {
@@ -47,6 +78,7 @@
4778
<&topckgen CLK_TOP_XTAL>;
4879
clock-names = "cpu", "intermediate";
4980
operating-points-v2 = <&cluster0_opp>;
81+
mediatek,cci = <&cci>;
5082
};
5183

5284
cpu3: cpu@3 {
@@ -58,6 +90,7 @@
5890
<&topckgen CLK_TOP_XTAL>;
5991
clock-names = "cpu", "intermediate";
6092
operating-points-v2 = <&cluster0_opp>;
93+
mediatek,cci = <&cci>;
6194
};
6295

6396
cluster0_opp: opp-table-0 {

arch/arm64/boot/dts/mediatek/mt8173.dtsi

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,14 @@
318318
#address-cells = <2>;
319319
#size-cells = <2>;
320320
ranges;
321+
322+
afe_dma_mem: audio-dma-pool {
323+
compatible = "shared-dma-pool";
324+
size = <0 0x100000>;
325+
alignment = <0 0x10>;
326+
no-map;
327+
};
328+
321329
vpu_dma_reserved: vpu-dma-mem@b7000000 {
322330
compatible = "shared-dma-pool";
323331
reg = <0 0xb7000000 0 0x500000>;
@@ -887,6 +895,7 @@
887895
<&topckgen CLK_TOP_AUD_2_SEL>;
888896
assigned-clock-parents = <&topckgen CLK_TOP_APLL1>,
889897
<&topckgen CLK_TOP_APLL2>;
898+
memory-region = <&afe_dma_mem>;
890899
};
891900

892901
mmc0: mmc@11230000 {

0 commit comments

Comments
 (0)