Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'amlogic-arm64-dt-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.12:
- New Boards:
- AW419 (Amlogic C3)
- Power Controller node for Amlogic A5 SoC
- Always-On Secure node for Amlogig A4/T7/C4 & S4 SoCs
- Amlogic A4 & C3 hardware support:
- PLL, SPICC, NOND, SDCard, Ethernet, Watchdog
- Final fixes for DTBs check:
- add clock and clock-names to sound cards
- drop saradc gxlx compatible

* tag 'amlogic-arm64-dt-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
arm64: dts: amlogic: gxlx-s905l-p271: drop saradc gxlx compatible
arm64: dts: amlogic: add clock and clock-names to sound cards
arm64: dts: amlogic: c3: fix dtbcheck warning
arm64: dts: amlogic: add C3 AW419 board
arm64: dts: amlogic: add some device nodes for C3
dt-bindings: clock: fix C3 PLL input parameter
arm64: dts: amlogic: a4: add ao secure node
arm64: dts: amlogic: t7: add ao secure node
arm64: dts: amlogic: c3: add ao secure node
arm64: dts: amlogic: s4: add ao secure node
arm64: dts: amlogic: add watchdog node for A4 SoCs
arm64: dts: amlogic: enable some device nodes for S4
arm64: dts: amlogic: a5: add power domain controller node

