1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2021 Vyacheslav Bocharov <adeep@lexina.in> 4 * Copyright (c) 2020 JetHome 5 * Author: Aleksandr Kazantsev <ak@tvip.ru> 6 * Author: Alexey Shevelkin <ash@tvip.ru> 7 * Author: Vyacheslav Bocharov <adeep@lexina.in> 8 */ 9 10/dts-v1/; 11 12#include "meson-gxl.dtsi" 13 14/ { 15 compatible = "jethome,jethub-j80", "amlogic,s905w", "amlogic,meson-gxl"; 16 model = "JetHome JetHub J80"; 17 memory@0 { 18 device_type = "memory"; 19 reg = <0x0 0x0 0x0 0x40000000>; 20 }; 21 22 reserved-memory { 23 linux,cma { 24 size = <0x0 0x1000000>; 25 }; 26 }; 27 28 aliases { 29 serial0 = &uart_AO; /* Console */ 30 serial1 = &uart_A; /* Bluetooth */ 31 serial2 = &uart_AO_B; /* Wireless module 1 */ 32 serial3 = &uart_C; /* Wireless module 2 */ 33 ethernet0 = ðmac; 34 }; 35 36 chosen { 37 stdout-path = "serial0:115200n8"; 38 }; 39 40 vddio_ao18: regulator-vddio_ao18 { 41 compatible = "regulator-fixed"; 42 regulator-name = "VDDIO_AO18"; 43 regulator-min-microvolt = <1800000>; 44 regulator-max-microvolt = <1800000>; 45 }; 46 47 vddio_boot: regulator-vddio_boot { 48 compatible = "regulator-fixed"; 49 regulator-name = "VDDIO_BOOT"; 50 regulator-min-microvolt = <1800000>; 51 regulator-max-microvolt = <1800000>; 52 }; 53 54 vddao_3v3: regulator-vddao_3v3 { 55 compatible = "regulator-fixed"; 56 regulator-name = "VDDAO_3V3"; 57 regulator-min-microvolt = <3300000>; 58 regulator-max-microvolt = <3300000>; 59 }; 60 61 vcc_3v3: regulator-vcc_3v3 { 62 compatible = "regulator-fixed"; 63 regulator-name = "VCC_3V3"; 64 regulator-min-microvolt = <3300000>; 65 regulator-max-microvolt = <3300000>; 66 }; 67 68 emmc_pwrseq: emmc-pwrseq { 69 compatible = "mmc-pwrseq-emmc"; 70 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 71 }; 72 73 wifi32k: wifi32k { 74 compatible = "pwm-clock"; 75 #clock-cells = <0>; 76 clock-frequency = <32768>; 77 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 78 }; 79 80 sdio_pwrseq: sdio-pwrseq { 81 compatible = "mmc-pwrseq-simple"; 82 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 83 clocks = <&wifi32k>; 84 clock-names = "ext_clock"; 85 }; 86}; 87 88&efuse { 89 bt_mac: bt_mac@6 { 90 reg = <0x6 0x6>; 91 }; 92 93 wifi_mac: wifi_mac@C { 94 reg = <0xc 0x6>; 95 }; 96}; 97 98&sn { 99 reg = <0x32 0x20>; 100}; 101 102ð_mac { 103 reg = <0x0 0x6>; 104}; 105 106&bid { 107 reg = <0x12 0x20>; 108}; 109 110&usb { 111 status = "okay"; 112 dr_mode = "host"; 113}; 114 115&pwm_ef { 116 status = "okay"; 117 pinctrl-0 = <&pwm_e_pins>; 118 pinctrl-names = "default"; 119 clocks = <&clkc CLKID_FCLK_DIV4>; 120 clock-names = "clkin0"; 121}; 122 123&saradc { 124 status = "okay"; 125 vref-supply = <&vddio_ao18>; 126}; 127 128/* Wireless SDIO Module */ 129&sd_emmc_a { 130 status = "okay"; 131 pinctrl-0 = <&sdio_pins>; 132 pinctrl-1 = <&sdio_clk_gate_pins>; 133 pinctrl-names = "default", "clk-gate"; 134 #address-cells = <1>; 135 #size-cells = <0>; 136 137 bus-width = <4>; 138 cap-sd-highspeed; 139 max-frequency = <50000000>; 140 141 non-removable; 142 disable-wp; 143 144 /* WiFi firmware requires power to be kept while in suspend */ 145 keep-power-in-suspend; 146 147 mmc-pwrseq = <&sdio_pwrseq>; 148 149 vmmc-supply = <&vddao_3v3>; 150 vqmmc-supply = <&vddio_boot>; 151}; 152 153/* SD card */ 154&sd_emmc_b { 155 status = "okay"; 156 pinctrl-0 = <&sdcard_pins>; 157 pinctrl-1 = <&sdcard_clk_gate_pins>; 158 pinctrl-names = "default", "clk-gate"; 159 160 bus-width = <4>; 161 cap-sd-highspeed; 162 max-frequency = <50000000>; 163 disable-wp; 164 165 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; 166 167 vmmc-supply = <&vddao_3v3>; 168 vqmmc-supply = <&vddio_boot>; 169}; 170 171/* eMMC */ 172&sd_emmc_c { 173 status = "okay"; 174 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 175 pinctrl-1 = <&emmc_clk_gate_pins>; 176 pinctrl-names = "default", "clk-gate"; 177 178 bus-width = <8>; 179 cap-mmc-highspeed; 180 max-frequency = <200000000>; 181 non-removable; 182 disable-wp; 183 mmc-ddr-1_8v; 184 mmc-hs200-1_8v; 185 186 mmc-pwrseq = <&emmc_pwrseq>; 187 vmmc-supply = <&vcc_3v3>; 188 vqmmc-supply = <&vddio_boot>; 189}; 190 191/* Console UART */ 192&uart_AO { 193 status = "okay"; 194 pinctrl-0 = <&uart_ao_a_pins>; 195 pinctrl-names = "default"; 196}; 197 198/* S905W only has access to its internal PHY */ 199ðmac { 200 status = "okay"; 201 phy-mode = "rmii"; 202 phy-handle = <&internal_phy>; 203}; 204 205&internal_phy { 206 status = "okay"; 207 pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; 208 pinctrl-names = "default"; 209}; 210 211&uart_A { 212 status = "okay"; 213 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 214 pinctrl-names = "default"; 215 uart-has-rtscts; 216}; 217 218&uart_C { 219 status = "okay"; 220 pinctrl-0 = <&uart_c_pins>; 221 pinctrl-names = "default"; 222}; 223 224&uart_AO_B { 225 status = "okay"; 226 pinctrl-0 = <&uart_ao_b_pins>, <&uart_ao_b_cts_rts_pins>; 227 pinctrl-names = "default"; 228 uart-has-rtscts; 229}; 230 231&i2c_B { 232 status = "okay"; 233 pinctrl-names = "default"; 234 pinctrl-0 = <&i2c_b_pins>; 235 236 pcf8563: pcf8563@51 { 237 compatible = "nxp,pcf8563"; 238 reg = <0x51>; 239 status = "okay"; 240 }; 241}; 242