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

Configure Feed

Select the types of activity you want to include in your feed.

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

Amlogic ARM64 DT changes for v6.4:
- set of DT bindings check fixes
- adjust order of some compatibles to match dt-schema migration
- add support for BananaPi M2S variants
- gxbb-kii-pro: add audio & bluetooth support
- meson-a1: add gpio_intc node
- gxl: use gxl mdio multiplexer
- Add initial support for BPI-CM4 module with BPI-CM4IO baseboard

* tag 'amlogic-arm64-dt-for-v6.4' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
arm64: dts: amlogic: Add initial support for BPI-CM4 module with BPI-CM4IO baseboard
dt-bindings: arm: amlogic: Document the boards with the BPI-CM4 connected
arm64: dts: amlogic: gxl: use gxl mdio multiplexer
arm64: dts: meson-a1: add gpio_intc node
arm64: dts: meson: gxbb-kii-pro: add initial audio support
arm64: dts: meson: gxbb-kii-pro: complete the bluetooth node
arm64: dts: meson: gxbb-kii-pro: sort and tidy the dts
arm64: dts: meson: adjust order of some compatibles
arm64: dts: meson: add support for BananaPi M2S variants
dt-bindings: arm: amlogic: add support for BananaPi M2S variants
arm64: dts: amlogic: meson-gxm-s912-libretech-pc: remove unused pinctrl-names from phy node
arm64: dts: amlogic: meson-sm1: use correct enable-gpios
arm64: dts: amlogic: meson-s4: fix apb4 bus node name
arm64: dts: amlogic: meson-g12b-odroid-go-ultra: rename keypad-gpio pinctrl node
arm64: dts: amlogic: meson-g12b-radxa-zero2: fix pwm clock names
arm64: dts: amlogic: meson-axg-jethome-jethub-j1xx: remove invalid #gpio-cells in onewire node
arm64: dts: amlogic: meson-gxm-s912-libretech-pc: add simple connector node in fusb302 node
arm64: dts: amlogic: meson-sm1-bananapi: correct usb-hub hog node name