Link: https://lore.kernel.org/r/cc8fb460-5ac0-4b16-8490-8ac9f89f1b7f@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+1511 -11
+5 -2
Documentation/devicetree/bindings/clock/amlogic,c3-pll-clkc.yaml
··· 24 24 items: 25 25 - description: input top pll 26 26 - description: input mclk pll 27 + - description: input fix pll 27 28 28 29 clock-names: 29 30 items: 30 31 - const: top 31 32 - const: mclk 33 + - const: fix 32 34 33 35 "#clock-cells": 34 36 const: 1 ··· 54 52 compatible = "amlogic,c3-pll-clkc"; 55 53 reg = <0x0 0x8000 0x0 0x1a4>; 56 54 clocks = <&scmi_clk 2>, 57 - <&scmi_clk 5>; 58 - clock-names = "top", "mclk"; 55 + <&scmi_clk 5>, 56 + <&scmi_clk 12>; 57 + clock-names = "top", "mclk", "fix"; 59 58 #clock-cells = <1>; 60 59 }; 61 60 };
+1
arch/arm64/boot/dts/amlogic/Makefile
··· 2 2 dtb-$(CONFIG_ARCH_MESON) += amlogic-a4-a113l2-ba400.dtb 3 3 dtb-$(CONFIG_ARCH_MESON) += amlogic-a5-a113x2-av400.dtb 4 4 dtb-$(CONFIG_ARCH_MESON) += amlogic-c3-c302x-aw409.dtb 5 + dtb-$(CONFIG_ARCH_MESON) += amlogic-c3-c308l-aw419.dtb 5 6 dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-an400.dtb 6 7 dtb-$(CONFIG_ARCH_MESON) += amlogic-t7-a311d2-khadas-vim4.dtb 7 8 dtb-$(CONFIG_ARCH_MESON) += meson-a1-ad401.dtb
+14
arch/arm64/boot/dts/amlogic/amlogic-a4-common.dtsi
··· 52 52 #size-cells = <2>; 53 53 ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; 54 54 55 + watchdog@2100 { 56 + compatible = "amlogic,a4-wdt", "amlogic,t7-wdt"; 57 + reg = <0x0 0x2100 0x0 0x10>; 58 + clocks = <&xtal>; 59 + }; 60 + 55 61 uart_b: serial@7a000 { 56 62 compatible = "amlogic,a4-uart", 57 63 "amlogic,meson-s4-uart"; ··· 66 60 clocks = <&xtal>, <&xtal>, <&xtal>; 67 61 clock-names = "xtal", "pclk", "baud"; 68 62 status = "disabled"; 63 + }; 64 + 65 + sec_ao: ao-secure@10220 { 66 + compatible = "amlogic,a4-ao-secure", 67 + "amlogic,meson-gx-ao-secure", 68 + "syscon"; 69 + reg = <0x0 0x10220 0x0 0x140>; 70 + amlogic,has-chip-id; 69 71 }; 70 72 }; 71 73 };
+10
arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi
··· 4 4 */ 5 5 6 6 #include "amlogic-a4-common.dtsi" 7 + #include <dt-bindings/power/amlogic,a5-pwrc.h> 7 8 / { 8 9 cpus { 9 10 #address-cells = <2>; ··· 36 35 compatible = "arm,cortex-a55"; 37 36 reg = <0x0 0x300>; 38 37 enable-method = "psci"; 38 + }; 39 + }; 40 + 41 + sm: secure-monitor { 42 + compatible = "amlogic,meson-gxbb-sm"; 43 + 44 + pwrc: power-controller { 45 + compatible = "amlogic,a5-pwrc"; 46 + #power-domain-cells = <1>; 39 47 }; 40 48 }; 41 49 };
+231
arch/arm64/boot/dts/amlogic/amlogic-c3-c302x-aw409.dts
··· 16 16 17 17 aliases { 18 18 serial0 = &uart_b; 19 + spi0 = &spifc; 19 20 }; 20 21 21 22 memory@0 { 22 23 device_type = "memory"; 23 24 reg = <0x0 0x0 0x0 0x10000000>; 24 25 }; 26 + 27 + reserved-memory { 28 + #address-cells = <2>; 29 + #size-cells = <2>; 30 + ranges; 31 + 32 + /* 9 MiB reserved for ARM Trusted Firmware */ 33 + secmon_reserved: secmon@7f00000 { 34 + compatible = "shared-dma-pool"; 35 + reg = <0x0 0x07f00000 0x0 0x900000>; 36 + no-map; 37 + }; 38 + }; 39 + 40 + main_12v: regulator-main-12v { 41 + compatible = "regulator-fixed"; 42 + regulator-name = "12V"; 43 + regulator-min-microvolt = <12000000>; 44 + regulator-max-microvolt = <12000000>; 45 + regulator-boot-on; 46 + regulator-always-on; 47 + }; 48 + 49 + vcc_5v: regulator-vcc-5v { 50 + compatible = "regulator-fixed"; 51 + regulator-name = "VCC5V"; 52 + regulator-min-microvolt = <5000000>; 53 + regulator-max-microvolt = <5000000>; 54 + vin-supply = <&main_12v>; 55 + regulator-boot-on; 56 + regulator-always-on; 57 + }; 58 + 59 + vddq: regulator-vddq { 60 + compatible = "regulator-fixed"; 61 + regulator-name = "VDDQ"; 62 + regulator-min-microvolt = <1200000>; 63 + regulator-max-microvolt = <1200000>; 64 + vin-supply = <&main_12v>; 65 + regulator-boot-on; 66 + regulator-always-on; 67 + }; 68 + 69 + vddao_3v3: regulator-vddao-3v3 { 70 + compatible = "regulator-fixed"; 71 + regulator-name = "VDDAO3V3"; 72 + regulator-min-microvolt = <3300000>; 73 + regulator-max-microvolt = <3300000>; 74 + vin-supply = <&main_12v>; 75 + regulator-boot-on; 76 + regulator-always-on; 77 + }; 78 + 79 + vddao_1v8: regulator-vddao-1v8 { 80 + compatible = "regulator-fixed"; 81 + regulator-name = "VDDAO1V8"; 82 + regulator-min-microvolt = <1800000>; 83 + regulator-max-microvolt = <1800000>; 84 + vin-supply = <&vddao_3v3>; 85 + regulator-boot-on; 86 + regulator-always-on; 87 + }; 88 + 89 + ddr4_2v5: regulator-ddr4-2v5 { 90 + compatible = "regulator-fixed"; 91 + regulator-name = "DDR4_2V5"; 92 + regulator-min-microvolt = <2500000>; 93 + regulator-max-microvolt = <2500000>; 94 + vin-supply = <&vddao_3v3>; 95 + regulator-boot-on; 96 + regulator-always-on; 97 + }; 98 + 99 + vcc_3v3: regulator-vcc-3v3 { 100 + compatible = "regulator-fixed"; 101 + regulator-name = "VCC3V3"; 102 + regulator-min-microvolt = <3300000>; 103 + regulator-max-microvolt = <3300000>; 104 + vin-supply = <&vddao_3v3>; 105 + regulator-boot-on; 106 + regulator-always-on; 107 + }; 108 + 109 + vcc_1v8: regulator-vcc-1v8 { 110 + compatible = "regulator-fixed"; 111 + regulator-name = "VCC1V8"; 112 + regulator-min-microvolt = <1800000>; 113 + regulator-max-microvolt = <1800000>; 114 + vin-supply = <&vcc_3v3>; 115 + regulator-boot-on; 116 + regulator-always-on; 117 + }; 118 + 119 + vdd_1v8: regulator-vdd-1v8 { 120 + compatible = "regulator-fixed"; 121 + regulator-name = "VDD1V8_BOOT"; 122 + regulator-min-microvolt = <1800000>; 123 + regulator-max-microvolt = <1800000>; 124 + vin-supply = <&vcc_3v3>; 125 + regulator-boot-on; 126 + regulator-always-on; 127 + }; 128 + 129 + vddio_b: regulator-vddio-3v3-b { 130 + compatible = "regulator-fixed"; 131 + regulator-name = "VDDIO_B"; 132 + regulator-min-microvolt = <3300000>; 133 + regulator-max-microvolt = <3300000>; 134 + vin-supply = <&vcc_3v3>; 135 + regulator-boot-on; 136 + regulator-always-on; 137 + }; 138 + 139 + sdcard: regulator-sdcard { 140 + compatible = "regulator-fixed"; 141 + regulator-name = "SDCARD_POWER"; 142 + regulator-min-microvolt = <3300000>; 143 + regulator-max-microvolt = <3300000>; 144 + vin-supply = <&vddao_3v3>; 145 + gpio = <&gpio GPIOA_4 GPIO_ACTIVE_LOW>; 146 + regulator-boot-on; 147 + regulator-always-on; 148 + }; 25 149 }; 26 150 27 151 &uart_b { 28 152 status = "okay"; 153 + }; 154 + 155 + &nand { 156 + status = "okay"; 157 + #address-cells = <1>; 158 + #size-cells = <0>; 159 + 160 + pinctrl-0 = <&nand_pins>; 161 + pinctrl-names = "default"; 162 + 163 + nand@0 { 164 + reg = <0>; 165 + #address-cells = <1>; 166 + #size-cells = <1>; 167 + nand-on-flash-bbt; 168 + 169 + partition@0 { 170 + label = "boot"; 171 + reg = <0x0 0x00200000>; 172 + }; 173 + partition@200000 { 174 + label = "env"; 175 + reg = <0x00200000 0x00400000>; 176 + }; 177 + partition@600000 { 178 + label = "system"; 179 + reg = <0x00600000 0x00a00000>; 180 + }; 181 + partition@1000000 { 182 + label = "rootfs"; 183 + reg = <0x01000000 0x03000000>; 184 + }; 185 + partition@4000000 { 186 + label = "media"; 187 + reg = <0x04000000 0x8000000>; 188 + }; 189 + }; 190 + }; 191 + 192 + &ethmac { 193 + status = "okay"; 194 + phy-handle = <&internal_ephy>; 195 + phy-mode = "rmii"; 196 + }; 197 + 198 + &spifc { 199 + #address-cells = <1>; 200 + #size-cells = <0>; 201 + 202 + pinctrl-0 = <&spifc_pins>; 203 + pinctrl-names = "default"; 204 + 205 + nand@0 { 206 + compatible = "spi-nand"; 207 + reg = <0>; 208 + spi-max-frequency = <83000000>; 209 + spi-tx-bus-width = <4>; 210 + spi-rx-bus-width = <4>; 211 + status = "disabled"; 212 + 213 + partitions { 214 + compatible = "fixed-partitions"; 215 + #address-cells = <1>; 216 + #size-cells = <1>; 217 + 218 + partition@0 { 219 + label = "boot"; 220 + reg = <0 0x200000>; 221 + }; 222 + 223 + partition@200000 { 224 + label = "env"; 225 + reg = <0x200000 0x400000>; 226 + }; 227 + 228 + partition@600000 { 229 + label = "system"; 230 + reg = <0x600000 0xa00000>; 231 + }; 232 + 233 + partition@1000000 { 234 + label = "rootfs"; 235 + reg = <0x1000000 0x3000000>; 236 + }; 237 + 238 + partition@4000000 { 239 + label = "data"; 240 + reg = <0x4000000 0x8000000>; 241 + }; 242 + }; 243 + }; 244 + }; 245 + 246 + &sd { 247 + status = "okay"; 248 + pinctrl-0 = <&sdcard_pins>; 249 + pinctrl-1 = <&sdcard_clk_gate_pins>; 250 + pinctrl-names = "default","clk-gate"; 251 + 252 + bus-width = <4>; 253 + cap-sd-highspeed; 254 + max-frequency = <50000000>; 255 + disable-wp; 256 + 257 + cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 258 + vmmc-supply = <&sdcard>; 259 + vqmmc-supply = <&sdcard>; 29 260 };
+260
arch/arm64/boot/dts/amlogic/amlogic-c3-c308l-aw419.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2024 Amlogic, Inc. All rights reserved. 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "amlogic-c3.dtsi" 9 + 10 + / { 11 + model = "Amlogic C308l aw419 Development Board"; 12 + compatible = "amlogic,aw419", "amlogic,c3"; 13 + interrupt-parent = <&gic>; 14 + #address-cells = <2>; 15 + #size-cells = <2>; 16 + 17 + aliases { 18 + serial0 = &uart_b; 19 + spi0 = &spifc; 20 + }; 21 + 22 + memory@0 { 23 + device_type = "memory"; 24 + reg = <0x0 0x0 0x0 0x80000000>; 25 + }; 26 + 27 + reserved-memory { 28 + #address-cells = <2>; 29 + #size-cells = <2>; 30 + ranges; 31 + 32 + /* 9 MiB reserved for ARM Trusted Firmware */ 33 + secmon_reserved: secmon@7f00000 { 34 + compatible = "shared-dma-pool"; 35 + reg = <0x0 0x07f00000 0x0 0x900000>; 36 + no-map; 37 + }; 38 + }; 39 + 40 + main_12v: regulator-main-12v { 41 + compatible = "regulator-fixed"; 42 + regulator-name = "12V"; 43 + regulator-min-microvolt = <12000000>; 44 + regulator-max-microvolt = <12000000>; 45 + regulator-boot-on; 46 + regulator-always-on; 47 + }; 48 + 49 + vcc_5v: regulator-vcc-5v { 50 + compatible = "regulator-fixed"; 51 + regulator-name = "VCC5V"; 52 + regulator-min-microvolt = <5000000>; 53 + regulator-max-microvolt = <5000000>; 54 + vin-supply = <&main_12v>; 55 + regulator-boot-on; 56 + regulator-always-on; 57 + }; 58 + 59 + vddq: regulator-vddq { 60 + compatible = "regulator-fixed"; 61 + regulator-name = "VDDQ"; 62 + regulator-min-microvolt = <1200000>; 63 + regulator-max-microvolt = <1200000>; 64 + vin-supply = <&main_12v>; 65 + regulator-boot-on; 66 + regulator-always-on; 67 + }; 68 + 69 + vddao_3v3: regulator-vddao-3v3 { 70 + compatible = "regulator-fixed"; 71 + regulator-name = "VDDAO3V3"; 72 + regulator-min-microvolt = <3300000>; 73 + regulator-max-microvolt = <3300000>; 74 + vin-supply = <&main_12v>; 75 + regulator-boot-on; 76 + regulator-always-on; 77 + }; 78 + 79 + vddao_1v8: regulator-vddao-1v8 { 80 + compatible = "regulator-fixed"; 81 + regulator-name = "VDDAO1V8"; 82 + regulator-min-microvolt = <1800000>; 83 + regulator-max-microvolt = <1800000>; 84 + vin-supply = <&vddao_3v3>; 85 + regulator-boot-on; 86 + regulator-always-on; 87 + }; 88 + 89 + ddr4_2v5: regulator-ddr4-2v5 { 90 + compatible = "regulator-fixed"; 91 + regulator-name = "DDR4_2V5"; 92 + regulator-min-microvolt = <2500000>; 93 + regulator-max-microvolt = <2500000>; 94 + vin-supply = <&vddao_3v3>; 95 + regulator-boot-on; 96 + regulator-always-on; 97 + }; 98 + 99 + vcc_3v3: regulator-vcc-3v3 { 100 + compatible = "regulator-fixed"; 101 + regulator-name = "VCC3V3"; 102 + regulator-min-microvolt = <3300000>; 103 + regulator-max-microvolt = <3300000>; 104 + vin-supply = <&vddao_3v3>; 105 + regulator-boot-on; 106 + regulator-always-on; 107 + }; 108 + 109 + vcc_1v8: regulator-vcc-1v8 { 110 + compatible = "regulator-fixed"; 111 + regulator-name = "VCC1V8"; 112 + regulator-min-microvolt = <1800000>; 113 + regulator-max-microvolt = <1800000>; 114 + vin-supply = <&vcc_3v3>; 115 + regulator-boot-on; 116 + regulator-always-on; 117 + }; 118 + 119 + vdd_1v8: regulator-vdd-1v8 { 120 + compatible = "regulator-fixed"; 121 + regulator-name = "VDD1V8_BOOT"; 122 + regulator-min-microvolt = <1800000>; 123 + regulator-max-microvolt = <1800000>; 124 + vin-supply = <&vcc_3v3>; 125 + regulator-boot-on; 126 + regulator-always-on; 127 + }; 128 + 129 + vddio_b: regulator-vddio-3v3-b { 130 + compatible = "regulator-fixed"; 131 + regulator-name = "VDDIO_B"; 132 + regulator-min-microvolt = <3300000>; 133 + regulator-max-microvolt = <3300000>; 134 + vin-supply = <&vcc_3v3>; 135 + regulator-boot-on; 136 + regulator-always-on; 137 + }; 138 + 139 + sdcard: regulator-sdcard { 140 + compatible = "regulator-fixed"; 141 + regulator-name = "SDCARD_POWER"; 142 + regulator-min-microvolt = <3300000>; 143 + regulator-max-microvolt = <3300000>; 144 + vin-supply = <&vddao_3v3>; 145 + gpio = <&gpio GPIOA_4 GPIO_ACTIVE_LOW>; 146 + regulator-boot-on; 147 + regulator-always-on; 148 + }; 149 + }; 150 + 151 + &uart_b { 152 + status = "okay"; 153 + }; 154 + 155 + &nand { 156 + status = "okay"; 157 + #address-cells = <1>; 158 + #size-cells = <0>; 159 + 160 + pinctrl-0 = <&nand_pins>; 161 + pinctrl-names = "default"; 162 + 163 + nand@0 { 164 + reg = <0>; 165 + #address-cells = <1>; 166 + #size-cells = <1>; 167 + nand-on-flash-bbt; 168 + 169 + partition@0 { 170 + label = "boot"; 171 + reg = <0x0 0x00200000>; 172 + }; 173 + partition@200000 { 174 + label = "env"; 175 + reg = <0x00200000 0x00400000>; 176 + }; 177 + partition@600000 { 178 + label = "system"; 179 + reg = <0x00600000 0x00a00000>; 180 + }; 181 + partition@1000000 { 182 + label = "rootfs"; 183 + reg = <0x01000000 0x03000000>; 184 + }; 185 + partition@4000000 { 186 + label = "media"; 187 + reg = <0x04000000 0x8000000>; 188 + }; 189 + }; 190 + }; 191 + 192 + &ethmac { 193 + status = "okay"; 194 + phy-handle = <&internal_ephy>; 195 + phy-mode = "rmii"; 196 + }; 197 + 198 + &spifc { 199 + #address-cells = <1>; 200 + #size-cells = <0>; 201 + 202 + pinctrl-0 = <&spifc_pins>; 203 + pinctrl-names = "default"; 204 + 205 + nand@0 { 206 + compatible = "spi-nand"; 207 + reg = <0>; 208 + spi-max-frequency = <83000000>; 209 + spi-tx-bus-width = <4>; 210 + spi-rx-bus-width = <4>; 211 + status = "disabled"; 212 + 213 + partitions { 214 + compatible = "fixed-partitions"; 215 + #address-cells = <1>; 216 + #size-cells = <1>; 217 + 218 + partition@0 { 219 + label = "boot"; 220 + reg = <0 0x200000>; 221 + }; 222 + 223 + partition@200000 { 224 + label = "env"; 225 + reg = <0x200000 0x400000>; 226 + }; 227 + 228 + partition@600000 { 229 + label = "system"; 230 + reg = <0x600000 0xa00000>; 231 + }; 232 + 233 + partition@1000000 { 234 + label = "rootfs"; 235 + reg = <0x1000000 0x3000000>; 236 + }; 237 + 238 + partition@4000000 { 239 + label = "data"; 240 + reg = <0x4000000 0x8000000>; 241 + }; 242 + }; 243 + }; 244 + }; 245 + 246 + &sd { 247 + status = "okay"; 248 + pinctrl-0 = <&sdcard_pins>; 249 + pinctrl-1 = <&sdcard_clk_gate_pins>; 250 + pinctrl-names = "default","clk-gate"; 251 + 252 + bus-width = <4>; 253 + cap-sd-highspeed; 254 + max-frequency = <50000000>; 255 + disable-wp; 256 + 257 + cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 258 + vmmc-supply = <&sdcard>; 259 + vqmmc-supply = <&sdcard>; 260 + };
+498 -5
arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
··· 7 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 8 #include <dt-bindings/gpio/gpio.h> 9 9 #include <dt-bindings/reset/amlogic,c3-reset.h> 10 + #include <dt-bindings/clock/amlogic,c3-pll-clkc.h> 11 + #include <dt-bindings/clock/amlogic,c3-scmi-clkc.h> 12 + #include <dt-bindings/clock/amlogic,c3-peripherals-clkc.h> 13 + #include <dt-bindings/power/amlogic,c3-pwrc.h> 14 + #include <dt-bindings/gpio/amlogic-c3-gpio.h> 10 15 11 16 / { 12 17 cpus { ··· 62 57 }; 63 58 }; 64 59 60 + sram@7f50e00 { 61 + compatible = "mmio-sram"; 62 + reg = <0x0 0x07f50e00 0x0 0x100>; 63 + #address-cells = <1>; 64 + #size-cells = <1>; 65 + ranges = <0 0x0 0x07f50e00 0x100>; 66 + 67 + scmi_shmem: sram@0 { 68 + compatible = "arm,scmi-shmem"; 69 + reg = <0x0 0x100>; 70 + }; 71 + }; 72 + 73 + firmware { 74 + scmi: scmi { 75 + compatible = "arm,scmi-smc"; 76 + arm,smc-id = <0x820000C1>; 77 + shmem = <&scmi_shmem>; 78 + #address-cells = <1>; 79 + #size-cells = <0>; 80 + 81 + scmi_clk: protocol@14 { 82 + reg = <0x14>; 83 + #clock-cells = <1>; 84 + }; 85 + }; 86 + }; 87 + 65 88 soc { 66 89 compatible = "simple-bus"; 67 90 #address-cells = <2>; ··· 115 82 #size-cells = <2>; 116 83 ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; 117 84 85 + clkc_periphs: clock-controller@0 { 86 + compatible = "amlogic,c3-peripherals-clkc"; 87 + reg = <0x0 0x0 0x0 0x49c>; 88 + #clock-cells = <1>; 89 + clocks = <&xtal>, 90 + <&scmi_clk CLKID_OSC>, 91 + <&scmi_clk CLKID_FIXED_PLL_OSC>, 92 + <&clkc_pll CLKID_FCLK_DIV2>, 93 + <&clkc_pll CLKID_FCLK_DIV2P5>, 94 + <&clkc_pll CLKID_FCLK_DIV3>, 95 + <&clkc_pll CLKID_FCLK_DIV4>, 96 + <&clkc_pll CLKID_FCLK_DIV5>, 97 + <&clkc_pll CLKID_FCLK_DIV7>, 98 + <&clkc_pll CLKID_GP0_PLL>, 99 + <&scmi_clk CLKID_GP1_PLL_OSC>, 100 + <&clkc_pll CLKID_HIFI_PLL>, 101 + <&scmi_clk CLKID_SYS_CLK>, 102 + <&scmi_clk CLKID_AXI_CLK>, 103 + <&scmi_clk CLKID_SYS_PLL_DIV16>, 104 + <&scmi_clk CLKID_CPU_CLK_DIV16>; 105 + clock-names = "xtal_24m", 106 + "oscin", 107 + "fix", 108 + "fdiv2", 109 + "fdiv2p5", 110 + "fdiv3", 111 + "fdiv4", 112 + "fdiv5", 113 + "fdiv7", 114 + "gp0", 115 + "gp1", 116 + "hifi", 117 + "sysclk", 118 + "axiclk", 119 + "sysplldiv16", 120 + "cpudiv16"; 121 + }; 122 + 118 123 reset: reset-controller@2000 { 119 124 compatible = "amlogic,c3-reset"; 120 125 reg = <0x0 0x2000 0x0 0x98>; ··· 169 98 compatible = "amlogic,c3-periphs-pinctrl"; 170 99 #address-cells = <2>; 171 100 #size-cells = <2>; 172 - ranges; 101 + ranges = <0x0 0x0 0x0 0x4000 0x0 0x02de>; 173 102 174 - gpio: bank@4000 { 175 - reg = <0x0 0x4000 0x0 0x004c>, 176 - <0x0 0x4100 0x0 0x01de>; 103 + gpio: bank@0 { 104 + reg = <0x0 0x0 0x0 0x004c>, 105 + <0x0 0x100 0x0 0x01de>; 177 106 reg-names = "mux", "gpio"; 178 107 gpio-controller; 179 108 #gpio-cells = <2>; 180 109 gpio-ranges = <&periphs_pinctrl 0 0 55>; 110 + }; 111 + 112 + i2c0_pins1: i2c0-pins1 { 113 + mux { 114 + groups = "i2c0_sda_e", 115 + "i2c0_scl_e"; 116 + function = "i2c0"; 117 + bias-disable; 118 + drive-strength-microamp = <3000>; 119 + }; 120 + }; 121 + 122 + i2c0_pins2: i2c0-pins2 { 123 + mux { 124 + groups = "i2c0_sda_d", 125 + "i2c0_scl_d"; 126 + function = "i2c0"; 127 + bias-disable; 128 + drive-strength-microamp = <3000>; 129 + }; 130 + }; 131 + 132 + i2c1_pins1: i2c1-pins1 { 133 + mux { 134 + groups = "i2c1_sda_x", 135 + "i2c1_scl_x"; 136 + function = "i2c1"; 137 + bias-disable; 138 + drive-strength-microamp = <3000>; 139 + }; 140 + }; 141 + 142 + i2c1_pins2: i2c1-pins2 { 143 + mux { 144 + groups = "i2c1_sda_d", 145 + "i2c1_scl_d"; 146 + function = "i2c1"; 147 + bias-disable; 148 + drive-strength-microamp = <3000>; 149 + }; 150 + }; 151 + 152 + i2c1_pins3: i2c1-pins3 { 153 + mux { 154 + groups = "i2c1_sda_a", 155 + "i2c1_scl_a"; 156 + function = "i2c1"; 157 + bias-disable; 158 + drive-strength-microamp = <3000>; 159 + }; 160 + }; 161 + 162 + i2c1_pins4: i2c1-pins4 { 163 + mux { 164 + groups = "i2c1_sda_b", 165 + "i2c1_scl_b"; 166 + function = "i2c1"; 167 + bias-disable; 168 + drive-strength-microamp = <3000>; 169 + }; 170 + }; 171 + 172 + i2c2_pins1: i2c2-pins1 { 173 + mux { 174 + groups = "i2c2_sda", 175 + "i2c2_scl"; 176 + function = "i2c2"; 177 + bias-disable; 178 + drive-strength-microamp = <3000>; 179 + }; 180 + }; 181 + 182 + i2c3_pins1: i2c3-pins1 { 183 + mux { 184 + groups = "i2c3_sda_c", 185 + "i2c3_scl_c"; 186 + function = "i2c3"; 187 + bias-disable; 188 + drive-strength-microamp = <3000>; 189 + }; 190 + }; 191 + 192 + i2c3_pins2: i2c3-pins2 { 193 + mux { 194 + groups = "i2c3_sda_x", 195 + "i2c3_scl_x"; 196 + function = "i2c3"; 197 + bias-disable; 198 + drive-strength-microamp = <3000>; 199 + }; 200 + }; 201 + 202 + i2c3_pins3: i2c3-pins3 { 203 + mux { 204 + groups = "i2c3_sda_d", 205 + "i2c3_scl_d"; 206 + function = "i2c3"; 207 + bias-disable; 208 + drive-strength-microamp = <3000>; 209 + }; 210 + }; 211 + 212 + nand_pins: nand-pins { 213 + mux { 214 + groups = "emmc_nand_d0", 215 + "emmc_nand_d1", 216 + "emmc_nand_d2", 217 + "emmc_nand_d3", 218 + "emmc_nand_d4", 219 + "emmc_nand_d5", 220 + "emmc_nand_d6", 221 + "emmc_nand_d7", 222 + "nand_ce0", 223 + "nand_ale", 224 + "nand_cle", 225 + "nand_wen_clk", 226 + "nand_ren_wr"; 227 + function = "nand"; 228 + input-enable; 229 + }; 230 + }; 231 + 232 + sdcard_pins: sdcard-pins { 233 + mux { 234 + groups = "sdcard_d0", 235 + "sdcard_d1", 236 + "sdcard_d2", 237 + "sdcard_d3", 238 + "sdcard_clk", 239 + "sdcard_cmd"; 240 + function = "sdcard"; 241 + bias-pull-up; 242 + drive-strength-microamp = <4000>; 243 + }; 244 + }; 245 + 246 + sdcard_clk_gate_pins: sdcard-clk-cmd-pins { 247 + mux { 248 + groups = "GPIOC_4"; 249 + function = "gpio_periphs"; 250 + bias-pull-down; 251 + drive-strength-microamp = <4000>; 252 + }; 253 + }; 254 + 255 + sdio_m_clk_gate_pins: sdio-m-clk-cmd-pins { 256 + mux { 257 + groups = "sdio_clk"; 258 + function = "sdio"; 259 + bias-pull-down; 260 + drive-strength-microamp = <4000>; 261 + }; 262 + }; 263 + 264 + sdio_m_pins: sdio-m-all-pins { 265 + mux { 266 + groups = "sdio_d0", 267 + "sdio_d1", 268 + "sdio_d2", 269 + "sdio_d3", 270 + "sdio_clk", 271 + "sdio_cmd"; 272 + function = "sdio"; 273 + input-enable; 274 + bias-pull-up; 275 + drive-strength-microamp = <4000>; 276 + }; 277 + }; 278 + 279 + spicc0_pins1: spicc0-pins1 { 280 + mux { 281 + groups = "spi_a_mosi_b", 282 + "spi_a_miso_b", 283 + "spi_a_clk_b"; 284 + function = "spi_a"; 285 + drive-strength-microamp = <3000>; 286 + }; 287 + }; 288 + 289 + spicc0_pins2: spicc0-pins2 { 290 + mux { 291 + groups = "spi_a_mosi_c", 292 + "spi_a_miso_c", 293 + "spi_a_clk_c"; 294 + function = "spi_a"; 295 + drive-strength-microamp = <3000>; 296 + }; 297 + }; 298 + 299 + spicc0_pins3: spicc0-pins3 { 300 + mux { 301 + groups = "spi_a_mosi_x", 302 + "spi_a_miso_x", 303 + "spi_a_clk_x"; 304 + function = "spi_a"; 305 + drive-strength-microamp = <3000>; 306 + }; 307 + }; 308 + 309 + spicc1_pins1: spicc1-pins1 { 310 + mux { 311 + groups = "spi_b_mosi_d", 312 + "spi_b_miso_d", 313 + "spi_b_clk_d"; 314 + function = "spi_b"; 315 + drive-strength-microamp = <3000>; 316 + }; 317 + }; 318 + 319 + spicc1_pins2: spicc1-pins2 { 320 + mux { 321 + groups = "spi_b_mosi_x", 322 + "spi_b_miso_x", 323 + "spi_b_clk_x"; 324 + function = "spi_b"; 325 + drive-strength-microamp = <3000>; 326 + }; 327 + }; 328 + 329 + spifc_pins: spifc-pins { 330 + mux { 331 + groups = "spif_mo", 332 + "spif_mi", 333 + "spif_clk", 334 + "spif_cs", 335 + "spif_hold", 336 + "spif_wp", 337 + "spif_clk_loop"; 338 + function = "spif"; 339 + drive-strength-microamp = <4000>; 340 + }; 181 341 }; 182 342 }; 183 343 ··· 421 119 <10 11 12 13 14 15 16 17 18 19 20 21>; 422 120 }; 423 121 122 + clkc_pll: clock-controller@8000 { 123 + compatible = "amlogic,c3-pll-clkc"; 124 + reg = <0x0 0x8000 0x0 0x1a4>; 125 + #clock-cells = <1>; 126 + clocks = <&scmi_clk CLKID_TOP_PLL_OSC>, 127 + <&scmi_clk CLKID_MCLK_PLL_OSC>, 128 + <&scmi_clk CLKID_FIXED_PLL_OSC>; 129 + clock-names = "top", 130 + "mclk", 131 + "fix"; 132 + }; 133 + 134 + eth_phy: mdio-multiplexer@28000 { 135 + compatible = "amlogic,g12a-mdio-mux"; 136 + reg = <0x0 0x28000 0x0 0xa4>; 137 + 138 + clocks = <&clkc_periphs CLKID_SYS_ETH_PHY>, 139 + <&xtal>, 140 + <&clkc_pll CLKID_FCLK_50M>; 141 + clock-names = "pclk", "clkin0", "clkin1"; 142 + mdio-parent-bus = <&mdio0>; 143 + #address-cells = <1>; 144 + #size-cells = <0>; 145 + 146 + ext_mdio: mdio@0 { 147 + reg = <0>; 148 + #address-cells = <1>; 149 + #size-cells = <0>; 150 + }; 151 + 152 + int_mdio: mdio@1 { 153 + reg = <1>; 154 + #address-cells = <1>; 155 + #size-cells = <0>; 156 + 157 + internal_ephy: ethernet_phy@8 { 158 + compatible = "ethernet-phy-id0180.3301", 159 + "ethernet-phy-ieee802.3-c22"; 160 + interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 161 + reg = <8>; 162 + max-speed = <100>; 163 + }; 164 + }; 165 + }; 166 + 167 + spicc0: spi@50000 { 168 + compatible = "amlogic,meson-g12a-spicc"; 169 + reg = <0x0 0x50000 0x0 0x44>; 170 + interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; 171 + clocks = <&clkc_periphs CLKID_SYS_SPICC_0>, 172 + <&clkc_periphs CLKID_SPICC_A>; 173 + clock-names = "core", "pclk"; 174 + #address-cells = <1>; 175 + #size-cells = <0>; 176 + status = "disabled"; 177 + }; 178 + 179 + spicc1: spi@52000 { 180 + compatible = "amlogic,meson-g12a-spicc"; 181 + reg = <0x0 0x52000 0x0 0x44>; 182 + interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 183 + clocks = <&clkc_periphs CLKID_SYS_SPICC_1>, 184 + <&clkc_periphs CLKID_SPICC_B>; 185 + clock-names = "core", "pclk"; 186 + #address-cells = <1>; 187 + #size-cells = <0>; 188 + status = "disabled"; 189 + }; 190 + 191 + spifc: spi@56000 { 192 + compatible = "amlogic,a1-spifc"; 193 + reg = <0x0 0x56000 0x0 0x290>; 194 + interrupts = <GIC_SPI 182 IRQ_TYPE_EDGE_RISING>; 195 + clocks = <&clkc_periphs CLKID_SPIFC>; 196 + clock-names = "core"; 197 + status = "disabled"; 198 + }; 199 + 200 + i2c0: i2c@66000 { 201 + compatible = "amlogic,meson-axg-i2c"; 202 + reg = <0x0 0x66000 0x0 0x24>; 203 + interrupts = <GIC_SPI 160 IRQ_TYPE_EDGE_RISING>; 204 + #address-cells = <1>; 205 + #size-cells = <0>; 206 + clocks = <&clkc_periphs CLKID_SYS_I2C_M_A>; 207 + status = "disabled"; 208 + }; 209 + 210 + i2c1: i2c@68000 { 211 + compatible = "amlogic,meson-axg-i2c"; 212 + reg = <0x0 0x68000 0x0 0x24>; 213 + interrupts = <GIC_SPI 161 IRQ_TYPE_EDGE_RISING>; 214 + #address-cells = <1>; 215 + #size-cells = <0>; 216 + clocks = <&clkc_periphs CLKID_SYS_I2C_M_B>; 217 + status = "disabled"; 218 + }; 219 + 220 + i2c2: i2c@6a000 { 221 + compatible = "amlogic,meson-axg-i2c"; 222 + reg = <0x0 0x6a000 0x0 0x24>; 223 + interrupts = <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>; 224 + #address-cells = <1>; 225 + #size-cells = <0>; 226 + clocks = <&clkc_periphs CLKID_SYS_I2C_M_C>; 227 + status = "disabled"; 228 + }; 229 + 230 + i2c3: i2c@6c000 { 231 + compatible = "amlogic,meson-axg-i2c"; 232 + reg = <0x0 0x6c000 0x0 0x24>; 233 + interrupts = <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>; 234 + #address-cells = <1>; 235 + #size-cells = <0>; 236 + clocks = <&clkc_periphs CLKID_SYS_I2C_M_D>; 237 + status = "disabled"; 238 + }; 239 + 424 240 uart_b: serial@7a000 { 425 241 compatible = "amlogic,meson-s4-uart", 426 242 "amlogic,meson-ao-uart"; 427 243 reg = <0x0 0x7a000 0x0 0x18>; 428 244 interrupts = <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>; 429 245 status = "disabled"; 430 - clocks = <&xtal>, <&xtal>, <&xtal>; 246 + clocks = <&xtal>, <&clkc_periphs CLKID_SYS_UART_B>, <&xtal>; 431 247 clock-names = "xtal", "pclk", "baud"; 432 248 }; 433 249 250 + sec_ao: ao-secure@10220 { 251 + compatible = "amlogic,c3-ao-secure", 252 + "amlogic,meson-gx-ao-secure", 253 + "syscon"; 254 + reg = <0x0 0x10220 0x0 0x140>; 255 + amlogic,has-chip-id; 256 + }; 257 + 258 + sdio: mmc@88000 { 259 + compatible = "amlogic,meson-axg-mmc"; 260 + reg = <0x0 0x88000 0x0 0x800>; 261 + interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>; 262 + power-domains = <&pwrc PWRC_C3_SDIOA_ID>; 263 + clocks = <&clkc_periphs CLKID_SYS_SD_EMMC_A>, 264 + <&clkc_periphs CLKID_SD_EMMC_A>, 265 + <&clkc_pll CLKID_FCLK_DIV2>; 266 + clock-names = "core","clkin0", "clkin1"; 267 + no-mmc; 268 + no-sd; 269 + resets = <&reset RESET_SD_EMMC_A>; 270 + status = "disabled"; 271 + }; 272 + 273 + sd: mmc@8a000 { 274 + compatible = "amlogic,meson-axg-mmc"; 275 + reg = <0x0 0x8a000 0x0 0x800>; 276 + interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>; 277 + power-domains = <&pwrc PWRC_C3_SDCARD_ID>; 278 + clocks = <&clkc_periphs CLKID_SYS_SD_EMMC_B>, 279 + <&clkc_periphs CLKID_SD_EMMC_B>, 280 + <&clkc_pll CLKID_FCLK_DIV2>; 281 + clock-names = "core", "clkin0", "clkin1"; 282 + no-mmc; 283 + no-sdio; 284 + resets = <&reset RESET_SD_EMMC_B>; 285 + status = "disabled"; 286 + }; 287 + 288 + nand: nand-controller@8d000 { 289 + compatible = "amlogic,meson-axg-nfc"; 290 + reg = <0x0 0x8d000 0x0 0x200>, 291 + <0x0 0x8C000 0x0 0x4>; 292 + reg-names = "nfc", "emmc"; 293 + interrupts = <GIC_SPI 87 IRQ_TYPE_EDGE_RISING>; 294 + clocks = <&clkc_periphs CLKID_SYS_SD_EMMC_C>, 295 + <&clkc_pll CLKID_FCLK_DIV2>; 296 + clock-names = "core", "device"; 297 + status = "disabled"; 298 + }; 299 + }; 300 + 301 + ethmac: ethernet@fdc00000 { 302 + compatible = "amlogic,meson-g12a-dwmac", 303 + "snps,dwmac-3.70a", 304 + "snps,dwmac"; 305 + reg = <0x0 0xfdc00000 0x0 0x10000>, 306 + <0x0 0xfe024000 0x0 0x8>; 307 + interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 308 + interrupt-names = "macirq"; 309 + power-domains = <&pwrc PWRC_C3_ETH_ID>; 310 + clocks = <&clkc_periphs CLKID_SYS_ETH_MAC>, 311 + <&clkc_pll CLKID_FCLK_DIV2>, 312 + <&clkc_pll CLKID_FCLK_50M>; 313 + clock-names = "stmmaceth", "clkin0", "clkin1"; 314 + rx-fifo-depth = <4096>; 315 + tx-fifo-depth = <2048>; 316 + status = "disabled"; 317 + 318 + mdio0: mdio { 319 + compatible = "snps,dwmac-mdio"; 320 + #address-cells = <1>; 321 + #size-cells = <0>; 322 + }; 434 323 }; 435 324 }; 436 325 };
+8
arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi
··· 194 194 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 195 195 status = "disabled"; 196 196 }; 197 + 198 + sec_ao: ao-secure@10220 { 199 + compatible = "amlogic,t7-ao-secure", 200 + "amlogic,meson-gx-ao-secure", 201 + "syscon"; 202 + reg = <0x0 0x10220 0x0 0x140>; 203 + amlogic,has-chip-id; 204 + }; 197 205 }; 198 206 199 207 };
+4
arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
··· 268 268 "Speaker1 Right", "SPK1 OUT_D", 269 269 "Linein AINL", "Linein", 270 270 "Linein AINR", "Linein"; 271 + clocks = <&clkc CLKID_HIFI_PLL>, 272 + <&clkc CLKID_MPLL0>, 273 + <&clkc CLKID_MPLL1>; 274 + 271 275 assigned-clocks = <&clkc CLKID_HIFI_PLL>, 272 276 <&clkc CLKID_MPLL0>, 273 277 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts
··· 176 176 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 177 177 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 178 178 179 + clocks = <&clkc CLKID_MPLL2>, 180 + <&clkc CLKID_MPLL0>, 181 + <&clkc CLKID_MPLL1>; 182 + 179 183 assigned-clocks = <&clkc CLKID_MPLL2>, 180 184 <&clkc CLKID_MPLL0>, 181 185 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
··· 138 138 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 139 139 "TDM_B Playback", "TDMOUT_B OUT"; 140 140 141 + clocks = <&clkc CLKID_MPLL2>, 142 + <&clkc CLKID_MPLL0>, 143 + <&clkc CLKID_MPLL1>; 144 + 141 145 assigned-clocks = <&clkc CLKID_MPLL2>, 142 146 <&clkc CLKID_MPLL0>, 143 147 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts
··· 201 201 "TODDR_B IN 1", "TDMIN_B OUT", 202 202 "TODDR_C IN 1", "TDMIN_B OUT"; 203 203 204 + clocks = <&clkc CLKID_MPLL2>, 205 + <&clkc CLKID_MPLL0>, 206 + <&clkc CLKID_MPLL1>; 207 + 204 208 assigned-clocks = <&clkc CLKID_MPLL2>, 205 209 <&clkc CLKID_MPLL0>, 206 210 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
··· 238 238 "Lineout", "10U2 OUTL", 239 239 "Lineout", "10U2 OUTR"; 240 240 241 + clocks = <&clkc CLKID_MPLL2>, 242 + <&clkc CLKID_MPLL0>, 243 + <&clkc CLKID_MPLL1>; 244 + 241 245 assigned-clocks = <&clkc CLKID_MPLL2>, 242 246 <&clkc CLKID_MPLL0>, 243 247 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
··· 158 158 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 159 159 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 160 160 161 + clocks = <&clkc CLKID_MPLL2>, 162 + <&clkc CLKID_MPLL0>, 163 + <&clkc CLKID_MPLL1>; 164 + 161 165 assigned-clocks = <&clkc CLKID_MPLL2>, 162 166 <&clkc CLKID_MPLL0>, 163 167 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts
··· 70 70 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 71 71 "TDM_B Playback", "TDMOUT_B OUT"; 72 72 73 + clocks = <&clkc CLKID_MPLL2>, 74 + <&clkc CLKID_MPLL0>, 75 + <&clkc CLKID_MPLL1>; 76 + 73 77 assigned-clocks = <&clkc CLKID_MPLL2>, 74 78 <&clkc CLKID_MPLL0>, 75 79 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-mnt-reform2.dts
··· 79 79 "LINPUT1", "Mic Jack", 80 80 "Mic Jack", "MICB"; 81 81 82 + clocks = <&clkc CLKID_MPLL2>, 83 + <&clkc CLKID_MPLL0>, 84 + <&clkc CLKID_MPLL1>; 85 + 82 86 assigned-clocks = <&clkc CLKID_MPLL2>, 83 87 <&clkc CLKID_MPLL0>, 84 88 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi
··· 194 194 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 195 195 "TDM_B Playback", "TDMOUT_B OUT"; 196 196 197 + clocks = <&clkc CLKID_MPLL2>, 198 + <&clkc CLKID_MPLL0>, 199 + <&clkc CLKID_MPLL1>; 200 + 197 201 assigned-clocks = <&clkc CLKID_MPLL2>, 198 202 <&clkc CLKID_MPLL0>, 199 203 <&clkc CLKID_MPLL1>;
+6
arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi
··· 38 38 "SPDIFOUT_A IN 0", "FRDDR_A OUT 3", 39 39 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 40 40 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 41 + 42 + clocks = <&clkc CLKID_MPLL2>, 43 + <&clkc CLKID_MPLL0>, 44 + <&clkc CLKID_MPLL1>; 45 + 46 + 41 47 assigned-clocks = <&clkc CLKID_MPLL2>, 42 48 <&clkc CLKID_MPLL0>, 43 49 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
··· 48 48 "TDMOUT_A IN 2", "FRDDR_C OUT 1", 49 49 "TDM_A Playback", "TDMOUT_A OUT"; 50 50 51 + clocks = <&clkc CLKID_MPLL2>, 52 + <&clkc CLKID_MPLL0>, 53 + <&clkc CLKID_MPLL1>; 54 + 51 55 assigned-clocks = <&clkc CLKID_MPLL2>, 52 56 <&clkc CLKID_MPLL0>, 53 57 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
··· 49 49 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 50 50 "TDM_B Playback", "TDMOUT_B OUT"; 51 51 52 + clocks = <&clkc CLKID_MPLL2>, 53 + <&clkc CLKID_MPLL0>, 54 + <&clkc CLKID_MPLL1>; 55 + 52 56 assigned-clocks = <&clkc CLKID_MPLL2>, 53 57 <&clkc CLKID_MPLL0>, 54 58 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
··· 37 37 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 38 38 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 39 39 40 + clocks = <&clkc CLKID_MPLL2>, 41 + <&clkc CLKID_MPLL0>, 42 + <&clkc CLKID_MPLL1>; 43 + 40 44 assigned-clocks = <&clkc CLKID_MPLL2>, 41 45 <&clkc CLKID_MPLL0>, 42 46 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
··· 234 234 "Internal Speakers", "Speaker Amplifier OUTL", 235 235 "Internal Speakers", "Speaker Amplifier OUTR"; 236 236 237 + clocks = <&clkc CLKID_MPLL2>, 238 + <&clkc CLKID_MPLL0>, 239 + <&clkc CLKID_MPLL1>; 240 + 237 241 assigned-clocks = <&clkc CLKID_MPLL2>, 238 242 <&clkc CLKID_MPLL0>, 239 243 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
··· 95 95 "Lineout", "U19 OUTL", 96 96 "Lineout", "U19 OUTR"; 97 97 98 + clocks = <&clkc CLKID_MPLL2>, 99 + <&clkc CLKID_MPLL0>, 100 + <&clkc CLKID_MPLL1>; 101 + 98 102 assigned-clocks = <&clkc CLKID_MPLL2>, 99 103 <&clkc CLKID_MPLL0>, 100 104 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2l.dts
··· 39 39 "TODDR_B IN 6", "TDMIN_LB OUT", 40 40 "TODDR_C IN 6", "TDMIN_LB OUT"; 41 41 42 + clocks = <&clkc CLKID_MPLL2>, 43 + <&clkc CLKID_MPLL0>, 44 + <&clkc CLKID_MPLL1>; 45 + 42 46 assigned-clocks = <&clkc CLKID_MPLL2>, 43 47 <&clkc CLKID_MPLL0>, 44 48 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
··· 176 176 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 177 177 "TDM_B Playback", "TDMOUT_B OUT"; 178 178 179 + clocks = <&clkc CLKID_MPLL2>, 180 + <&clkc CLKID_MPLL0>, 181 + <&clkc CLKID_MPLL1>; 182 + 179 183 assigned-clocks = <&clkc CLKID_MPLL2>, 180 184 <&clkc CLKID_MPLL0>, 181 185 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts
··· 32 32 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 33 33 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 34 34 35 + clocks = <&clkc CLKID_MPLL2>, 36 + <&clkc CLKID_MPLL0>, 37 + <&clkc CLKID_MPLL1>; 38 + 35 39 assigned-clocks = <&clkc CLKID_MPLL2>, 36 40 <&clkc CLKID_MPLL0>, 37 41 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi
··· 194 194 "AU2 INR", "ACODEC LORN", 195 195 "7J4-14 LEFT", "AU2 OUTL", 196 196 "7J4-11 RIGHT", "AU2 OUTR"; 197 + clocks = <&clkc CLKID_MPLL0>, 198 + <&clkc CLKID_MPLL1>, 199 + <&clkc CLKID_MPLL2>; 200 + 197 201 assigned-clocks = <&clkc CLKID_MPLL0>, 198 202 <&clkc CLKID_MPLL1>, 199 203 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
··· 129 129 "AU2 INR", "ACODEC LORN", 130 130 "Lineout", "AU2 OUTL", 131 131 "Lineout", "AU2 OUTR"; 132 + clocks = <&clkc CLKID_MPLL0>, 133 + <&clkc CLKID_MPLL1>, 134 + <&clkc CLKID_MPLL2>; 135 + 132 136 assigned-clocks = <&clkc CLKID_MPLL0>, 133 137 <&clkc CLKID_MPLL1>, 134 138 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
··· 45 45 sound { 46 46 compatible = "amlogic,gx-sound-card"; 47 47 model = "KII-PRO"; 48 + clocks = <&clkc CLKID_MPLL0>, 49 + <&clkc CLKID_MPLL1>, 50 + <&clkc CLKID_MPLL2>; 51 + 48 52 assigned-clocks = <&clkc CLKID_MPLL0>, 49 53 <&clkc CLKID_MPLL1>, 50 54 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
··· 135 135 sound { 136 136 compatible = "amlogic,gx-sound-card"; 137 137 model = "NANOPI-K2"; 138 + clocks = <&clkc CLKID_MPLL0>, 139 + <&clkc CLKID_MPLL1>, 140 + <&clkc CLKID_MPLL2>; 141 + 138 142 assigned-clocks = <&clkc CLKID_MPLL0>, 139 143 <&clkc CLKID_MPLL1>, 140 144 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
··· 142 142 sound { 143 143 compatible = "amlogic,gx-sound-card"; 144 144 model = "NEXBOX-A95X"; 145 + clocks = <&clkc CLKID_MPLL0>, 146 + <&clkc CLKID_MPLL1>, 147 + <&clkc CLKID_MPLL2>; 148 + 145 149 assigned-clocks = <&clkc CLKID_MPLL0>, 146 150 <&clkc CLKID_MPLL1>, 147 151 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
··· 177 177 sound { 178 178 compatible = "amlogic,gx-sound-card"; 179 179 model = "ODROID-C2"; 180 + clocks = <&clkc CLKID_MPLL0>, 181 + <&clkc CLKID_MPLL1>, 182 + <&clkc CLKID_MPLL2>; 183 + 180 184 assigned-clocks = <&clkc CLKID_MPLL0>, 181 185 <&clkc CLKID_MPLL1>, 182 186 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
··· 68 68 sound { 69 69 compatible = "amlogic,gx-sound-card"; 70 70 model = "P200"; 71 + clocks = <&clkc CLKID_MPLL0>, 72 + <&clkc CLKID_MPLL1>, 73 + <&clkc CLKID_MPLL2>; 74 + 71 75 assigned-clocks = <&clkc CLKID_MPLL0>, 72 76 <&clkc CLKID_MPLL1>, 73 77 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts
··· 17 17 sound { 18 18 compatible = "amlogic,gx-sound-card"; 19 19 model = "P201"; 20 + clocks = <&clkc CLKID_MPLL0>, 21 + <&clkc CLKID_MPLL1>, 22 + <&clkc CLKID_MPLL2>; 23 + 20 24 assigned-clocks = <&clkc CLKID_MPLL0>, 21 25 <&clkc CLKID_MPLL1>, 22 26 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
··· 108 108 sound { 109 109 compatible = "amlogic,gx-sound-card"; 110 110 model = "VEGA-S95"; 111 + clocks = <&clkc CLKID_MPLL0>, 112 + <&clkc CLKID_MPLL1>, 113 + <&clkc CLKID_MPLL2>; 114 + 111 115 assigned-clocks = <&clkc CLKID_MPLL0>, 112 116 <&clkc CLKID_MPLL1>, 113 117 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts
··· 16 16 sound { 17 17 compatible = "amlogic,gx-sound-card"; 18 18 model = "WETEK-HUB"; 19 + clocks = <&clkc CLKID_MPLL0>, 20 + <&clkc CLKID_MPLL1>, 21 + <&clkc CLKID_MPLL2>; 22 + 19 23 assigned-clocks = <&clkc CLKID_MPLL0>, 20 24 <&clkc CLKID_MPLL1>, 21 25 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts
··· 48 48 sound { 49 49 compatible = "amlogic,gx-sound-card"; 50 50 model = "WETEK-PLAY2"; 51 + clocks = <&clkc CLKID_MPLL0>, 52 + <&clkc CLKID_MPLL1>, 53 + <&clkc CLKID_MPLL2>; 54 + 51 55 assigned-clocks = <&clkc CLKID_MPLL0>, 52 56 <&clkc CLKID_MPLL1>, 53 57 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts
··· 123 123 "Speaker", "9J5-2 RIGHT"; 124 124 audio-routing = "9J5-3 LEFT", "ACODEC LOLN", 125 125 "9J5-2 RIGHT", "ACODEC LORN"; 126 + clocks = <&clkc CLKID_MPLL0>, 127 + <&clkc CLKID_MPLL1>, 128 + <&clkc CLKID_MPLL2>; 129 + 126 130 assigned-clocks = <&clkc CLKID_MPLL0>, 127 131 <&clkc CLKID_MPLL1>, 128 132 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
··· 128 128 "AU2 INR", "ACODEC LORN", 129 129 "Lineout", "AU2 OUTL", 130 130 "Lineout", "AU2 OUTR"; 131 + clocks = <&clkc CLKID_MPLL0>, 132 + <&clkc CLKID_MPLL1>, 133 + <&clkc CLKID_MPLL2>; 134 + 131 135 assigned-clocks = <&clkc CLKID_MPLL0>, 132 136 <&clkc CLKID_MPLL1>, 133 137 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
··· 67 67 sound { 68 68 compatible = "amlogic,gx-sound-card"; 69 69 model = "KHADAS-VIM"; 70 + clocks = <&clkc CLKID_MPLL0>, 71 + <&clkc CLKID_MPLL1>, 72 + <&clkc CLKID_MPLL2>; 73 + 70 74 assigned-clocks = <&clkc CLKID_MPLL0>, 71 75 <&clkc CLKID_MPLL1>, 72 76 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts
··· 160 160 sound { 161 161 compatible = "amlogic,gx-sound-card"; 162 162 model = "LIBRETECH-CC-V2"; 163 + clocks = <&clkc CLKID_MPLL0>, 164 + <&clkc CLKID_MPLL1>, 165 + <&clkc CLKID_MPLL2>; 166 + 163 167 assigned-clocks = <&clkc CLKID_MPLL0>, 164 168 <&clkc CLKID_MPLL1>, 165 169 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
··· 142 142 "AU2 INR", "ACODEC LORN", 143 143 "Lineout", "AU2 OUTL", 144 144 "Lineout", "AU2 OUTR"; 145 + clocks = <&clkc CLKID_MPLL0>, 146 + <&clkc CLKID_MPLL1>, 147 + <&clkc CLKID_MPLL2>; 148 + 145 149 assigned-clocks = <&clkc CLKID_MPLL0>, 146 150 <&clkc CLKID_MPLL1>, 147 151 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
··· 50 50 "AU2 INR", "ACODEC LORN", 51 51 "Lineout", "AU2 OUTL", 52 52 "Lineout", "AU2 OUTR"; 53 + clocks = <&clkc CLKID_MPLL0>, 54 + <&clkc CLKID_MPLL1>, 55 + <&clkc CLKID_MPLL2>; 56 + 53 57 assigned-clocks = <&clkc CLKID_MPLL0>, 54 58 <&clkc CLKID_MPLL1>, 55 59 <&clkc CLKID_MPLL2>;
+5
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-vero4k.dts
··· 90 90 "AU2 INR", "ACODEC LORN", 91 91 "Lineout", "AU2 OUTL", 92 92 "Lineout", "AU2 OUTR"; 93 + 94 + clocks = <&clkc CLKID_MPLL0>, 95 + <&clkc CLKID_MPLL1>, 96 + <&clkc CLKID_MPLL2>; 97 + 93 98 assigned-clocks = <&clkc CLKID_MPLL0>, 94 99 <&clkc CLKID_MPLL1>, 95 100 <&clkc CLKID_MPLL2>;
-4
arch/arm64/boot/dts/amlogic/meson-gxlx-s905l-p271.dts
··· 38 38 }; 39 39 }; 40 40 41 - &saradc { 42 - compatible = "amlogic,meson-gxlx-saradc", "amlogic,meson-saradc"; 43 - }; 44 - 45 41 &usb { 46 42 dr_mode = "host"; 47 43 };
+4
arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
··· 150 150 sound { 151 151 compatible = "amlogic,gx-sound-card"; 152 152 model = "KHADAS-VIM2"; 153 + clocks = <&clkc CLKID_MPLL0>, 154 + <&clkc CLKID_MPLL1>, 155 + <&clkc CLKID_MPLL2>; 156 + 153 157 assigned-clocks = <&clkc CLKID_MPLL0>, 154 158 <&clkc CLKID_MPLL1>, 155 159 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
··· 86 86 sound { 87 87 compatible = "amlogic,gx-sound-card"; 88 88 model = "NEXBOX-A1"; 89 + clocks = <&clkc CLKID_MPLL0>, 90 + <&clkc CLKID_MPLL1>, 91 + <&clkc CLKID_MPLL2>; 92 + 89 93 assigned-clocks = <&clkc CLKID_MPLL0>, 90 94 <&clkc CLKID_MPLL1>, 91 95 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
··· 101 101 sound { 102 102 compatible = "amlogic,gx-sound-card"; 103 103 model = "RBOX-PRO"; 104 + clocks = <&clkc CLKID_MPLL0>, 105 + <&clkc CLKID_MPLL1>, 106 + <&clkc CLKID_MPLL2>; 107 + 104 108 assigned-clocks = <&clkc CLKID_MPLL0>, 105 109 <&clkc CLKID_MPLL1>, 106 110 <&clkc CLKID_MPLL2>;
+4
arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi
··· 182 182 "TODDR_B IN 0", "TDMIN_A OUT", 183 183 "TODDR_C IN 0", "TDMIN_A OUT"; 184 184 185 + clocks = <&clkc CLKID_MPLL2>, 186 + <&clkc CLKID_MPLL0>, 187 + <&clkc CLKID_MPLL1>; 188 + 185 189 assigned-clocks = <&clkc CLKID_MPLL2>, 186 190 <&clkc CLKID_MPLL0>, 187 191 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-libretech-cottonwood.dtsi
··· 200 200 <&tdmin_a>, <&tdmin_b>, <&tdmin_c>, 201 201 <&dioo2133>; 202 202 203 + clocks = <&clkc CLKID_MPLL2>, 204 + <&clkc CLKID_MPLL0>, 205 + <&clkc CLKID_MPLL1>; 206 + 203 207 assigned-clocks = <&clkc CLKID_MPLL2>, 204 208 <&clkc CLKID_MPLL0>, 205 209 <&clkc CLKID_MPLL1>;
+145
arch/arm64/boot/dts/amlogic/meson-s4-s805x2-aq222.dts
··· 34 34 no-map; 35 35 }; 36 36 }; 37 + 38 + sdio_32k: sdio-32k { 39 + compatible = "pwm-clock"; 40 + #clock-cells = <0>; 41 + clock-frequency = <32768>; 42 + pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 43 + }; 44 + 45 + sdio_pwrseq: sdio-pwrseq { 46 + compatible = "mmc-pwrseq-simple"; 47 + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 48 + clocks = <&sdio_32k>; 49 + clock-names = "ext_clock"; 50 + }; 51 + 52 + main_12v: regulator-main-12v { 53 + compatible = "regulator-fixed"; 54 + regulator-name = "12V"; 55 + regulator-min-microvolt = <12000000>; 56 + regulator-max-microvolt = <12000000>; 57 + regulator-always-on; 58 + }; 59 + 60 + vddao_3v3: regulator-vddao-3v3 { 61 + compatible = "regulator-fixed"; 62 + regulator-name = "VDDAO_3V3"; 63 + regulator-min-microvolt = <3300000>; 64 + regulator-max-microvolt = <3300000>; 65 + vin-supply = <&main_12v>; 66 + regulator-always-on; 67 + }; 68 + 69 + vddio_ao1v8: regulator-vddio-ao1v8 { 70 + compatible = "regulator-fixed"; 71 + regulator-name = "VDDIO_AO1V8"; 72 + regulator-min-microvolt = <1800000>; 73 + regulator-max-microvolt = <1800000>; 74 + vin-supply = <&vddao_3v3>; 75 + regulator-always-on; 76 + }; 77 + 78 + /* SY8120B1ABC DC/DC Regulator. */ 79 + vddcpu: regulator-vddcpu { 80 + compatible = "pwm-regulator"; 81 + 82 + regulator-name = "VDDCPU"; 83 + regulator-min-microvolt = <689000>; 84 + regulator-max-microvolt = <1049000>; 85 + 86 + vin-supply = <&main_12v>; 87 + 88 + pwms = <&pwm_ij 1 1500 0>; 89 + pwm-dutycycle-range = <100 0>; 90 + 91 + regulator-boot-on; 92 + regulator-always-on; 93 + /* Voltage Duty-Cycle */ 94 + voltage-table = <1049000 0>, 95 + <1039000 3>, 96 + <1029000 6>, 97 + <1019000 9>, 98 + <1009000 12>, 99 + <999000 14>, 100 + <989000 17>, 101 + <979000 20>, 102 + <969000 23>, 103 + <959000 26>, 104 + <949000 29>, 105 + <939000 31>, 106 + <929000 34>, 107 + <919000 37>, 108 + <909000 40>, 109 + <899000 43>, 110 + <889000 45>, 111 + <879000 48>, 112 + <869000 51>, 113 + <859000 54>, 114 + <849000 56>, 115 + <839000 59>, 116 + <829000 62>, 117 + <819000 65>, 118 + <809000 68>, 119 + <799000 70>, 120 + <789000 73>, 121 + <779000 76>, 122 + <769000 79>, 123 + <759000 81>, 124 + <749000 84>, 125 + <739000 87>, 126 + <729000 89>, 127 + <719000 92>, 128 + <709000 95>, 129 + <699000 98>, 130 + <689000 100>; 131 + }; 132 + }; 133 + 134 + &pwm_ef { 135 + status = "okay"; 136 + pinctrl-0 = <&pwm_e_pins1>; 137 + pinctrl-names = "default"; 138 + }; 139 + 140 + &pwm_ij { 141 + status = "okay"; 37 142 }; 38 143 39 144 &uart_b { ··· 149 44 status = "okay"; 150 45 pinctrl-0 = <&remote_pins>; 151 46 pinctrl-names = "default"; 47 + }; 48 + 49 + &sdio { 50 + pinctrl-0 = <&sdio_pins>; 51 + pinctrl-1 = <&sdio_clk_gate_pins>; 52 + pinctrl-names = "default", "clk-gate"; 53 + #address-cells = <1>; 54 + #size-cells = <0>; 55 + bus-width = <4>; 56 + cap-sd-highspeed; 57 + sd-uhs-sdr50; 58 + sd-uhs-sdr104; 59 + max-frequency = <200000000>; 60 + non-removable; 61 + disable-wp; 62 + no-sd; 63 + no-mmc; 64 + vmmc-supply = <&vddao_3v3>; 65 + vqmmc-supply = <&vddio_ao1v8>; 66 + }; 67 + 68 + &sd { 69 + status = "okay"; 70 + pinctrl-0 = <&sdcard_pins>; 71 + pinctrl-1 = <&sdcard_clk_gate_pins>; 72 + pinctrl-names = "default", "clk-gate"; 73 + bus-width = <4>; 74 + cap-sd-highspeed; 75 + max-frequency = <200000000>; 76 + disable-wp; 77 + 78 + cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 79 + vmmc-supply = <&vddao_3v3>; 80 + vqmmc-supply = <&vddao_3v3>; 152 81 }; 153 82 154 83 &nand { ··· 228 89 pinctrl-names = "default"; 229 90 pinctrl-0 = <&spicc0_pins_x>; 230 91 cs-gpios = <&gpio GPIOX_10 GPIO_ACTIVE_LOW>; 92 + }; 93 + 94 + &ethmac { 95 + status = "okay"; 96 + phy-handle = <&internal_ephy>; 97 + phy-mode = "rmii"; 231 98 };
+136
arch/arm64/boot/dts/amlogic/meson-s4.dtsi
··· 10 10 #include <dt-bindings/clock/amlogic,s4-pll-clkc.h> 11 11 #include <dt-bindings/clock/amlogic,s4-peripherals-clkc.h> 12 12 #include <dt-bindings/power/meson-s4-power.h> 13 + #include <dt-bindings/reset/amlogic,meson-s4-reset.h> 13 14 14 15 / { 15 16 cpus { ··· 467 466 }; 468 467 }; 469 468 469 + sdcard_pins: sdcard-pins { 470 + mux { 471 + groups = "sdcard_d0_c", 472 + "sdcard_d1_c", 473 + "sdcard_d2_c", 474 + "sdcard_d3_c", 475 + "sdcard_clk_c", 476 + "sdcard_cmd_c"; 477 + function = "sdcard"; 478 + bias-pull-up; 479 + drive-strength-microamp = <4000>; 480 + }; 481 + }; 482 + 483 + sdcard_clk_gate_pins: sdcard-clk-gate-pins { 484 + mux { 485 + groups = "GPIOC_4"; 486 + function = "gpio_periphs"; 487 + bias-pull-down; 488 + drive-strength-microamp = <4000>; 489 + }; 490 + }; 491 + 492 + emmc_pins: emmc-pins { 493 + mux-0 { 494 + groups = "emmc_nand_d0", 495 + "emmc_nand_d1", 496 + "emmc_nand_d2", 497 + "emmc_nand_d3", 498 + "emmc_nand_d4", 499 + "emmc_nand_d5", 500 + "emmc_nand_d6", 501 + "emmc_nand_d7", 502 + "emmc_cmd"; 503 + function = "emmc"; 504 + bias-pull-up; 505 + drive-strength-microamp = <4000>; 506 + }; 507 + mux-1 { 508 + groups = "emmc_clk"; 509 + function = "emmc"; 510 + bias-pull-up; 511 + drive-strength-microamp = <4000>; 512 + }; 513 + }; 514 + 515 + emmc_ds_pins: emmc-ds-pins { 516 + mux { 517 + groups = "emmc_nand_ds"; 518 + function = "emmc"; 519 + bias-pull-down; 520 + drive-strength-microamp = <4000>; 521 + }; 522 + }; 523 + 524 + emmc_clk_gate_pins: emmc-clk-gate-pins { 525 + mux { 526 + groups = "GPIOB_8"; 527 + function = "gpio_periphs"; 528 + bias-pull-down; 529 + drive-strength-microamp = <4000>; 530 + }; 531 + }; 532 + 533 + sdio_pins: sdio-pins { 534 + mux { 535 + groups = "sdio_d0", 536 + "sdio_d1", 537 + "sdio_d2", 538 + "sdio_d3", 539 + "sdio_clk", 540 + "sdio_cmd"; 541 + function = "sdio"; 542 + bias-pull-up; 543 + drive-strength-microamp = <4000>; 544 + }; 545 + }; 546 + 547 + sdio_clk_gate_pins: sdio-clk-gate-pins { 548 + mux { 549 + groups = "GPIOX_4"; 550 + function = "gpio_periphs"; 551 + bias-pull-down; 552 + drive-strength-microamp = <4000>; 553 + }; 554 + }; 555 + 470 556 spicc0_pins_x: spicc0-pins_x { 471 557 mux { 472 558 groups = "spi_a_mosi_x", ··· 763 675 #reset-cells = <1>; 764 676 }; 765 677 678 + sec_ao: ao-secure@10220 { 679 + compatible = "amlogic,s4-ao-secure", 680 + "amlogic,meson-gx-ao-secure", 681 + "syscon"; 682 + reg = <0x0 0x10220 0x0 0x140>; 683 + amlogic,has-chip-id; 684 + }; 685 + 766 686 ir: ir@84040 { 767 687 compatible = "amlogic,meson-s4-ir"; 768 688 reg = <0x0 0x84040 0x0 0x30>; ··· 807 711 #size-cells = <0>; 808 712 compatible = "snps,dwmac-mdio"; 809 713 }; 714 + }; 715 + 716 + sdio: mmc@fe088000 { 717 + compatible = "amlogic,meson-axg-mmc"; 718 + reg = <0x0 0xfe088000 0x0 0x800>; 719 + interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 720 + clocks = <&clkc_periphs CLKID_SDEMMC_A>, 721 + <&xtal>, 722 + <&clkc_pll CLKID_FCLK_DIV2>; 723 + clock-names = "core", "clkin0", "clkin1"; 724 + resets = <&reset RESET_SD_EMMC_A>; 725 + cap-sdio-irq; 726 + keep-power-in-suspend; 727 + status = "disabled"; 728 + }; 729 + 730 + sd: mmc@fe08a000 { 731 + compatible = "amlogic,meson-axg-mmc"; 732 + reg = <0x0 0xfe08a000 0x0 0x800>; 733 + interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>; 734 + clocks = <&clkc_periphs CLKID_SDEMMC_B>, 735 + <&clkc_periphs CLKID_SD_EMMC_B>, 736 + <&clkc_pll CLKID_FCLK_DIV2>; 737 + clock-names = "core", "clkin0", "clkin1"; 738 + resets = <&reset RESET_SD_EMMC_B>; 739 + status = "disabled"; 740 + }; 741 + 742 + emmc: mmc@fe08c000 { 743 + compatible = "amlogic,meson-axg-mmc"; 744 + reg = <0x0 0xfe08c000 0x0 0x800>; 745 + interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>; 746 + clocks = <&clkc_periphs CLKID_NAND>, 747 + <&xtal>, 748 + <&clkc_pll CLKID_FCLK_DIV2>; 749 + clock-names = "core", "clkin0", "clkin1"; 750 + resets = <&reset RESET_NAND_EMMC>; 751 + no-sdio; 752 + no-sd; 753 + status = "disabled"; 810 754 }; 811 755 }; 812 756 };
+4
arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air-gbit.dts
··· 22 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 24 25 + clocks = <&clkc CLKID_MPLL2>, 26 + <&clkc CLKID_MPLL0>, 27 + <&clkc CLKID_MPLL1>; 28 + 25 29 assigned-clocks = <&clkc CLKID_MPLL2>, 26 30 <&clkc CLKID_MPLL0>, 27 31 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-a95xf3-air.dts
··· 22 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 24 25 + clocks = <&clkc CLKID_MPLL2>, 26 + <&clkc CLKID_MPLL0>, 27 + <&clkc CLKID_MPLL1>; 28 + 25 29 assigned-clocks = <&clkc CLKID_MPLL2>, 26 30 <&clkc CLKID_MPLL0>, 27 31 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m2-pro.dts
··· 22 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 24 25 + clocks = <&clkc CLKID_MPLL2>, 26 + <&clkc CLKID_MPLL0>, 27 + <&clkc CLKID_MPLL1>; 28 + 25 29 assigned-clocks = <&clkc CLKID_MPLL2>, 26 30 <&clkc CLKID_MPLL0>, 27 31 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts
··· 57 57 "Lineout", "ACODEC LOLP", 58 58 "Lineout", "ACODEC LORP"; 59 59 60 + clocks = <&clkc CLKID_MPLL2>, 61 + <&clkc CLKID_MPLL0>, 62 + <&clkc CLKID_MPLL1>; 63 + 60 64 assigned-clocks = <&clkc CLKID_MPLL2>, 61 65 <&clkc CLKID_MPLL0>, 62 66 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-h96-max.dts
··· 22 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 24 25 + clocks = <&clkc CLKID_MPLL2>, 26 + <&clkc CLKID_MPLL0>, 27 + <&clkc CLKID_MPLL1>; 28 + 25 29 assigned-clocks = <&clkc CLKID_MPLL2>, 26 30 <&clkc CLKID_MPLL0>, 27 31 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
··· 174 174 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 175 175 "TDM_B Playback", "TDMOUT_B OUT"; 176 176 177 + clocks = <&clkc CLKID_MPLL2>, 178 + <&clkc CLKID_MPLL0>, 179 + <&clkc CLKID_MPLL1>; 180 + 177 181 assigned-clocks = <&clkc CLKID_MPLL2>, 178 182 <&clkc CLKID_MPLL0>, 179 183 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts
··· 239 239 "TODDR_B IN 1", "TDMIN_B OUT", 240 240 "TODDR_C IN 1", "TDMIN_B OUT"; 241 241 242 + clocks = <&clkc CLKID_MPLL2>, 243 + <&clkc CLKID_MPLL0>, 244 + <&clkc CLKID_MPLL1>; 245 + 242 246 assigned-clocks = <&clkc CLKID_MPLL2>, 243 247 <&clkc CLKID_MPLL0>, 244 248 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-x96-air-gbit.dts
··· 22 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 24 25 + clocks = <&clkc CLKID_MPLL2>, 26 + <&clkc CLKID_MPLL0>, 27 + <&clkc CLKID_MPLL1>; 28 + 25 29 assigned-clocks = <&clkc CLKID_MPLL2>, 26 30 <&clkc CLKID_MPLL0>, 27 31 <&clkc CLKID_MPLL1>;
+4
arch/arm64/boot/dts/amlogic/meson-sm1-x96-air.dts
··· 22 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 24 25 + clocks = <&clkc CLKID_MPLL2>, 26 + <&clkc CLKID_MPLL0>, 27 + <&clkc CLKID_MPLL1>; 28 + 25 29 assigned-clocks = <&clkc CLKID_MPLL2>, 26 30 <&clkc CLKID_MPLL0>, 27 31 <&clkc CLKID_MPLL1>;