meson-gxl-s905w-jethome-jethub-j80.dts 4.6 KB

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