Link: https://lore.kernel.org/r/1b955bb7-1a35-8d67-beb6-dd289533ff6f@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+1248 -37
+10
Documentation/devicetree/bindings/arm/amlogic.yaml
··· 153 153 - description: Boards with the Amlogic Meson G12B A311D SoC 154 154 items: 155 155 - enum: 156 + - bananapi,bpi-m2s 156 157 - khadas,vim3 157 158 - radxa,zero2 159 + - const: amlogic,a311d 160 + - const: amlogic,g12b 161 + 162 + - description: Boards using the BPI-CM4 module with Amlogic Meson G12B A311D SoC 163 + items: 164 + - enum: 165 + - bananapi,bpi-cm4io 166 + - const: bananapi,bpi-cm4 158 167 - const: amlogic,a311d 159 168 - const: amlogic,g12b 160 169 ··· 173 164 - azw,gsking-x 174 165 - azw,gtking 175 166 - azw,gtking-pro 167 + - bananapi,bpi-m2s 176 168 - hardkernel,odroid-go-ultra 177 169 - hardkernel,odroid-n2 178 170 - hardkernel,odroid-n2l
+3
arch/arm64/boot/dts/amlogic/Makefile
··· 8 8 dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb 9 9 dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb 10 10 dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb 11 + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-bananapi-m2s.dtb 11 12 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-a311d-khadas-vim3.dtb 13 + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-cm4io.dtb 12 14 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gsking-x.dtb 13 15 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking-pro.dtb 14 16 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-gtking.dtb ··· 19 17 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb 20 18 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2l.dtb 21 19 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb 20 + dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-bananapi-m2s.dtb 22 21 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb 23 22 dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb 24 23 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
+10
arch/arm64/boot/dts/amlogic/meson-a1.dtsi
··· 125 125 clock-names = "xtal", "pclk", "baud"; 126 126 status = "disabled"; 127 127 }; 128 + 129 + gpio_intc: interrupt-controller@0440 { 130 + compatible = "amlogic,meson-a1-gpio-intc", 131 + "amlogic,meson-gpio-intc"; 132 + reg = <0x0 0x0440 0x0 0x14>; 133 + interrupt-controller; 134 + #interrupt-cells = <2>; 135 + amlogic,channel-interrupts = 136 + <49 50 51 52 53 54 55 56>; 137 + }; 128 138 }; 129 139 130 140 gic: interrupt-controller@ff901000 {
-1
arch/arm64/boot/dts/amlogic/meson-axg-jethome-jethub-j1xx.dtsi
··· 159 159 onewire { 160 160 compatible = "w1-gpio"; 161 161 gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>; 162 - #gpio-cells = <1>; 163 162 }; 164 163 }; 165 164
+37
arch/arm64/boot/dts/amlogic/meson-g12b-a311d-bananapi-m2s.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2023 Christian Hewitt <christianshewitt@gmail.com> 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "meson-g12b-a311d.dtsi" 9 + #include "meson-g12b-bananapi.dtsi" 10 + 11 + / { 12 + compatible = "bananapi,bpi-m2s", "amlogic,a311d", "amlogic,g12b"; 13 + model = "BananaPi M2S"; 14 + 15 + aliases { 16 + i2c0 = &i2c1; 17 + i2c1 = &i2c3; 18 + }; 19 + }; 20 + 21 + /* Camera (CSI) bus */ 22 + &i2c1 { 23 + status = "okay"; 24 + pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>; 25 + pinctrl-names = "default"; 26 + }; 27 + 28 + /* Display (DSI) bus */ 29 + &i2c3 { 30 + status = "okay"; 31 + pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; 32 + pinctrl-names = "default"; 33 + }; 34 + 35 + &npu { 36 + status = "okay"; 37 + };
+165
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4-cm4io.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2023 Neil Armstrong <neil.armstrong@linaro.org> 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "meson-g12b-bananapi-cm4.dtsi" 9 + #include <dt-bindings/input/input.h> 10 + #include <dt-bindings/leds/common.h> 11 + #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 12 + 13 + / { 14 + compatible = "bananapi,bpi-cm4io", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b"; 15 + model = "BananaPi BPI-CM4IO Baseboard with BPI-CM4 Module"; 16 + 17 + aliases { 18 + ethernet0 = &ethmac; 19 + i2c0 = &i2c1; 20 + i2c1 = &i2c3; 21 + }; 22 + 23 + adc-keys { 24 + compatible = "adc-keys"; 25 + io-channels = <&saradc 2>; 26 + io-channel-names = "buttons"; 27 + keyup-threshold-microvolt = <1710000>; 28 + 29 + button-function { 30 + label = "Function"; 31 + linux,code = <KEY_FN>; 32 + press-threshold-microvolt = <10000>; 33 + }; 34 + }; 35 + 36 + hdmi_connector: hdmi-connector { 37 + compatible = "hdmi-connector"; 38 + type = "a"; 39 + 40 + port { 41 + hdmi_connector_in: endpoint { 42 + remote-endpoint = <&hdmi_tx_tmds_out>; 43 + }; 44 + }; 45 + }; 46 + 47 + leds { 48 + compatible = "gpio-leds"; 49 + 50 + led-blue { 51 + color = <LED_COLOR_ID_BLUE>; 52 + function = LED_FUNCTION_STATUS; 53 + gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>; 54 + linux,default-trigger = "heartbeat"; 55 + }; 56 + 57 + led-green { 58 + color = <LED_COLOR_ID_GREEN>; 59 + function = LED_FUNCTION_STATUS; 60 + gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 61 + }; 62 + }; 63 + 64 + sound { 65 + compatible = "amlogic,axg-sound-card"; 66 + model = "BPI-CM4IO"; 67 + audio-aux-devs = <&tdmout_b>; 68 + audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 69 + "TDMOUT_B IN 1", "FRDDR_B OUT 1", 70 + "TDMOUT_B IN 2", "FRDDR_C OUT 1", 71 + "TDM_B Playback", "TDMOUT_B OUT"; 72 + 73 + assigned-clocks = <&clkc CLKID_MPLL2>, 74 + <&clkc CLKID_MPLL0>, 75 + <&clkc CLKID_MPLL1>; 76 + assigned-clock-parents = <0>, <0>, <0>; 77 + assigned-clock-rates = <294912000>, 78 + <270950400>, 79 + <393216000>; 80 + 81 + dai-link-0 { 82 + sound-dai = <&frddr_a>; 83 + }; 84 + 85 + dai-link-1 { 86 + sound-dai = <&frddr_b>; 87 + }; 88 + 89 + dai-link-2 { 90 + sound-dai = <&frddr_c>; 91 + }; 92 + 93 + /* 8ch hdmi interface */ 94 + dai-link-3 { 95 + sound-dai = <&tdmif_b>; 96 + dai-format = "i2s"; 97 + dai-tdm-slot-tx-mask-0 = <1 1>; 98 + dai-tdm-slot-tx-mask-1 = <1 1>; 99 + dai-tdm-slot-tx-mask-2 = <1 1>; 100 + dai-tdm-slot-tx-mask-3 = <1 1>; 101 + mclk-fs = <256>; 102 + 103 + codec { 104 + sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 105 + }; 106 + }; 107 + 108 + /* hdmi glue */ 109 + dai-link-4 { 110 + sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 111 + 112 + codec { 113 + sound-dai = <&hdmi_tx>; 114 + }; 115 + }; 116 + }; 117 + }; 118 + 119 + &cecb_AO { 120 + status = "okay"; 121 + }; 122 + 123 + &ethmac { 124 + status = "okay"; 125 + }; 126 + 127 + &hdmi_tx { 128 + status = "okay"; 129 + }; 130 + 131 + &hdmi_tx_tmds_port { 132 + hdmi_tx_tmds_out: endpoint { 133 + remote-endpoint = <&hdmi_connector_in>; 134 + }; 135 + }; 136 + 137 + /* CSI port */ 138 + &i2c1 { 139 + status = "okay"; 140 + }; 141 + 142 + /* DSI port for touchscreen */ 143 + &i2c3 { 144 + status = "okay"; 145 + }; 146 + 147 + /* miniPCIe port with USB + SIM slot */ 148 + &pcie { 149 + status = "okay"; 150 + }; 151 + 152 + &sd_emmc_b { 153 + status = "okay"; 154 + }; 155 + 156 + &tohdmitx { 157 + status = "okay"; 158 + }; 159 + 160 + /* Peripheral Only USB-C port */ 161 + &usb { 162 + dr_mode = "peripheral"; 163 + 164 + status = "okay"; 165 + };
+388
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2023 Neil Armstrong <neil.armstrong@linaro.org> 4 + */ 5 + 6 + #include "meson-g12b-a311d.dtsi" 7 + #include <dt-bindings/gpio/meson-g12a-gpio.h> 8 + 9 + / { 10 + aliases { 11 + serial0 = &uart_AO; 12 + rtc1 = &vrtc; 13 + }; 14 + 15 + chosen { 16 + stdout-path = "serial0:115200n8"; 17 + }; 18 + 19 + emmc_pwrseq: emmc-pwrseq { 20 + compatible = "mmc-pwrseq-emmc"; 21 + reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 22 + }; 23 + 24 + memory@0 { 25 + device_type = "memory"; 26 + reg = <0x0 0x0 0x0 0x40000000>; 27 + }; 28 + 29 + sdio_pwrseq: sdio-pwrseq { 30 + compatible = "mmc-pwrseq-simple"; 31 + reset-gpios = <&gpio GPIOAO_6 GPIO_ACTIVE_LOW>; 32 + clocks = <&wifi32k>; 33 + clock-names = "ext_clock"; 34 + }; 35 + 36 + emmc_1v8: regulator-emmc-1v8 { 37 + compatible = "regulator-fixed"; 38 + regulator-name = "EMMC_1V8"; 39 + regulator-min-microvolt = <1800000>; 40 + regulator-max-microvolt = <1800000>; 41 + vin-supply = <&vddao_3v3>; 42 + regulator-always-on; 43 + }; 44 + 45 + dc_in: regulator-dc-in { 46 + compatible = "regulator-fixed"; 47 + regulator-name = "DC_IN"; 48 + regulator-min-microvolt = <5000000>; 49 + regulator-max-microvolt = <5000000>; 50 + regulator-always-on; 51 + }; 52 + 53 + vddio_c: regulator-vddio-c { 54 + compatible = "regulator-gpio"; 55 + regulator-name = "VDDIO_C"; 56 + regulator-min-microvolt = <1800000>; 57 + regulator-max-microvolt = <3300000>; 58 + 59 + enable-gpio = <&gpio_ao GPIOAO_3 GPIO_OPEN_DRAIN>; 60 + enable-active-high; 61 + regulator-always-on; 62 + 63 + gpios = <&gpio_ao GPIOAO_9 GPIO_OPEN_DRAIN>; 64 + gpios-states = <1>; 65 + 66 + states = <1800000 0>, 67 + <3300000 1>; 68 + }; 69 + 70 + vddao_1v8: regulator-vddao-1v8 { 71 + compatible = "regulator-fixed"; 72 + regulator-name = "VDDAO_1V8"; 73 + regulator-min-microvolt = <1800000>; 74 + regulator-max-microvolt = <1800000>; 75 + vin-supply = <&vddao_3v3>; 76 + regulator-always-on; 77 + }; 78 + 79 + vddao_3v3: regulator-vddao-3v3 { 80 + compatible = "regulator-fixed"; 81 + regulator-name = "VDDAO_3V3"; 82 + regulator-min-microvolt = <3300000>; 83 + regulator-max-microvolt = <3300000>; 84 + vin-supply = <&dc_in>; 85 + regulator-always-on; 86 + }; 87 + 88 + vddcpu_a: regulator-vddcpu-a { 89 + /* 90 + * MP8756GD DC/DC Regulator. 91 + */ 92 + compatible = "pwm-regulator"; 93 + 94 + regulator-name = "VDDCPU_A"; 95 + regulator-min-microvolt = <680000>; 96 + regulator-max-microvolt = <1040000>; 97 + 98 + pwm-supply = <&dc_in>; 99 + 100 + pwms = <&pwm_ab 0 1250 0>; 101 + pwm-dutycycle-range = <100 0>; 102 + 103 + regulator-boot-on; 104 + regulator-always-on; 105 + }; 106 + 107 + vddcpu_b: regulator-vddcpu-b { 108 + /* 109 + * SY8120B1ABC DC/DC Regulator. 110 + */ 111 + compatible = "pwm-regulator"; 112 + 113 + regulator-name = "VDDCPU_B"; 114 + regulator-min-microvolt = <680000>; 115 + regulator-max-microvolt = <1040000>; 116 + 117 + pwm-supply = <&dc_in>; 118 + 119 + pwms = <&pwm_AO_cd 1 1250 0>; 120 + pwm-dutycycle-range = <100 0>; 121 + 122 + regulator-boot-on; 123 + regulator-always-on; 124 + }; 125 + 126 + wifi32k: wifi32k { 127 + compatible = "pwm-clock"; 128 + #clock-cells = <0>; 129 + clock-frequency = <32768>; 130 + pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 131 + }; 132 + }; 133 + 134 + &arb { 135 + status = "okay"; 136 + }; 137 + 138 + &clkc_audio { 139 + status = "okay"; 140 + }; 141 + 142 + &cec_AO { 143 + pinctrl-0 = <&cec_ao_a_h_pins>; 144 + pinctrl-names = "default"; 145 + hdmi-phandle = <&hdmi_tx>; 146 + }; 147 + 148 + &cecb_AO { 149 + pinctrl-0 = <&cec_ao_b_h_pins>; 150 + pinctrl-names = "default"; 151 + hdmi-phandle = <&hdmi_tx>; 152 + }; 153 + 154 + &cpu0 { 155 + cpu-supply = <&vddcpu_b>; 156 + operating-points-v2 = <&cpu_opp_table_0>; 157 + clocks = <&clkc CLKID_CPU_CLK>; 158 + clock-latency = <50000>; 159 + }; 160 + 161 + &cpu1 { 162 + cpu-supply = <&vddcpu_b>; 163 + operating-points-v2 = <&cpu_opp_table_0>; 164 + clocks = <&clkc CLKID_CPU_CLK>; 165 + clock-latency = <50000>; 166 + }; 167 + 168 + &cpu100 { 169 + cpu-supply = <&vddcpu_a>; 170 + operating-points-v2 = <&cpub_opp_table_1>; 171 + clocks = <&clkc CLKID_CPUB_CLK>; 172 + clock-latency = <50000>; 173 + }; 174 + 175 + &cpu101 { 176 + cpu-supply = <&vddcpu_a>; 177 + operating-points-v2 = <&cpub_opp_table_1>; 178 + clocks = <&clkc CLKID_CPUB_CLK>; 179 + clock-latency = <50000>; 180 + }; 181 + 182 + &cpu102 { 183 + cpu-supply = <&vddcpu_a>; 184 + operating-points-v2 = <&cpub_opp_table_1>; 185 + clocks = <&clkc CLKID_CPUB_CLK>; 186 + clock-latency = <50000>; 187 + }; 188 + 189 + &cpu103 { 190 + cpu-supply = <&vddcpu_a>; 191 + operating-points-v2 = <&cpub_opp_table_1>; 192 + clocks = <&clkc CLKID_CPUB_CLK>; 193 + clock-latency = <50000>; 194 + }; 195 + 196 + &ext_mdio { 197 + external_phy: ethernet-phy@0 { 198 + /* Realtek RTL8211F (0x001cc916) */ 199 + reg = <0>; 200 + max-speed = <1000>; 201 + 202 + interrupt-parent = <&gpio_intc>; 203 + /* MAC_INTR on GPIOZ_14 */ 204 + interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 205 + }; 206 + }; 207 + 208 + /* Ethernet to be enabled in baseboard DT */ 209 + &ethmac { 210 + pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>; 211 + pinctrl-names = "default"; 212 + phy-mode = "rgmii-txid"; 213 + phy-handle = <&external_phy>; 214 + }; 215 + 216 + &frddr_a { 217 + status = "okay"; 218 + }; 219 + 220 + &frddr_b { 221 + status = "okay"; 222 + }; 223 + 224 + &frddr_c { 225 + status = "okay"; 226 + }; 227 + 228 + /* HDMI to be enabled in baseboard DT */ 229 + &hdmi_tx { 230 + pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 231 + pinctrl-names = "default"; 232 + hdmi-supply = <&dc_in>; 233 + }; 234 + 235 + /* "Camera" I2C bus */ 236 + &i2c1 { 237 + pinctrl-0 = <&i2c1_sda_h6_pins>, <&i2c1_sck_h7_pins>; 238 + pinctrl-names = "default"; 239 + }; 240 + 241 + /* Main I2C bus */ 242 + &i2c2 { 243 + pinctrl-0 = <&i2c2_sda_x_pins>, <&i2c2_sck_x_pins>; 244 + pinctrl-names = "default"; 245 + }; 246 + 247 + /* "ID" I2C bus */ 248 + &i2c3 { 249 + pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; 250 + pinctrl-names = "default"; 251 + }; 252 + 253 + &pcie { 254 + reset-gpios = <&gpio GPIOA_8 GPIO_ACTIVE_LOW>; 255 + }; 256 + 257 + &pwm_ab { 258 + pinctrl-0 = <&pwm_a_e_pins>; 259 + pinctrl-names = "default"; 260 + clocks = <&xtal>; 261 + clock-names = "clkin0"; 262 + 263 + status = "okay"; 264 + }; 265 + 266 + &pwm_ef { 267 + pinctrl-0 = <&pwm_e_pins>; 268 + pinctrl-names = "default"; 269 + 270 + status = "okay"; 271 + }; 272 + 273 + &pwm_AO_cd { 274 + pinctrl-0 = <&pwm_ao_d_e_pins>; 275 + pinctrl-names = "default"; 276 + clocks = <&xtal>; 277 + clock-names = "clkin1"; 278 + 279 + status = "okay"; 280 + }; 281 + 282 + &saradc { 283 + vref-supply = <&vddao_1v8>; 284 + 285 + status = "okay"; 286 + }; 287 + 288 + /* on-module SDIO WiFi */ 289 + &sd_emmc_a { 290 + pinctrl-0 = <&sdio_pins>; 291 + pinctrl-1 = <&sdio_clk_gate_pins>; 292 + pinctrl-names = "default", "clk-gate"; 293 + #address-cells = <1>; 294 + #size-cells = <0>; 295 + 296 + bus-width = <4>; 297 + sd-uhs-sdr104; 298 + max-frequency = <50000000>; 299 + 300 + non-removable; 301 + disable-wp; 302 + 303 + /* WiFi firmware requires power in suspend */ 304 + keep-power-in-suspend; 305 + 306 + mmc-pwrseq = <&sdio_pwrseq>; 307 + 308 + vmmc-supply = <&vddao_3v3>; 309 + vqmmc-supply = <&vddao_3v3>; 310 + 311 + status = "okay"; 312 + 313 + rtl8822cs: wifi@1 { 314 + reg = <1>; 315 + }; 316 + }; 317 + 318 + /* SD card to be enabled in baseboard DT */ 319 + &sd_emmc_b { 320 + pinctrl-0 = <&sdcard_c_pins>; 321 + pinctrl-1 = <&sdcard_clk_gate_c_pins>; 322 + pinctrl-names = "default", "clk-gate"; 323 + 324 + bus-width = <4>; 325 + cap-sd-highspeed; 326 + max-frequency = <50000000>; 327 + disable-wp; 328 + 329 + cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 330 + vmmc-supply = <&vddao_3v3>; 331 + vqmmc-supply = <&vddio_c>; 332 + }; 333 + 334 + /* on-module eMMC */ 335 + &sd_emmc_c { 336 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 337 + pinctrl-1 = <&emmc_clk_gate_pins>; 338 + pinctrl-names = "default", "clk-gate"; 339 + 340 + bus-width = <8>; 341 + cap-mmc-highspeed; 342 + mmc-ddr-1_8v; 343 + mmc-hs200-1_8v; 344 + max-frequency = <200000000>; 345 + disable-wp; 346 + 347 + mmc-pwrseq = <&emmc_pwrseq>; 348 + vmmc-supply = <&vddao_3v3>; 349 + vqmmc-supply = <&vddao_1v8>; 350 + 351 + status = "okay"; 352 + }; 353 + 354 + &tdmif_b { 355 + status = "okay"; 356 + }; 357 + 358 + &tdmout_b { 359 + status = "okay"; 360 + }; 361 + 362 + /* on-module UART BT */ 363 + &uart_A { 364 + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 365 + pinctrl-names = "default"; 366 + uart-has-rtscts; 367 + 368 + status = "okay"; 369 + 370 + bluetooth { 371 + compatible = "realtek,rtl8822cs-bt"; 372 + enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 373 + host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; 374 + device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; 375 + }; 376 + }; 377 + 378 + &uart_AO { 379 + pinctrl-0 = <&uart_ao_a_pins>; 380 + pinctrl-names = "default"; 381 + 382 + status = "okay"; 383 + }; 384 + 385 + &usb { 386 + phys = <&usb2_phy0>, <&usb2_phy1>; 387 + phy-names = "usb2-phy0", "usb2-phy1"; 388 + };
+521
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2019 BayLibre, SAS 4 + * Author: Neil Armstrong <narmstrong@baylibre.com> 5 + * Copyright (c) 2023 Christian Hewitt <christianshewitt@gmail.com> 6 + */ 7 + 8 + #include <dt-bindings/input/input.h> 9 + #include <dt-bindings/leds/common.h> 10 + #include <dt-bindings/gpio/meson-g12a-gpio.h> 11 + #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 12 + 13 + / { 14 + aliases { 15 + serial0 = &uart_AO; 16 + ethernet0 = &ethmac; 17 + rtc1 = &vrtc; 18 + }; 19 + 20 + chosen { 21 + stdout-path = "serial0:115200n8"; 22 + }; 23 + 24 + memory@0 { 25 + device_type = "memory"; 26 + reg = <0x0 0x0 0x0 0x80000000>; /* 2 GiB or 4 GiB */ 27 + }; 28 + 29 + adc-keys { 30 + compatible = "adc-keys"; 31 + io-channels = <&saradc 2>; 32 + io-channel-names = "buttons"; 33 + keyup-threshold-microvolt = <1710000>; 34 + 35 + button-function { 36 + label = "RST"; 37 + linux,code = <KEY_POWER>; 38 + press-threshold-microvolt = <10000>; 39 + }; 40 + }; 41 + 42 + emmc_pwrseq: emmc-pwrseq { 43 + compatible = "mmc-pwrseq-emmc"; 44 + reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 45 + }; 46 + 47 + fan0: pwm-fan { 48 + compatible = "pwm-fan"; 49 + #cooling-cells = <2>; 50 + cooling-min-state = <0>; 51 + cooling-max-state = <3>; 52 + cooling-levels = <0 120 170 220>; 53 + pwms = <&pwm_cd 1 40000 0>; 54 + }; 55 + 56 + hdmi-connector { 57 + compatible = "hdmi-connector"; 58 + type = "a"; 59 + 60 + port { 61 + hdmi_connector_in: endpoint { 62 + remote-endpoint = <&hdmi_tx_tmds_out>; 63 + }; 64 + }; 65 + }; 66 + 67 + leds { 68 + compatible = "gpio-leds"; 69 + 70 + led-0 { 71 + color = <LED_COLOR_ID_BLUE>; 72 + function = LED_FUNCTION_STATUS; 73 + gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_LOW>; 74 + linux,default-trigger = "heartbeat"; 75 + }; 76 + 77 + led-1 { 78 + color = <LED_COLOR_ID_GREEN>; 79 + function = LED_FUNCTION_STATUS; 80 + gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 81 + }; 82 + }; 83 + 84 + sdio_pwrseq: sdio-pwrseq { 85 + compatible = "mmc-pwrseq-simple"; 86 + reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 87 + clocks = <&wifi32k>; 88 + clock-names = "ext_clock"; 89 + }; 90 + 91 + wifi32k: wifi32k { 92 + compatible = "pwm-clock"; 93 + #clock-cells = <0>; 94 + clock-frequency = <32768>; 95 + pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 96 + }; 97 + 98 + dc_in: regulator-dc-in { 99 + compatible = "regulator-fixed"; 100 + regulator-name = "DC_IN"; 101 + regulator-min-microvolt = <5000000>; 102 + regulator-max-microvolt = <5000000>; 103 + regulator-always-on; 104 + }; 105 + 106 + vcc_5v: regulator-vcc-5v { 107 + compatible = "regulator-fixed"; 108 + regulator-name = "VCC_5V"; 109 + regulator-min-microvolt = <5000000>; 110 + regulator-max-microvolt = <5000000>; 111 + vin-supply = <&dc_in>; 112 + 113 + gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 114 + enable-active-high; 115 + }; 116 + 117 + vcc_3v3: regulator-vcc-3v3 { 118 + compatible = "regulator-fixed"; 119 + regulator-name = "VCC_3V3"; 120 + regulator-min-microvolt = <3300000>; 121 + regulator-max-microvolt = <3300000>; 122 + vin-supply = <&vsys_3v3>; 123 + regulator-always-on; 124 + }; 125 + 126 + vcc_1v8: regulator-vcc-1v8 { 127 + compatible = "regulator-fixed"; 128 + regulator-name = "VCC_1V8"; 129 + regulator-min-microvolt = <1800000>; 130 + regulator-max-microvolt = <1800000>; 131 + vin-supply = <&vcc_3v3>; 132 + regulator-always-on; 133 + }; 134 + 135 + vddao_1v8: regulator-vddao-1v8 { 136 + compatible = "regulator-fixed"; 137 + regulator-name = "VDDIO_AO1V8"; 138 + regulator-min-microvolt = <1800000>; 139 + regulator-max-microvolt = <1800000>; 140 + vin-supply = <&vsys_3v3>; 141 + regulator-always-on; 142 + }; 143 + 144 + vddcpu_a: regulator-vddcpu-a { 145 + compatible = "pwm-regulator"; 146 + regulator-name = "VDDCPU_A"; 147 + regulator-min-microvolt = <690000>; 148 + regulator-max-microvolt = <1050000>; 149 + pwm-supply = <&dc_in>; 150 + pwms = <&pwm_ab 0 1250 0>; 151 + pwm-dutycycle-range = <100 0>; 152 + regulator-boot-on; 153 + regulator-always-on; 154 + }; 155 + 156 + vddcpu_b: regulator-vddcpu-b { 157 + compatible = "pwm-regulator"; 158 + regulator-name = "VDDCPU_B"; 159 + regulator-min-microvolt = <690000>; 160 + regulator-max-microvolt = <1050000>; 161 + pwm-supply = <&vsys_3v3>; 162 + pwms = <&pwm_AO_cd 1 1250 0>; 163 + pwm-dutycycle-range = <100 0>; 164 + regulator-boot-on; 165 + regulator-always-on; 166 + }; 167 + 168 + vsys_3v3: regulator-vsys-3v3 { 169 + compatible = "regulator-fixed"; 170 + regulator-name = "VSYS_3V3"; 171 + regulator-min-microvolt = <3300000>; 172 + regulator-max-microvolt = <3300000>; 173 + vin-supply = <&dc_in>; 174 + regulator-always-on; 175 + }; 176 + 177 + emmc_1v8: regulator-emmc-1v8 { 178 + compatible = "regulator-fixed"; 179 + regulator-name = "EMMC_AO1V8"; 180 + regulator-min-microvolt = <1800000>; 181 + regulator-max-microvolt = <1800000>; 182 + vin-supply = <&vcc_3v3>; 183 + regulator-always-on; 184 + }; 185 + 186 + usb_pwr: regulator-usb-pwr { 187 + compatible = "regulator-fixed"; 188 + regulator-name = "USB_PWR"; 189 + regulator-min-microvolt = <5000000>; 190 + regulator-max-microvolt = <5000000>; 191 + vin-supply = <&vcc_5v>; 192 + 193 + gpio = <&gpio GPIOA_6 GPIO_ACTIVE_HIGH>; 194 + enable-active-high; 195 + }; 196 + 197 + sound { 198 + compatible = "amlogic,axg-sound-card"; 199 + model = "BPI-M2S"; 200 + audio-aux-devs = <&tdmout_b>; 201 + audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 202 + "TDMOUT_B IN 1", "FRDDR_B OUT 1", 203 + "TDMOUT_B IN 2", "FRDDR_C OUT 1", 204 + "TDM_B Playback", "TDMOUT_B OUT"; 205 + 206 + assigned-clocks = <&clkc CLKID_MPLL2>, 207 + <&clkc CLKID_MPLL0>, 208 + <&clkc CLKID_MPLL1>; 209 + assigned-clock-parents = <0>, <0>, <0>; 210 + assigned-clock-rates = <294912000>, 211 + <270950400>, 212 + <393216000>; 213 + 214 + dai-link-0 { 215 + sound-dai = <&frddr_a>; 216 + }; 217 + 218 + dai-link-1 { 219 + sound-dai = <&frddr_b>; 220 + }; 221 + 222 + dai-link-2 { 223 + sound-dai = <&frddr_c>; 224 + }; 225 + 226 + /* 8ch hdmi interface */ 227 + dai-link-3 { 228 + sound-dai = <&tdmif_b>; 229 + dai-format = "i2s"; 230 + dai-tdm-slot-tx-mask-0 = <1 1>; 231 + dai-tdm-slot-tx-mask-1 = <1 1>; 232 + dai-tdm-slot-tx-mask-2 = <1 1>; 233 + dai-tdm-slot-tx-mask-3 = <1 1>; 234 + mclk-fs = <256>; 235 + 236 + codec { 237 + sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 238 + }; 239 + }; 240 + 241 + /* hdmi glue */ 242 + dai-link-4 { 243 + sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 244 + 245 + codec { 246 + sound-dai = <&hdmi_tx>; 247 + }; 248 + }; 249 + }; 250 + }; 251 + 252 + &arb { 253 + status = "okay"; 254 + }; 255 + 256 + &clkc_audio { 257 + status = "okay"; 258 + }; 259 + 260 + &cecb_AO { 261 + pinctrl-0 = <&cec_ao_b_h_pins>; 262 + pinctrl-names = "default"; 263 + status = "okay"; 264 + hdmi-phandle = <&hdmi_tx>; 265 + }; 266 + 267 + &cpu0 { 268 + cpu-supply = <&vddcpu_b>; 269 + operating-points-v2 = <&cpu_opp_table_0>; 270 + clocks = <&clkc CLKID_CPU_CLK>; 271 + clock-latency = <50000>; 272 + }; 273 + 274 + &cpu1 { 275 + cpu-supply = <&vddcpu_b>; 276 + operating-points-v2 = <&cpu_opp_table_0>; 277 + clocks = <&clkc CLKID_CPU_CLK>; 278 + clock-latency = <50000>; 279 + }; 280 + 281 + &cpu100 { 282 + cpu-supply = <&vddcpu_a>; 283 + operating-points-v2 = <&cpub_opp_table_1>; 284 + clocks = <&clkc CLKID_CPUB_CLK>; 285 + clock-latency = <50000>; 286 + }; 287 + 288 + &cpu101 { 289 + cpu-supply = <&vddcpu_a>; 290 + operating-points-v2 = <&cpub_opp_table_1>; 291 + clocks = <&clkc CLKID_CPUB_CLK>; 292 + clock-latency = <50000>; 293 + }; 294 + 295 + &cpu102 { 296 + cpu-supply = <&vddcpu_a>; 297 + operating-points-v2 = <&cpub_opp_table_1>; 298 + clocks = <&clkc CLKID_CPUB_CLK>; 299 + clock-latency = <50000>; 300 + }; 301 + 302 + &cpu103 { 303 + cpu-supply = <&vddcpu_a>; 304 + operating-points-v2 = <&cpub_opp_table_1>; 305 + clocks = <&clkc CLKID_CPUB_CLK>; 306 + clock-latency = <50000>; 307 + }; 308 + 309 + &ethmac { 310 + pinctrl-0 = <&eth_pins>, <&eth_rgmii_pins>; 311 + pinctrl-names = "default"; 312 + status = "okay"; 313 + phy-mode = "rgmii"; 314 + phy-handle = <&external_phy>; 315 + amlogic,tx-delay-ns = <2>; 316 + }; 317 + 318 + &ext_mdio { 319 + external_phy: ethernet-phy@0 { 320 + /* Realtek RTL8211F (0x001cc916) */ 321 + reg = <0>; 322 + max-speed = <1000>; 323 + 324 + reset-assert-us = <10000>; 325 + reset-deassert-us = <80000>; 326 + reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 327 + 328 + interrupt-parent = <&gpio_intc>; 329 + /* MAC_INTR on GPIOZ_14 */ 330 + interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 331 + }; 332 + }; 333 + 334 + &frddr_a { 335 + status = "okay"; 336 + }; 337 + 338 + &frddr_b { 339 + status = "okay"; 340 + }; 341 + 342 + &frddr_c { 343 + status = "okay"; 344 + }; 345 + 346 + &hdmi_tx { 347 + status = "okay"; 348 + pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 349 + pinctrl-names = "default"; 350 + hdmi-supply = <&vcc_5v>; 351 + }; 352 + 353 + &hdmi_tx_tmds_port { 354 + hdmi_tx_tmds_out: endpoint { 355 + remote-endpoint = <&hdmi_connector_in>; 356 + }; 357 + }; 358 + 359 + /* Main i2c bus */ 360 + &i2c2 { 361 + status = "okay"; 362 + pinctrl-0 = <&i2c2_sda_x_pins>, <&i2c2_sck_x_pins>; 363 + pinctrl-names = "default"; 364 + }; 365 + 366 + &pcie { 367 + status = "okay"; 368 + reset-gpios = <&gpio GPIOA_8 GPIO_ACTIVE_LOW>; 369 + }; 370 + 371 + &pwm_ab { 372 + status = "okay"; 373 + pinctrl-0 = <&pwm_a_e_pins>; 374 + pinctrl-names = "default"; 375 + clocks = <&xtal>; 376 + clock-names = "clkin0"; 377 + }; 378 + 379 + &pwm_cd { 380 + status = "okay"; 381 + pinctrl-0 = <&pwm_d_x6_pins>; 382 + pinctrl-names = "default"; 383 + pwm-gpios = <&gpio GPIOAO_10 GPIO_ACTIVE_HIGH>; 384 + }; 385 + 386 + &pwm_ef { 387 + status = "okay"; 388 + pinctrl-0 = <&pwm_e_pins>; 389 + pinctrl-names = "default"; 390 + }; 391 + 392 + &pwm_AO_cd { 393 + pinctrl-0 = <&pwm_ao_d_e_pins>; 394 + pinctrl-names = "default"; 395 + clocks = <&xtal>; 396 + clock-names = "clkin1"; 397 + status = "okay"; 398 + }; 399 + 400 + &saradc { 401 + status = "okay"; 402 + vref-supply = <&vddao_1v8>; 403 + }; 404 + 405 + /* SDIO */ 406 + &sd_emmc_a { 407 + /* enable if WiFi/BT board connected */ 408 + status = "disabled"; 409 + pinctrl-0 = <&sdio_pins>; 410 + pinctrl-1 = <&sdio_clk_gate_pins>; 411 + pinctrl-names = "default", "clk-gate"; 412 + #address-cells = <1>; 413 + #size-cells = <0>; 414 + 415 + bus-width = <4>; 416 + sd-uhs-sdr104; 417 + max-frequency = <50000000>; 418 + 419 + non-removable; 420 + disable-wp; 421 + 422 + /* WiFi firmware requires power in suspend */ 423 + keep-power-in-suspend; 424 + 425 + mmc-pwrseq = <&sdio_pwrseq>; 426 + 427 + vmmc-supply = <&vsys_3v3>; 428 + vqmmc-supply = <&vddao_1v8>; 429 + 430 + rtl8822cs: wifi@1 { 431 + reg = <1>; 432 + }; 433 + }; 434 + 435 + /* SD card */ 436 + &sd_emmc_b { 437 + status = "okay"; 438 + pinctrl-0 = <&sdcard_c_pins>; 439 + pinctrl-1 = <&sdcard_clk_gate_c_pins>; 440 + pinctrl-names = "default", "clk-gate"; 441 + 442 + bus-width = <4>; 443 + cap-sd-highspeed; 444 + max-frequency = <50000000>; 445 + disable-wp; 446 + 447 + cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 448 + vmmc-supply = <&vsys_3v3>; 449 + vqmmc-supply = <&vsys_3v3>; 450 + }; 451 + 452 + /* eMMC */ 453 + &sd_emmc_c { 454 + status = "okay"; 455 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 456 + pinctrl-1 = <&emmc_clk_gate_pins>; 457 + pinctrl-names = "default", "clk-gate"; 458 + 459 + bus-width = <8>; 460 + cap-mmc-highspeed; 461 + mmc-ddr-1_8v; 462 + mmc-hs200-1_8v; 463 + max-frequency = <200000000>; 464 + disable-wp; 465 + 466 + mmc-pwrseq = <&emmc_pwrseq>; 467 + vmmc-supply = <&vcc_3v3>; 468 + vqmmc-supply = <&emmc_1v8>; 469 + }; 470 + 471 + &tdmif_b { 472 + status = "okay"; 473 + }; 474 + 475 + &tdmout_b { 476 + status = "okay"; 477 + }; 478 + 479 + &tohdmitx { 480 + status = "okay"; 481 + }; 482 + 483 + &uart_A { 484 + /* enable if WiFi/BT board connected */ 485 + status = "disabled"; 486 + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 487 + pinctrl-names = "default"; 488 + uart-has-rtscts; 489 + 490 + bluetooth { 491 + compatible = "realtek,rtl8822cs-bt"; 492 + enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 493 + host-wake-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; 494 + device-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>; 495 + }; 496 + }; 497 + 498 + &uart_AO { 499 + status = "okay"; 500 + pinctrl-0 = <&uart_ao_a_pins>; 501 + pinctrl-names = "default"; 502 + }; 503 + 504 + &usb2_phy0 { 505 + phy-supply = <&dc_in>; 506 + }; 507 + 508 + &usb2_phy1 { 509 + phy-supply = <&usb_pwr>; 510 + }; 511 + 512 + &usb3_pcie_phy { 513 + phy-supply = <&usb_pwr>; 514 + }; 515 + 516 + &usb { 517 + status = "okay"; 518 + dr_mode = "peripheral"; 519 + phys = <&usb2_phy0>, <&usb2_phy1>; 520 + phy-names = "usb2-phy0", "usb2-phy1"; 521 + };
+1 -1
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts
··· 620 620 }; 621 621 622 622 &periphs_pinctrl { 623 - keypad_gpio_pins: keypad-gpio { 623 + keypad_gpio_pins: keypad-gpio-state { 624 624 mux { 625 625 groups = "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", 626 626 "GPIOX_4", "GPIOX_5", "GPIOX_6", "GPIOX_7",
+3 -3
arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
··· 360 360 pinctrl-0 = <&pwm_e_pins>; 361 361 pinctrl-names = "default"; 362 362 clocks = <&xtal>; 363 - clock-names = "clkin2"; 363 + clock-names = "clkin0"; 364 364 status = "okay"; 365 365 }; 366 366 ··· 368 368 pinctrl-0 = <&pwm_ao_a_pins>; 369 369 pinctrl-names = "default"; 370 370 clocks = <&xtal>; 371 - clock-names = "clkin3"; 371 + clock-names = "clkin0"; 372 372 status = "okay"; 373 373 }; 374 374 ··· 376 376 pinctrl-0 = <&pwm_ao_d_e_pins>; 377 377 pinctrl-names = "default"; 378 378 clocks = <&xtal>; 379 - clock-names = "clkin4"; 379 + clock-names = "clkin1"; 380 380 status = "okay"; 381 381 }; 382 382
+14
arch/arm64/boot/dts/amlogic/meson-g12b-s922x-bananapi-m2s.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2023 Christian Hewitt <christianshewitt@gmail.com> 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "meson-g12b-s922x.dtsi" 9 + #include "meson-g12b-bananapi.dtsi" 10 + 11 + / { 12 + compatible = "bananapi,bpi-m2s", "amlogic,s922x", "amlogic,g12b"; 13 + model = "BananaPi M2S"; 14 + };
+71 -11
arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts
··· 6 6 /dts-v1/; 7 7 8 8 #include "meson-gxbb-p20x.dtsi" 9 - 10 9 #include <dt-bindings/gpio/gpio.h> 11 10 #include <dt-bindings/input/input.h> 12 11 #include <dt-bindings/leds/common.h> 12 + #include <dt-bindings/sound/meson-aiu.h> 13 + 13 14 / { 14 15 compatible = "videostrong,kii-pro", "amlogic,meson-gxbb"; 15 16 model = "Videostrong KII Pro"; 17 + 18 + spdif_dit: audio-codec-0 { 19 + #sound-dai-cells = <0>; 20 + compatible = "linux,spdif-dit"; 21 + status = "okay"; 22 + sound-name-prefix = "DIT"; 23 + }; 16 24 17 25 leds { 18 26 compatible = "gpio-leds"; 19 27 led { 20 28 gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>; 21 - default-state = "off"; 22 29 color = <LED_COLOR_ID_RED>; 23 30 function = LED_FUNCTION_STATUS; 31 + default-state = "off"; 24 32 }; 25 33 }; 26 34 ··· 43 35 }; 44 36 }; 45 37 46 - }; 38 + sound { 39 + compatible = "amlogic,gx-sound-card"; 40 + model = "KII-PRO"; 41 + assigned-clocks = <&clkc CLKID_MPLL0>, 42 + <&clkc CLKID_MPLL1>, 43 + <&clkc CLKID_MPLL2>; 44 + assigned-clock-parents = <0>, <0>, <0>; 45 + assigned-clock-rates = <294912000>, 46 + <270950400>, 47 + <393216000>; 47 48 49 + dai-link-0 { 50 + sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; 51 + }; 48 52 53 + dai-link-1 { 54 + sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>; 55 + }; 49 56 50 - &uart_A { 51 - status = "okay"; 52 - pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 53 - pinctrl-names = "default"; 54 - uart-has-rtscts; 57 + dai-link-2 { 58 + sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; 59 + dai-format = "i2s"; 60 + mclk-fs = <256>; 55 61 56 - bluetooth { 57 - compatible = "brcm,bcm4335a0"; 62 + codec-0 { 63 + sound-dai = <&aiu AIU_HDMI CTRL_I2S>; 64 + }; 65 + }; 66 + 67 + dai-link-3 { 68 + sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>; 69 + 70 + codec-0 { 71 + sound-dai = <&spdif_dit>; 72 + }; 73 + }; 74 + 75 + dai-link-4 { 76 + sound-dai = <&aiu AIU_HDMI CTRL_OUT>; 77 + 78 + codec-0 { 79 + sound-dai = <&hdmi_tx>; 80 + }; 81 + }; 58 82 }; 59 83 }; 60 84 61 - 85 + &aiu { 86 + status = "okay"; 87 + pinctrl-0 = <&spdif_out_y_pins>; 88 + pinctrl-names = "default"; 89 + }; 62 90 63 91 &ethmac { 64 92 status = "okay"; ··· 121 77 122 78 &ir { 123 79 linux,rc-map-name = "rc-videostrong-kii-pro"; 80 + }; 81 + 82 + &uart_A { 83 + status = "okay"; 84 + pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 85 + pinctrl-names = "default"; 86 + uart-has-rtscts; 87 + 88 + bluetooth { 89 + compatible = "brcm,bcm4335a0"; 90 + shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 91 + host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; 92 + max-speed = <2000000>; 93 + clocks = <&wifi32k>; 94 + clock-names = "lpo"; 95 + }; 124 96 };
+2 -2
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
··· 300 300 }; 301 301 302 302 &gpio_intc { 303 - compatible = "amlogic,meson-gpio-intc", 304 - "amlogic,meson-gxbb-gpio-intc"; 303 + compatible = "amlogic,meson-gxbb-gpio-intc", 304 + "amlogic,meson-gpio-intc"; 305 305 status = "okay"; 306 306 }; 307 307
-1
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc-v2.dts
··· 305 305 }; 306 306 307 307 &usb2_phy0 { 308 - pinctrl-names = "default"; 309 308 phy-supply = <&vcc5v>; 310 309 }; 311 310
+15 -14
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
··· 312 312 }; 313 313 314 314 &gpio_intc { 315 - compatible = "amlogic,meson-gpio-intc", 316 - "amlogic,meson-gxl-gpio-intc"; 315 + compatible = "amlogic,meson-gxl-gpio-intc", 316 + "amlogic,meson-gpio-intc"; 317 317 status = "okay"; 318 318 }; 319 319 ··· 773 773 }; 774 774 }; 775 775 776 - eth-phy-mux@55c { 777 - compatible = "mdio-mux-mmioreg", "mdio-mux"; 776 + eth_phy_mux: mdio@558 { 777 + reg = <0x0 0x558 0x0 0xc>; 778 + compatible = "amlogic,gxl-mdio-mux"; 778 779 #address-cells = <1>; 779 780 #size-cells = <0>; 780 - reg = <0x0 0x55c 0x0 0x4>; 781 - mux-mask = <0xffffffff>; 781 + clocks = <&clkc CLKID_FCLK_DIV4>; 782 + clock-names = "ref"; 782 783 mdio-parent-bus = <&mdio0>; 783 784 784 - internal_mdio: mdio@e40908ff { 785 - reg = <0xe40908ff>; 785 + external_mdio: mdio@0 { 786 + reg = <0x0>; 787 + #address-cells = <1>; 788 + #size-cells = <0>; 789 + }; 790 + 791 + internal_mdio: mdio@1 { 792 + reg = <0x1>; 786 793 #address-cells = <1>; 787 794 #size-cells = <0>; 788 795 ··· 799 792 reg = <8>; 800 793 max-speed = <100>; 801 794 }; 802 - }; 803 - 804 - external_mdio: mdio@2009087f { 805 - reg = <0x2009087f>; 806 - #address-cells = <1>; 807 - #size-cells = <0>; 808 795 }; 809 796 }; 810 797 };
+4
arch/arm64/boot/dts/amlogic/meson-gxm-s912-libretech-pc.dts
··· 54 54 vbus-supply = <&typec2_vbus>; 55 55 56 56 status = "okay"; 57 + 58 + connector { 59 + compatible = "usb-c-connector"; 60 + }; 57 61 }; 58 62 }; 59 63
+1 -1
arch/arm64/boot/dts/amlogic/meson-s4.dtsi
··· 85 85 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 86 86 }; 87 87 88 - apb4: apb4@fe000000 { 88 + apb4: bus@fe000000 { 89 89 compatible = "simple-bus"; 90 90 reg = <0x0 0xfe000000 0x0 0x480000>; 91 91 #address-cells = <2>;
+2 -2
arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
··· 105 105 regulator-min-microvolt = <1800000>; 106 106 regulator-max-microvolt = <3300000>; 107 107 108 - enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; 108 + enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; 109 109 enable-active-high; 110 110 regulator-always-on; 111 111 ··· 316 316 * be handled by a USB specific power sequence to reset the Hub 317 317 * when the USB bus is powered down. 318 318 */ 319 - usb-hub { 319 + usb-hub-hog { 320 320 gpio-hog; 321 321 gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>; 322 322 output-high;
+1 -1
arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
··· 48 48 regulator-max-microvolt = <3300000>; 49 49 vin-supply = <&vcc_5v>; 50 50 51 - enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; 51 + enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; 52 52 enable-active-high; 53 53 regulator-always-on; 54 54