1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 29bc7ffb0SAndreas Färber/* 39bc7ffb0SAndreas Färber * Copyright (c) 2017 Andreas Färber 49bc7ffb0SAndreas Färber */ 59bc7ffb0SAndreas Färber 69bc7ffb0SAndreas Färber/dts-v1/; 79bc7ffb0SAndreas Färber 89bc7ffb0SAndreas Färber#include "meson-gxbb.dtsi" 99bc7ffb0SAndreas Färber#include <dt-bindings/gpio/gpio.h> 106a74f78cSChristian Hewitt#include <dt-bindings/sound/meson-aiu.h> 119bc7ffb0SAndreas Färber 129bc7ffb0SAndreas Färber/ { 139bc7ffb0SAndreas Färber compatible = "friendlyarm,nanopi-k2", "amlogic,meson-gxbb"; 14591185c1SNeil Armstrong model = "FriendlyARM NanoPi K2"; 159bc7ffb0SAndreas Färber 169bc7ffb0SAndreas Färber aliases { 179bc7ffb0SAndreas Färber serial0 = &uart_AO; 18059a58fcSJorge Ramirez-Ortiz ethernet0 = ðmac; 199bc7ffb0SAndreas Färber }; 209bc7ffb0SAndreas Färber 219bc7ffb0SAndreas Färber chosen { 229bc7ffb0SAndreas Färber stdout-path = "serial0:115200n8"; 239bc7ffb0SAndreas Färber }; 249bc7ffb0SAndreas Färber 259bc7ffb0SAndreas Färber memory@0 { 269bc7ffb0SAndreas Färber device_type = "memory"; 279bc7ffb0SAndreas Färber reg = <0x0 0x0 0x0 0x80000000>; 289bc7ffb0SAndreas Färber }; 299bc7ffb0SAndreas Färber 309bc7ffb0SAndreas Färber leds { 319bc7ffb0SAndreas Färber compatible = "gpio-leds"; 329bc7ffb0SAndreas Färber 3308dc0e5dSNeil Armstrong led-stat { 349bc7ffb0SAndreas Färber label = "nanopi-k2:blue:stat"; 359bc7ffb0SAndreas Färber gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; 369bc7ffb0SAndreas Färber default-state = "on"; 379bc7ffb0SAndreas Färber panic-indicator; 389bc7ffb0SAndreas Färber }; 399bc7ffb0SAndreas Färber }; 409bc7ffb0SAndreas Färber 419bc7ffb0SAndreas Färber vdd_5v: regulator-vdd-5v { 429bc7ffb0SAndreas Färber compatible = "regulator-fixed"; 439bc7ffb0SAndreas Färber regulator-name = "VDD_5V"; 449bc7ffb0SAndreas Färber regulator-min-microvolt = <5000000>; 459bc7ffb0SAndreas Färber regulator-max-microvolt = <5000000>; 469bc7ffb0SAndreas Färber }; 479bc7ffb0SAndreas Färber 489bc7ffb0SAndreas Färber vddio_ao18: regulator-vddio-ao18 { 499bc7ffb0SAndreas Färber compatible = "regulator-fixed"; 509bc7ffb0SAndreas Färber regulator-name = "VDDIO_AO18"; 519bc7ffb0SAndreas Färber regulator-min-microvolt = <1800000>; 529bc7ffb0SAndreas Färber regulator-max-microvolt = <1800000>; 539bc7ffb0SAndreas Färber }; 549bc7ffb0SAndreas Färber 559bc7ffb0SAndreas Färber vddio_ao3v3: regulator-vddio-ao3v3 { 569bc7ffb0SAndreas Färber compatible = "regulator-fixed"; 579bc7ffb0SAndreas Färber regulator-name = "VDDIO_AO3.3V"; 589bc7ffb0SAndreas Färber regulator-min-microvolt = <3300000>; 599bc7ffb0SAndreas Färber regulator-max-microvolt = <3300000>; 609bc7ffb0SAndreas Färber }; 619bc7ffb0SAndreas Färber 629bc7ffb0SAndreas Färber vddio_tf: regulator-vddio-tf { 639bc7ffb0SAndreas Färber compatible = "regulator-gpio"; 649bc7ffb0SAndreas Färber 659bc7ffb0SAndreas Färber regulator-name = "VDDIO_TF"; 669bc7ffb0SAndreas Färber regulator-min-microvolt = <1800000>; 679bc7ffb0SAndreas Färber regulator-max-microvolt = <3300000>; 689bc7ffb0SAndreas Färber 699bc7ffb0SAndreas Färber gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 709bc7ffb0SAndreas Färber gpios-states = <0>; 719bc7ffb0SAndreas Färber 729bc7ffb0SAndreas Färber states = <3300000 0>, 739bc7ffb0SAndreas Färber <1800000 1>; 7442776561SJerome Brunet 7542776561SJerome Brunet regulator-settling-time-up-us = <100>; 7642776561SJerome Brunet regulator-settling-time-down-us = <5000>; 779bc7ffb0SAndreas Färber }; 789bc7ffb0SAndreas Färber 799bc7ffb0SAndreas Färber wifi_32k: wifi-32k { 809bc7ffb0SAndreas Färber compatible = "pwm-clock"; 819bc7ffb0SAndreas Färber #clock-cells = <0>; 829bc7ffb0SAndreas Färber clock-frequency = <32768>; 839bc7ffb0SAndreas Färber pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 849bc7ffb0SAndreas Färber }; 859bc7ffb0SAndreas Färber 869bc7ffb0SAndreas Färber sdio_pwrseq: sdio-pwrseq { 879bc7ffb0SAndreas Färber compatible = "mmc-pwrseq-simple"; 889bc7ffb0SAndreas Färber reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 899bc7ffb0SAndreas Färber clocks = <&wifi_32k>; 909bc7ffb0SAndreas Färber clock-names = "ext_clock"; 919bc7ffb0SAndreas Färber }; 929bc7ffb0SAndreas Färber 939bc7ffb0SAndreas Färber vcc1v8: regulator-vcc1v8 { 949bc7ffb0SAndreas Färber compatible = "regulator-fixed"; 959bc7ffb0SAndreas Färber regulator-name = "VCC1.8V"; 969bc7ffb0SAndreas Färber regulator-min-microvolt = <1800000>; 979bc7ffb0SAndreas Färber regulator-max-microvolt = <1800000>; 989bc7ffb0SAndreas Färber }; 999bc7ffb0SAndreas Färber 1009bc7ffb0SAndreas Färber vcc3v3: regulator-vcc3v3 { 1019bc7ffb0SAndreas Färber compatible = "regulator-fixed"; 1029bc7ffb0SAndreas Färber regulator-name = "VCC3.3V"; 1039bc7ffb0SAndreas Färber regulator-min-microvolt = <3300000>; 1049bc7ffb0SAndreas Färber regulator-max-microvolt = <3300000>; 1059bc7ffb0SAndreas Färber }; 1069bc7ffb0SAndreas Färber 1079bc7ffb0SAndreas Färber emmc_pwrseq: emmc-pwrseq { 1089bc7ffb0SAndreas Färber compatible = "mmc-pwrseq-emmc"; 1099bc7ffb0SAndreas Färber reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 1109bc7ffb0SAndreas Färber }; 111d1b5a0a8SNeil Armstrong 112d1b5a0a8SNeil Armstrong /* CVBS is available on CON1 pin 36, disabled by default */ 113d1b5a0a8SNeil Armstrong cvbs-connector { 114d1b5a0a8SNeil Armstrong compatible = "composite-video-connector"; 115d1b5a0a8SNeil Armstrong status = "disabled"; 116d1b5a0a8SNeil Armstrong 117d1b5a0a8SNeil Armstrong port { 118d1b5a0a8SNeil Armstrong cvbs_connector_in: endpoint { 119d1b5a0a8SNeil Armstrong remote-endpoint = <&cvbs_vdac_out>; 120d1b5a0a8SNeil Armstrong }; 121d1b5a0a8SNeil Armstrong }; 122d1b5a0a8SNeil Armstrong }; 123d1b5a0a8SNeil Armstrong 124d1b5a0a8SNeil Armstrong hdmi-connector { 125d1b5a0a8SNeil Armstrong compatible = "hdmi-connector"; 126d1b5a0a8SNeil Armstrong type = "a"; 127d1b5a0a8SNeil Armstrong 128d1b5a0a8SNeil Armstrong port { 129d1b5a0a8SNeil Armstrong hdmi_connector_in: endpoint { 130d1b5a0a8SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 131d1b5a0a8SNeil Armstrong }; 132d1b5a0a8SNeil Armstrong }; 133d1b5a0a8SNeil Armstrong }; 1346a74f78cSChristian Hewitt 1356a74f78cSChristian Hewitt sound { 1366a74f78cSChristian Hewitt compatible = "amlogic,gx-sound-card"; 137933b80edSChristian Hewitt model = "NANOPI-K2"; 138*9b5d2511SNeil Armstrong clocks = <&clkc CLKID_MPLL0>, 139*9b5d2511SNeil Armstrong <&clkc CLKID_MPLL1>, 140*9b5d2511SNeil Armstrong <&clkc CLKID_MPLL2>; 141*9b5d2511SNeil Armstrong 1426a74f78cSChristian Hewitt assigned-clocks = <&clkc CLKID_MPLL0>, 1436a74f78cSChristian Hewitt <&clkc CLKID_MPLL1>, 1446a74f78cSChristian Hewitt <&clkc CLKID_MPLL2>; 1456a74f78cSChristian Hewitt assigned-clock-parents = <0>, <0>, <0>; 1466a74f78cSChristian Hewitt assigned-clock-rates = <294912000>, 1476a74f78cSChristian Hewitt <270950400>, 1486a74f78cSChristian Hewitt <393216000>; 1496a74f78cSChristian Hewitt 1506a74f78cSChristian Hewitt dai-link-0 { 1516a74f78cSChristian Hewitt sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; 1526a74f78cSChristian Hewitt }; 1536a74f78cSChristian Hewitt 1546a74f78cSChristian Hewitt dai-link-1 { 1556a74f78cSChristian Hewitt sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; 1566a74f78cSChristian Hewitt dai-format = "i2s"; 1576a74f78cSChristian Hewitt mclk-fs = <256>; 1586a74f78cSChristian Hewitt 1596a74f78cSChristian Hewitt codec-0 { 1606a74f78cSChristian Hewitt sound-dai = <&aiu AIU_HDMI CTRL_I2S>; 1616a74f78cSChristian Hewitt }; 1626a74f78cSChristian Hewitt }; 1636a74f78cSChristian Hewitt 1646a74f78cSChristian Hewitt dai-link-2 { 1656a74f78cSChristian Hewitt sound-dai = <&aiu AIU_HDMI CTRL_OUT>; 1666a74f78cSChristian Hewitt 1676a74f78cSChristian Hewitt codec-0 { 1686a74f78cSChristian Hewitt sound-dai = <&hdmi_tx>; 1696a74f78cSChristian Hewitt }; 1706a74f78cSChristian Hewitt }; 1716a74f78cSChristian Hewitt }; 1726a74f78cSChristian Hewitt}; 1736a74f78cSChristian Hewitt 1746a74f78cSChristian Hewitt&aiu { 1756a74f78cSChristian Hewitt status = "okay"; 176d1b5a0a8SNeil Armstrong}; 177d1b5a0a8SNeil Armstrong 178d1b5a0a8SNeil Armstrong&cec_AO { 179d1b5a0a8SNeil Armstrong status = "okay"; 180d1b5a0a8SNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 181d1b5a0a8SNeil Armstrong pinctrl-names = "default"; 182d1b5a0a8SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 183d1b5a0a8SNeil Armstrong}; 184d1b5a0a8SNeil Armstrong 185d1b5a0a8SNeil Armstrong&cvbs_vdac_port { 186d1b5a0a8SNeil Armstrong cvbs_vdac_out: endpoint { 187d1b5a0a8SNeil Armstrong remote-endpoint = <&cvbs_connector_in>; 188d1b5a0a8SNeil Armstrong }; 1899bc7ffb0SAndreas Färber}; 1909bc7ffb0SAndreas Färber 1919bc7ffb0SAndreas Färberðmac { 1929bc7ffb0SAndreas Färber status = "okay"; 1939bc7ffb0SAndreas Färber pinctrl-0 = <ð_rgmii_pins>; 1949bc7ffb0SAndreas Färber pinctrl-names = "default"; 1959bc7ffb0SAndreas Färber 1969bc7ffb0SAndreas Färber phy-handle = <ð_phy0>; 1979bc7ffb0SAndreas Färber phy-mode = "rgmii"; 1989bc7ffb0SAndreas Färber 1999bc7ffb0SAndreas Färber amlogic,tx-delay-ns = <2>; 2009bc7ffb0SAndreas Färber 2019bc7ffb0SAndreas Färber mdio { 2029bc7ffb0SAndreas Färber compatible = "snps,dwmac-mdio"; 2039bc7ffb0SAndreas Färber #address-cells = <1>; 2049bc7ffb0SAndreas Färber #size-cells = <0>; 2059bc7ffb0SAndreas Färber 2069bc7ffb0SAndreas Färber eth_phy0: ethernet-phy@0 { 2079bc7ffb0SAndreas Färber /* Realtek RTL8211F (0x001cc916) */ 2089bc7ffb0SAndreas Färber reg = <0>; 209f29cabf2SMartin Blumenstingl 210f29cabf2SMartin Blumenstingl reset-assert-us = <10000>; 211c183c406SStefan Agner reset-deassert-us = <80000>; 212f29cabf2SMartin Blumenstingl reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 213f29cabf2SMartin Blumenstingl 214b94d22d9SJerome Brunet interrupt-parent = <&gpio_intc>; 21550290cfeSMartin Blumenstingl /* MAC_INTR on GPIOZ_15 */ 216b94d22d9SJerome Brunet interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 2179bc7ffb0SAndreas Färber }; 2189bc7ffb0SAndreas Färber }; 2199bc7ffb0SAndreas Färber}; 2209bc7ffb0SAndreas Färber 221d1b5a0a8SNeil Armstrong&hdmi_tx { 222d1b5a0a8SNeil Armstrong status = "okay"; 223d1b5a0a8SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 224d1b5a0a8SNeil Armstrong pinctrl-names = "default"; 225d1b5a0a8SNeil Armstrong}; 226d1b5a0a8SNeil Armstrong 227d1b5a0a8SNeil Armstrong&hdmi_tx_tmds_port { 228d1b5a0a8SNeil Armstrong hdmi_tx_tmds_out: endpoint { 229d1b5a0a8SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 230d1b5a0a8SNeil Armstrong }; 231d1b5a0a8SNeil Armstrong}; 232d1b5a0a8SNeil Armstrong 2339bc7ffb0SAndreas Färber&ir { 2349bc7ffb0SAndreas Färber status = "okay"; 2359bc7ffb0SAndreas Färber pinctrl-0 = <&remote_input_ao_pins>; 2369bc7ffb0SAndreas Färber pinctrl-names = "default"; 2379bc7ffb0SAndreas Färber}; 2389bc7ffb0SAndreas Färber 239f0783f5eSNeil Armstrong&gpio_ao { 24012ada051SNeil Armstrong gpio-line-names = "UART TX", "UART RX", "Power Control", "Power Key In", 24112ada051SNeil Armstrong "VCCK En", "CON1 Header Pin31", 24212ada051SNeil Armstrong "I2S Header Pin6", "IR In", "I2S Header Pin7", 24312ada051SNeil Armstrong "I2S Header Pin3", "I2S Header Pin4", 2441ce2c008SJerome Brunet "I2S Header Pin5", "HDMI CEC", "SYS LED", 2451ce2c008SJerome Brunet /* GPIO_TEST_N */ 2461ce2c008SJerome Brunet ""; 24712ada051SNeil Armstrong}; 24812ada051SNeil Armstrong 249f0783f5eSNeil Armstrong&gpio { 25012ada051SNeil Armstrong gpio-line-names = /* Bank GPIOZ */ 25112ada051SNeil Armstrong "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk", 25212ada051SNeil Armstrong "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2", 25312ada051SNeil Armstrong "Eth RX D3", "Eth RGMII TX Clk", "Eth TX En", 25412ada051SNeil Armstrong "Eth TX D0", "Eth TX D1", "Eth TX D2", "Eth TX D3", 25512ada051SNeil Armstrong "Eth PHY nRESET", "Eth PHY Intc", 25612ada051SNeil Armstrong /* Bank GPIOH */ 25712ada051SNeil Armstrong "HDMI HPD", "HDMI DDC SDA", "HDMI DDC SCL", 25812ada051SNeil Armstrong "CON1 Header Pin33", 25912ada051SNeil Armstrong /* Bank BOOT */ 26012ada051SNeil Armstrong "eMMC D0", "eMMC D1", "eMMC D2", "eMMC D3", "eMMC D4", 26112ada051SNeil Armstrong "eMMC D5", "eMMC D6", "eMMC D7", "eMMC Clk", 26212ada051SNeil Armstrong "eMMC Reset", "eMMC CMD", 26312ada051SNeil Armstrong "", "", "", "", "eMMC DS", 26412ada051SNeil Armstrong "", "", 26512ada051SNeil Armstrong /* Bank CARD */ 26612ada051SNeil Armstrong "SDCard D1", "SDCard D0", "SDCard CLK", "SDCard CMD", 26712ada051SNeil Armstrong "SDCard D3", "SDCard D2", "SDCard Det", 26812ada051SNeil Armstrong /* Bank GPIODV */ 26912ada051SNeil Armstrong "", "", "", "", "", "", "", "", "", "", "", "", "", 27012ada051SNeil Armstrong "", "", "", "", "", "", "", "", "", "", "", 27112ada051SNeil Armstrong "I2C A SDA", "I2C A SCK", "I2C B SDA", "I2C B SCK", 27212ada051SNeil Armstrong "VDDEE Regulator", "VCCK Regulator", 27312ada051SNeil Armstrong /* Bank GPIOY */ 27412ada051SNeil Armstrong "CON1 Header Pin7", "CON1 Header Pin11", 27512ada051SNeil Armstrong "CON1 Header Pin13", "CON1 Header Pin15", 27612ada051SNeil Armstrong "CON1 Header Pin18", "CON1 Header Pin19", 27712ada051SNeil Armstrong "CON1 Header Pin22", "CON1 Header Pin21", 27812ada051SNeil Armstrong "CON1 Header Pin24", "CON1 Header Pin23", 27912ada051SNeil Armstrong "CON1 Header Pin26", "CON1 Header Pin29", 28012ada051SNeil Armstrong "CON1 Header Pin32", "CON1 Header Pin8", 28112ada051SNeil Armstrong "CON1 Header Pin10", "CON1 Header Pin16", 28212ada051SNeil Armstrong "CON1 Header Pin12", 28312ada051SNeil Armstrong /* Bank GPIOX */ 28412ada051SNeil Armstrong "WIFI SDIO D0", "WIFI SDIO D1", "WIFI SDIO D2", 28512ada051SNeil Armstrong "WIFI SDIO D3", "WIFI SDIO CLK", "WIFI SDIO CMD", 28612ada051SNeil Armstrong "WIFI Power Enable", "WIFI WAKE HOST", 28712ada051SNeil Armstrong "Bluetooth PCM DOUT", "Bluetooth PCM DIN", 28812ada051SNeil Armstrong "Bluetooth PCM SYNC", "Bluetooth PCM CLK", 28912ada051SNeil Armstrong "Bluetooth UART TX", "Bluetooth UART RX", 29012ada051SNeil Armstrong "Bluetooth UART CTS", "Bluetooth UART RTS", 29112ada051SNeil Armstrong "", "", "", "WIFI 32K", "Bluetooth Enable", 2921ce2c008SJerome Brunet "Bluetooth WAKE HOST", "", 29312ada051SNeil Armstrong /* Bank GPIOCLK */ 2941ce2c008SJerome Brunet "", "CON1 Header Pin35", "", ""; 29512ada051SNeil Armstrong}; 29612ada051SNeil Armstrong 2979bc7ffb0SAndreas Färber&pwm_ef { 2989bc7ffb0SAndreas Färber status = "okay"; 2999bc7ffb0SAndreas Färber pinctrl-0 = <&pwm_e_pins>; 3009bc7ffb0SAndreas Färber pinctrl-names = "default"; 3019bc7ffb0SAndreas Färber}; 3029bc7ffb0SAndreas Färber 3039bc7ffb0SAndreas Färber&saradc { 3049bc7ffb0SAndreas Färber status = "okay"; 3059bc7ffb0SAndreas Färber vref-supply = <&vddio_ao18>; 3069bc7ffb0SAndreas Färber}; 3079bc7ffb0SAndreas Färber 3089bc7ffb0SAndreas Färber/* SDIO */ 3099bc7ffb0SAndreas Färber&sd_emmc_a { 3109bc7ffb0SAndreas Färber status = "okay"; 3119bc7ffb0SAndreas Färber pinctrl-0 = <&sdio_pins>, <&sdio_irq_pins>; 31267e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 31367e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 3149bc7ffb0SAndreas Färber #address-cells = <1>; 3159bc7ffb0SAndreas Färber #size-cells = <0>; 3169bc7ffb0SAndreas Färber 3179bc7ffb0SAndreas Färber bus-width = <4>; 3189bc7ffb0SAndreas Färber cap-sd-highspeed; 319adc52bf7SJerome Brunet max-frequency = <50000000>; 3209bc7ffb0SAndreas Färber 3219bc7ffb0SAndreas Färber non-removable; 3229bc7ffb0SAndreas Färber disable-wp; 3239bc7ffb0SAndreas Färber 324f7caa8b5SNeil Armstrong /* WiFi firmware requires power to be kept while in suspend */ 325f7caa8b5SNeil Armstrong keep-power-in-suspend; 326f7caa8b5SNeil Armstrong 3279bc7ffb0SAndreas Färber mmc-pwrseq = <&sdio_pwrseq>; 3289bc7ffb0SAndreas Färber 3299bc7ffb0SAndreas Färber vmmc-supply = <&vddio_ao3v3>; 3309bc7ffb0SAndreas Färber vqmmc-supply = <&vddio_ao18>; 3319bc7ffb0SAndreas Färber 3329bc7ffb0SAndreas Färber brcmf: wifi@1 { 3339bc7ffb0SAndreas Färber compatible = "brcm,bcm4329-fmac"; 3349bc7ffb0SAndreas Färber reg = <1>; 3359bc7ffb0SAndreas Färber }; 3369bc7ffb0SAndreas Färber}; 3379bc7ffb0SAndreas Färber 3389bc7ffb0SAndreas Färber/* SD */ 3399bc7ffb0SAndreas Färber&sd_emmc_b { 3409bc7ffb0SAndreas Färber status = "okay"; 3419bc7ffb0SAndreas Färber pinctrl-0 = <&sdcard_pins>; 34267e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 34367e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 3449bc7ffb0SAndreas Färber 3459bc7ffb0SAndreas Färber bus-width = <4>; 3469bc7ffb0SAndreas Färber cap-sd-highspeed; 347c1429e20SJerome Brunet sd-uhs-sdr12; 348c1429e20SJerome Brunet sd-uhs-sdr25; 349c1429e20SJerome Brunet sd-uhs-sdr50; 350f52bc6ddSJerome Brunet sd-uhs-ddr50; 351adc52bf7SJerome Brunet max-frequency = <100000000>; 3529bc7ffb0SAndreas Färber disable-wp; 3539bc7ffb0SAndreas Färber 354f29200c8SLoys Ollivier cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 3559bc7ffb0SAndreas Färber 3569bc7ffb0SAndreas Färber vmmc-supply = <&vddio_ao3v3>; 3579bc7ffb0SAndreas Färber vqmmc-supply = <&vddio_tf>; 3589bc7ffb0SAndreas Färber}; 3599bc7ffb0SAndreas Färber 3609bc7ffb0SAndreas Färber/* eMMC */ 3619bc7ffb0SAndreas Färber&sd_emmc_c { 3629bc7ffb0SAndreas Färber status = "disabled"; 363ab36be66SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 36467e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 36567e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 3669bc7ffb0SAndreas Färber 3679bc7ffb0SAndreas Färber bus-width = <8>; 3689bc7ffb0SAndreas Färber max-frequency = <200000000>; 3699bc7ffb0SAndreas Färber non-removable; 3709bc7ffb0SAndreas Färber disable-wp; 3719bc7ffb0SAndreas Färber cap-mmc-highspeed; 3729bc7ffb0SAndreas Färber mmc-ddr-1_8v; 3739bc7ffb0SAndreas Färber mmc-hs200-1_8v; 3749bc7ffb0SAndreas Färber 3759bc7ffb0SAndreas Färber mmc-pwrseq = <&emmc_pwrseq>; 3769bc7ffb0SAndreas Färber vmmc-supply = <&vcc3v3>; 3779bc7ffb0SAndreas Färber vqmmc-supply = <&vcc1v8>; 3789bc7ffb0SAndreas Färber}; 3799bc7ffb0SAndreas Färber 3809bc7ffb0SAndreas Färber/* DBG_UART */ 3819bc7ffb0SAndreas Färber&uart_AO { 3829bc7ffb0SAndreas Färber status = "okay"; 3839bc7ffb0SAndreas Färber pinctrl-0 = <&uart_ao_a_pins>; 3849bc7ffb0SAndreas Färber pinctrl-names = "default"; 3859bc7ffb0SAndreas Färber}; 3869bc7ffb0SAndreas Färber 3879bc7ffb0SAndreas Färber/* Bluetooth on AP6212 */ 3889bc7ffb0SAndreas Färber&uart_A { 38946f2735cSChen-Yu Tsai status = "okay"; 3909bc7ffb0SAndreas Färber pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 3919bc7ffb0SAndreas Färber pinctrl-names = "default"; 39246f2735cSChen-Yu Tsai uart-has-rtscts; 39346f2735cSChen-Yu Tsai 39446f2735cSChen-Yu Tsai bluetooth { 39546f2735cSChen-Yu Tsai compatible = "brcm,bcm43438-bt"; 39646f2735cSChen-Yu Tsai clocks = <&wifi_32k>; 39746f2735cSChen-Yu Tsai clock-names = "lpo"; 39846f2735cSChen-Yu Tsai vbat-supply = <&vddio_ao3v3>; 39946f2735cSChen-Yu Tsai vddio-supply = <&vddio_ao18>; 40046f2735cSChen-Yu Tsai host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; 40146f2735cSChen-Yu Tsai shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 40246f2735cSChen-Yu Tsai }; 4039bc7ffb0SAndreas Färber}; 4049bc7ffb0SAndreas Färber 4059bc7ffb0SAndreas Färber/* 40-pin CON1 */ 4069bc7ffb0SAndreas Färber&uart_C { 4079bc7ffb0SAndreas Färber status = "disabled"; 4089bc7ffb0SAndreas Färber pinctrl-0 = <&uart_c_pins>; 4099bc7ffb0SAndreas Färber pinctrl-names = "default"; 4109bc7ffb0SAndreas Färber}; 4119bc7ffb0SAndreas Färber 4129bc7ffb0SAndreas Färber&usb0_phy { 4139bc7ffb0SAndreas Färber status = "okay"; 4149bc7ffb0SAndreas Färber phy-supply = <&vdd_5v>; 4159bc7ffb0SAndreas Färber}; 4169bc7ffb0SAndreas Färber 4179bc7ffb0SAndreas Färber&usb1_phy { 4189bc7ffb0SAndreas Färber status = "okay"; 4199bc7ffb0SAndreas Färber}; 4209bc7ffb0SAndreas Färber 4219bc7ffb0SAndreas Färber&usb0 { 4229bc7ffb0SAndreas Färber status = "okay"; 4239bc7ffb0SAndreas Färber}; 4249bc7ffb0SAndreas Färber 4259bc7ffb0SAndreas Färber&usb1 { 4269bc7ffb0SAndreas Färber status = "okay"; 4279bc7ffb0SAndreas Färber}; 428