1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) << 2 /* 1 /* 3 * Copyright (c) 2017 BayLibre, SAS. 2 * Copyright (c) 2017 BayLibre, SAS. 4 * Author: Neil Armstrong <narmstrong@baylibre. 3 * Author: Neil Armstrong <narmstrong@baylibre.com> 5 * Author: Jerome Brunet <jbrunet@baylibre.com> 4 * Author: Jerome Brunet <jbrunet@baylibre.com> >> 5 * >> 6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 */ 7 */ 7 8 8 /dts-v1/; 9 /dts-v1/; 9 10 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/sound/meson-aiu.h> << 12 12 13 #include "meson-gxl-s905x.dtsi" 13 #include "meson-gxl-s905x.dtsi" 14 14 15 / { 15 / { 16 compatible = "libretech,aml-s905x-cc", !! 16 compatible = "libretech,cc", "amlogic,s905x", "amlogic,meson-gxl"; 17 "amlogic,meson-gxl"; !! 17 model = "Libre Technology CC"; 18 model = "Libre Computer AML-S905X-CC"; << 19 18 20 aliases { 19 aliases { 21 serial0 = &uart_AO; 20 serial0 = &uart_AO; 22 ethernet0 = ðmac; << 23 }; << 24 << 25 dio2133: analog-amplifier { << 26 compatible = "simple-audio-amp << 27 sound-name-prefix = "AU2"; << 28 VCC-supply = <&hdmi_5v>; << 29 enable-gpios = <&gpio GPIOH_5 << 30 }; 21 }; 31 22 32 chosen { 23 chosen { 33 stdout-path = "serial0:115200n 24 stdout-path = "serial0:115200n8"; 34 }; 25 }; 35 26 36 cvbs-connector { 27 cvbs-connector { 37 compatible = "composite-video- 28 compatible = "composite-video-connector"; 38 29 39 port { 30 port { 40 cvbs_connector_in: end 31 cvbs_connector_in: endpoint { 41 remote-endpoin 32 remote-endpoint = <&cvbs_vdac_out>; 42 }; 33 }; 43 }; 34 }; 44 }; 35 }; 45 36 46 emmc_pwrseq: emmc-pwrseq { 37 emmc_pwrseq: emmc-pwrseq { 47 compatible = "mmc-pwrseq-emmc" 38 compatible = "mmc-pwrseq-emmc"; 48 reset-gpios = <&gpio BOOT_9 GP 39 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 49 }; 40 }; 50 41 51 hdmi-connector { 42 hdmi-connector { 52 compatible = "hdmi-connector"; 43 compatible = "hdmi-connector"; 53 type = "a"; 44 type = "a"; 54 45 55 port { 46 port { 56 hdmi_connector_in: end 47 hdmi_connector_in: endpoint { 57 remote-endpoin 48 remote-endpoint = <&hdmi_tx_tmds_out>; 58 }; 49 }; 59 }; 50 }; 60 }; 51 }; 61 52 62 leds { 53 leds { 63 compatible = "gpio-leds"; 54 compatible = "gpio-leds"; 64 55 65 led-system { !! 56 system { 66 label = "librecomputer 57 label = "librecomputer:system-status"; 67 gpios = <&gpio GPIODV_ 58 gpios = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; 68 default-state = "on"; 59 default-state = "on"; 69 panic-indicator; 60 panic-indicator; 70 }; 61 }; 71 62 72 led-blue { !! 63 blue { 73 label = "librecomputer 64 label = "librecomputer:blue"; 74 gpios = <&gpio_ao GPIO 65 gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 75 linux,default-trigger 66 linux,default-trigger = "heartbeat"; 76 }; 67 }; 77 }; 68 }; 78 69 79 memory@0 { 70 memory@0 { 80 device_type = "memory"; 71 device_type = "memory"; 81 reg = <0x0 0x0 0x0 0x80000000> 72 reg = <0x0 0x0 0x0 0x80000000>; 82 }; 73 }; 83 74 84 hdmi_5v: regulator-hdmi-5v { !! 75 vcc_3v3: regulator-vcc_3v3 { 85 compatible = "regulator-fixed" << 86 << 87 regulator-name = "HDMI_5V"; << 88 regulator-min-microvolt = <500 << 89 regulator-max-microvolt = <500 << 90 << 91 gpio = <&gpio GPIOH_3 GPIO_ACT << 92 enable-active-high; << 93 regulator-always-on; << 94 }; << 95 << 96 vcc_3v3: regulator-vcc-3v3 { << 97 compatible = "regulator-fixed" 76 compatible = "regulator-fixed"; 98 regulator-name = "VCC_3V3"; 77 regulator-name = "VCC_3V3"; 99 regulator-min-microvolt = <330 78 regulator-min-microvolt = <3300000>; 100 regulator-max-microvolt = <330 79 regulator-max-microvolt = <3300000>; 101 }; 80 }; 102 81 103 vcc_card: regulator-vcc-card { 82 vcc_card: regulator-vcc-card { 104 compatible = "regulator-gpio"; 83 compatible = "regulator-gpio"; 105 84 106 regulator-name = "VCC_CARD"; 85 regulator-name = "VCC_CARD"; 107 regulator-min-microvolt = <180 86 regulator-min-microvolt = <1800000>; 108 regulator-max-microvolt = <330 87 regulator-max-microvolt = <3300000>; 109 88 110 gpios = <&gpio_ao GPIOAO_3 GPI 89 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; 111 gpios-states = <0>; 90 gpios-states = <0>; 112 91 113 states = <3300000 0>, 92 states = <3300000 0>, 114 <1800000 1>; 93 <1800000 1>; 115 << 116 regulator-settling-time-up-us << 117 regulator-settling-time-down-u << 118 }; 94 }; 119 95 120 vddio_ao18: regulator-vddio-ao18 { !! 96 vddio_boot: regulator-vddio_boot { 121 compatible = "regulator-fixed" << 122 regulator-name = "VDDIO_AO18"; << 123 regulator-min-microvolt = <180 << 124 regulator-max-microvolt = <180 << 125 }; << 126 << 127 /* This is provided by LDOs on the eMM << 128 vddio_boot: regulator-vddio-boot { << 129 compatible = "regulator-fixed" 97 compatible = "regulator-fixed"; 130 regulator-name = "VDDIO_BOOT"; 98 regulator-name = "VDDIO_BOOT"; 131 regulator-min-microvolt = <180 !! 99 regulator-min-microvolt = <3300000>; 132 regulator-max-microvolt = <180 !! 100 regulator-max-microvolt = <3300000>; 133 vin-supply = <&vcc_3v3>; << 134 }; << 135 << 136 sound { << 137 compatible = "amlogic,gx-sound << 138 model = "LIBRETECH-CC"; << 139 audio-aux-devs = <&dio2133>; << 140 audio-widgets = "Line", "Lineo << 141 audio-routing = "AU2 INL", "AC << 142 "AU2 INR", "AC << 143 "Lineout", "AU << 144 "Lineout", "AU << 145 clocks = <&clkc CLKID_MPLL0>, << 146 <&clkc CLKID_MPLL1>, << 147 <&clkc CLKID_MPLL2>; << 148 << 149 assigned-clocks = <&clkc CLKID << 150 <&clkc CLKID << 151 <&clkc CLKID << 152 assigned-clock-parents = <0>, << 153 assigned-clock-rates = <294912 << 154 <270950 << 155 <393216 << 156 << 157 dai-link-0 { << 158 sound-dai = <&aiu AIU_ << 159 }; << 160 << 161 dai-link-1 { << 162 sound-dai = <&aiu AIU_ << 163 dai-format = "i2s"; << 164 mclk-fs = <256>; << 165 << 166 codec-0 { << 167 sound-dai = <& << 168 }; << 169 << 170 codec-1 { << 171 sound-dai = <& << 172 }; << 173 }; << 174 << 175 dai-link-2 { << 176 sound-dai = <&aiu AIU_ << 177 << 178 codec-0 { << 179 sound-dai = <& << 180 }; << 181 }; << 182 << 183 dai-link-3 { << 184 sound-dai = <&aiu AIU_ << 185 << 186 codec-0 { << 187 sound-dai = <& << 188 }; << 189 }; << 190 }; 101 }; 191 }; 102 }; 192 103 193 &acodec { << 194 AVDD-supply = <&vddio_ao18>; << 195 status = "okay"; << 196 }; << 197 << 198 &aiu { << 199 status = "okay"; << 200 }; << 201 << 202 &cec_AO { << 203 status = "okay"; << 204 pinctrl-0 = <&ao_cec_pins>; << 205 pinctrl-names = "default"; << 206 hdmi-phandle = <&hdmi_tx>; << 207 }; << 208 << 209 &cvbs_vdac_port { 104 &cvbs_vdac_port { 210 cvbs_vdac_out: endpoint { 105 cvbs_vdac_out: endpoint { 211 remote-endpoint = <&cvbs_conne 106 remote-endpoint = <&cvbs_connector_in>; 212 }; 107 }; 213 }; 108 }; 214 109 215 ðmac { 110 ðmac { 216 status = "okay"; 111 status = "okay"; 217 }; 112 }; 218 113 219 &internal_phy { << 220 pinctrl-0 = <ð_link_led_pins>, <&et << 221 pinctrl-names = "default"; << 222 }; << 223 << 224 &ir { 114 &ir { 225 status = "okay"; 115 status = "okay"; 226 pinctrl-0 = <&remote_input_ao_pins>; 116 pinctrl-0 = <&remote_input_ao_pins>; 227 pinctrl-names = "default"; 117 pinctrl-names = "default"; 228 }; 118 }; 229 119 230 &hdmi_tx { 120 &hdmi_tx { 231 status = "okay"; 121 status = "okay"; 232 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i 122 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 233 pinctrl-names = "default"; 123 pinctrl-names = "default"; 234 hdmi-supply = <&hdmi_5v>; << 235 }; 124 }; 236 125 237 &hdmi_tx_tmds_port { 126 &hdmi_tx_tmds_port { 238 hdmi_tx_tmds_out: endpoint { 127 hdmi_tx_tmds_out: endpoint { 239 remote-endpoint = <&hdmi_conne 128 remote-endpoint = <&hdmi_connector_in>; 240 }; 129 }; 241 }; 130 }; 242 131 243 &gpio_ao { << 244 gpio-line-names = "UART TX", << 245 "UART RX", << 246 "Blue LED", << 247 "SDCard Voltage Swit << 248 "7J1 Header Pin5", << 249 "7J1 Header Pin3", << 250 "7J1 Header Pin12", << 251 "IR In", << 252 "9J3 Switch HDMI CEC << 253 "7J1 Header Pin13", << 254 /* GPIO_TEST_N */ << 255 "7J1 Header Pin15"; << 256 }; << 257 << 258 &gpio { << 259 gpio-line-names = /* Bank GPIOZ */ << 260 "", "", "", "", "", << 261 "", "", "", "", "", << 262 "Eth Link LED", "Eth << 263 /* Bank GPIOH */ << 264 "HDMI HPD", "HDMI SD << 265 "HDMI_5V_EN", "9J1 H << 266 "Analog Audio Mute", << 267 "2J3 Header Pin6", << 268 "2J3 Header Pin5", << 269 "2J3 Header Pin4", << 270 "2J3 Header Pin3", << 271 /* Bank BOOT */ << 272 "eMMC D0", "eMMC D1" << 273 "eMMC D4", "eMMC D5" << 274 "eMMC Clk", "eMMC Re << 275 "ALT BOOT MODE", "", << 276 /* Bank CARD */ << 277 "SDCard D1", "SDCard << 278 "SDCard D3", "SDCard << 279 /* Bank GPIODV */ << 280 "", "", "", "", "", << 281 "", "", "", "", "", << 282 "Green LED", "VCCK E << 283 "7J1 Header Pin27", << 284 "VCCK Regulator", "V << 285 /* Bank GPIOX */ << 286 "7J1 Header Pin22", << 287 "7J1 Header Pin36", << 288 "7J1 Header Pin40", << 289 "7J1 Header Pin33", << 290 "7J1 Header Pin19", << 291 "7J1 Header Pin24", << 292 "7J1 Header Pin8", " << 293 "7J1 Header Pin16", << 294 "7J1 Header Pin32", << 295 "7J1 Header Pin31", << 296 /* Bank GPIOCLK */ << 297 "7J1 Header Pin7", " << 298 }; << 299 << 300 &saradc { << 301 status = "okay"; << 302 vref-supply = <&vddio_ao18>; << 303 }; << 304 << 305 /* SD card */ 132 /* SD card */ 306 &sd_emmc_b { 133 &sd_emmc_b { 307 status = "okay"; 134 status = "okay"; 308 pinctrl-0 = <&sdcard_pins>; 135 pinctrl-0 = <&sdcard_pins>; 309 pinctrl-1 = <&sdcard_clk_gate_pins>; !! 136 pinctrl-names = "default"; 310 pinctrl-names = "default", "clk-gate"; << 311 137 312 bus-width = <4>; 138 bus-width = <4>; 313 cap-sd-highspeed; 139 cap-sd-highspeed; 314 max-frequency = <50000000>; !! 140 max-frequency = <100000000>; 315 disable-wp; 141 disable-wp; 316 142 317 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_L !! 143 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; >> 144 cd-inverted; 318 145 319 vmmc-supply = <&vcc_3v3>; 146 vmmc-supply = <&vcc_3v3>; 320 vqmmc-supply = <&vcc_card>; 147 vqmmc-supply = <&vcc_card>; 321 }; 148 }; 322 149 323 /* eMMC */ 150 /* eMMC */ 324 &sd_emmc_c { 151 &sd_emmc_c { 325 status = "okay"; 152 status = "okay"; 326 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pi !! 153 pinctrl-0 = <&emmc_pins>; 327 pinctrl-1 = <&emmc_clk_gate_pins>; !! 154 pinctrl-names = "default"; 328 pinctrl-names = "default", "clk-gate"; << 329 155 330 bus-width = <8>; 156 bus-width = <8>; 331 cap-mmc-highspeed; 157 cap-mmc-highspeed; 332 mmc-ddr-1_8v; !! 158 max-frequency = <50000000>; 333 mmc-hs200-1_8v; !! 159 non-removable; 334 max-frequency = <200000000>; << 335 disable-wp; 160 disable-wp; 336 161 337 mmc-pwrseq = <&emmc_pwrseq>; 162 mmc-pwrseq = <&emmc_pwrseq>; 338 vmmc-supply = <&vcc_3v3>; 163 vmmc-supply = <&vcc_3v3>; 339 vqmmc-supply = <&vddio_boot>; 164 vqmmc-supply = <&vddio_boot>; 340 }; 165 }; 341 166 342 &uart_AO { 167 &uart_AO { 343 status = "okay"; 168 status = "okay"; 344 pinctrl-0 = <&uart_ao_a_pins>; 169 pinctrl-0 = <&uart_ao_a_pins>; 345 pinctrl-names = "default"; 170 pinctrl-names = "default"; 346 }; << 347 << 348 &usb { << 349 status = "okay"; << 350 dr_mode = "host"; << 351 }; << 352 << 353 &usb2_phy0 { << 354 /* << 355 * even though the schematics don't sh << 356 * HDMI_5V is also used as supply for << 357 */ << 358 phy-supply = <&hdmi_5v>; << 359 }; 171 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.