0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2021 Vyacheslav Bocharov <adeep@lexina.in>
0004 * Copyright (c) 2020 JetHome
0005 * Author: Aleksandr Kazantsev <ak@tvip.ru>
0006 * Author: Alexey Shevelkin <ash@tvip.ru>
0007 * Author: Vyacheslav Bocharov <adeep@lexina.in>
0008 */
0009
0010 /dts-v1/;
0011
0012 #include "meson-gxl.dtsi"
0013
0014 / {
0015 compatible = "jethome,jethub-j80", "amlogic,s905w", "amlogic,meson-gxl";
0016 model = "JetHome JetHub J80";
0017 memory@0 {
0018 device_type = "memory";
0019 reg = <0x0 0x0 0x0 0x40000000>;
0020 };
0021
0022 reserved-memory {
0023 linux,cma {
0024 size = <0x0 0x1000000>;
0025 };
0026 };
0027
0028 aliases {
0029 serial0 = &uart_AO; /* Console */
0030 serial1 = &uart_A; /* Bluetooth */
0031 serial2 = &uart_AO_B; /* Wireless module 1 */
0032 serial3 = &uart_C; /* Wireless module 2 */
0033 ethernet0 = ðmac;
0034 };
0035
0036 chosen {
0037 stdout-path = "serial0:115200n8";
0038 };
0039
0040 vddio_ao18: regulator-vddio_ao18 {
0041 compatible = "regulator-fixed";
0042 regulator-name = "VDDIO_AO18";
0043 regulator-min-microvolt = <1800000>;
0044 regulator-max-microvolt = <1800000>;
0045 };
0046
0047 vddio_boot: regulator-vddio_boot {
0048 compatible = "regulator-fixed";
0049 regulator-name = "VDDIO_BOOT";
0050 regulator-min-microvolt = <1800000>;
0051 regulator-max-microvolt = <1800000>;
0052 };
0053
0054 vddao_3v3: regulator-vddao_3v3 {
0055 compatible = "regulator-fixed";
0056 regulator-name = "VDDAO_3V3";
0057 regulator-min-microvolt = <3300000>;
0058 regulator-max-microvolt = <3300000>;
0059 };
0060
0061 vcc_3v3: regulator-vcc_3v3 {
0062 compatible = "regulator-fixed";
0063 regulator-name = "VCC_3V3";
0064 regulator-min-microvolt = <3300000>;
0065 regulator-max-microvolt = <3300000>;
0066 };
0067
0068 emmc_pwrseq: emmc-pwrseq {
0069 compatible = "mmc-pwrseq-emmc";
0070 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
0071 };
0072
0073 wifi32k: wifi32k {
0074 compatible = "pwm-clock";
0075 #clock-cells = <0>;
0076 clock-frequency = <32768>;
0077 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
0078 };
0079
0080 sdio_pwrseq: sdio-pwrseq {
0081 compatible = "mmc-pwrseq-simple";
0082 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
0083 clocks = <&wifi32k>;
0084 clock-names = "ext_clock";
0085 };
0086 };
0087
0088 &efuse {
0089 bt_mac: bt_mac@6 {
0090 reg = <0x6 0x6>;
0091 };
0092
0093 wifi_mac: wifi_mac@C {
0094 reg = <0xc 0x6>;
0095 };
0096 };
0097
0098 &sn {
0099 reg = <0x32 0x20>;
0100 };
0101
0102 ð_mac {
0103 reg = <0x0 0x6>;
0104 };
0105
0106 &bid {
0107 reg = <0x12 0x20>;
0108 };
0109
0110 &usb {
0111 status = "okay";
0112 dr_mode = "host";
0113 };
0114
0115 &pwm_ef {
0116 status = "okay";
0117 pinctrl-0 = <&pwm_e_pins>;
0118 pinctrl-names = "default";
0119 clocks = <&clkc CLKID_FCLK_DIV4>;
0120 clock-names = "clkin0";
0121 };
0122
0123 &saradc {
0124 status = "okay";
0125 vref-supply = <&vddio_ao18>;
0126 };
0127
0128 /* Wireless SDIO Module */
0129 &sd_emmc_a {
0130 status = "okay";
0131 pinctrl-0 = <&sdio_pins>;
0132 pinctrl-1 = <&sdio_clk_gate_pins>;
0133 pinctrl-names = "default", "clk-gate";
0134 #address-cells = <1>;
0135 #size-cells = <0>;
0136
0137 bus-width = <4>;
0138 cap-sd-highspeed;
0139 max-frequency = <50000000>;
0140
0141 non-removable;
0142 disable-wp;
0143
0144 /* WiFi firmware requires power to be kept while in suspend */
0145 keep-power-in-suspend;
0146
0147 mmc-pwrseq = <&sdio_pwrseq>;
0148
0149 vmmc-supply = <&vddao_3v3>;
0150 vqmmc-supply = <&vddio_boot>;
0151 };
0152
0153 /* SD card */
0154 &sd_emmc_b {
0155 status = "okay";
0156 pinctrl-0 = <&sdcard_pins>;
0157 pinctrl-1 = <&sdcard_clk_gate_pins>;
0158 pinctrl-names = "default", "clk-gate";
0159
0160 bus-width = <4>;
0161 cap-sd-highspeed;
0162 max-frequency = <50000000>;
0163 disable-wp;
0164
0165 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
0166
0167 vmmc-supply = <&vddao_3v3>;
0168 vqmmc-supply = <&vddio_boot>;
0169 };
0170
0171 /* eMMC */
0172 &sd_emmc_c {
0173 status = "okay";
0174 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
0175 pinctrl-1 = <&emmc_clk_gate_pins>;
0176 pinctrl-names = "default", "clk-gate";
0177
0178 bus-width = <8>;
0179 cap-mmc-highspeed;
0180 max-frequency = <200000000>;
0181 non-removable;
0182 disable-wp;
0183 mmc-ddr-1_8v;
0184 mmc-hs200-1_8v;
0185
0186 mmc-pwrseq = <&emmc_pwrseq>;
0187 vmmc-supply = <&vcc_3v3>;
0188 vqmmc-supply = <&vddio_boot>;
0189 };
0190
0191 /* Console UART */
0192 &uart_AO {
0193 status = "okay";
0194 pinctrl-0 = <&uart_ao_a_pins>;
0195 pinctrl-names = "default";
0196 };
0197
0198 /* S905W only has access to its internal PHY */
0199 ðmac {
0200 status = "okay";
0201 phy-mode = "rmii";
0202 phy-handle = <&internal_phy>;
0203 };
0204
0205 &internal_phy {
0206 status = "okay";
0207 pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>;
0208 pinctrl-names = "default";
0209 };
0210
0211 &uart_A {
0212 status = "okay";
0213 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
0214 pinctrl-names = "default";
0215 uart-has-rtscts;
0216
0217 bluetooth {
0218 compatible = "realtek,rtl8822cs-bt";
0219 enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
0220 host-wake-gpios = <&gpio GPIOX_18 GPIO_ACTIVE_HIGH>;
0221 };
0222 };
0223
0224 &uart_C {
0225 status = "okay";
0226 pinctrl-0 = <&uart_c_pins>;
0227 pinctrl-names = "default";
0228 };
0229
0230 &uart_AO_B {
0231 status = "okay";
0232 pinctrl-0 = <&uart_ao_b_pins>, <&uart_ao_b_cts_rts_pins>;
0233 pinctrl-names = "default";
0234 uart-has-rtscts;
0235 };
0236
0237 &i2c_B {
0238 status = "okay";
0239 pinctrl-names = "default";
0240 pinctrl-0 = <&i2c_b_pins>;
0241
0242 pcf8563: pcf8563@51 {
0243 compatible = "nxp,pcf8563";
0244 reg = <0x51>;
0245 status = "okay";
0246 };
0247 };