meson-gxl-s905x-p212.dtsi 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
  4. * Based on meson-gx-p23x-q20x.dtsi:
  5. * - Copyright (c) 2016 Endless Computers, Inc.
  6. * Author: Carlo Caione <carlo@endlessm.com>
  7. * - Copyright (c) 2016 BayLibre, SAS.
  8. * Author: Neil Armstrong <narmstrong@baylibre.com>
  9. */
  10. /* Common DTSI for devices which are based on the P212 reference board. */
  11. #include "meson-gxl-s905x.dtsi"
  12. / {
  13. aliases {
  14. serial0 = &uart_AO;
  15. serial1 = &uart_A;
  16. };
  17. chosen {
  18. stdout-path = "serial0:115200n8";
  19. };
  20. memory@0 {
  21. device_type = "memory";
  22. reg = <0x0 0x0 0x0 0x80000000>;
  23. };
  24. vddio_boot: regulator-vddio_boot {
  25. compatible = "regulator-fixed";
  26. regulator-name = "VDDIO_BOOT";
  27. regulator-min-microvolt = <1800000>;
  28. regulator-max-microvolt = <1800000>;
  29. };
  30. vddao_3v3: regulator-vddao_3v3 {
  31. compatible = "regulator-fixed";
  32. regulator-name = "VDDAO_3V3";
  33. regulator-min-microvolt = <3300000>;
  34. regulator-max-microvolt = <3300000>;
  35. };
  36. vddio_ao18: regulator-vddio_ao18 {
  37. compatible = "regulator-fixed";
  38. regulator-name = "VDDIO_AO18";
  39. regulator-min-microvolt = <1800000>;
  40. regulator-max-microvolt = <1800000>;
  41. };
  42. vcc_3v3: regulator-vcc_3v3 {
  43. compatible = "regulator-fixed";
  44. regulator-name = "VCC_3V3";
  45. regulator-min-microvolt = <3300000>;
  46. regulator-max-microvolt = <3300000>;
  47. };
  48. emmc_pwrseq: emmc-pwrseq {
  49. compatible = "mmc-pwrseq-emmc";
  50. reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
  51. };
  52. wifi32k: wifi32k {
  53. compatible = "pwm-clock";
  54. #clock-cells = <0>;
  55. clock-frequency = <32768>;
  56. pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
  57. };
  58. sdio_pwrseq: sdio-pwrseq {
  59. compatible = "mmc-pwrseq-simple";
  60. reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
  61. clocks = <&wifi32k>;
  62. clock-names = "ext_clock";
  63. };
  64. };
  65. &ethmac {
  66. status = "okay";
  67. };
  68. &ir {
  69. status = "okay";
  70. pinctrl-0 = <&remote_input_ao_pins>;
  71. pinctrl-names = "default";
  72. };
  73. &saradc {
  74. status = "okay";
  75. vref-supply = <&vddio_ao18>;
  76. };
  77. /* Wireless SDIO Module */
  78. &sd_emmc_a {
  79. status = "okay";
  80. pinctrl-0 = <&sdio_pins>;
  81. pinctrl-names = "default";
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. bus-width = <4>;
  85. cap-sd-highspeed;
  86. max-frequency = <100000000>;
  87. non-removable;
  88. disable-wp;
  89. mmc-pwrseq = <&sdio_pwrseq>;
  90. vmmc-supply = <&vddao_3v3>;
  91. vqmmc-supply = <&vddio_boot>;
  92. };
  93. /* SD card */
  94. &sd_emmc_b {
  95. status = "okay";
  96. pinctrl-0 = <&sdcard_pins>;
  97. pinctrl-names = "default";
  98. bus-width = <4>;
  99. cap-sd-highspeed;
  100. max-frequency = <100000000>;
  101. disable-wp;
  102. cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
  103. cd-inverted;
  104. vmmc-supply = <&vddao_3v3>;
  105. vqmmc-supply = <&vddio_boot>;
  106. };
  107. /* eMMC */
  108. &sd_emmc_c {
  109. status = "okay";
  110. pinctrl-0 = <&emmc_pins>;
  111. pinctrl-names = "default";
  112. bus-width = <8>;
  113. cap-sd-highspeed;
  114. cap-mmc-highspeed;
  115. max-frequency = <200000000>;
  116. non-removable;
  117. disable-wp;
  118. mmc-ddr-1_8v;
  119. mmc-hs200-1_8v;
  120. mmc-pwrseq = <&emmc_pwrseq>;
  121. vmmc-supply = <&vcc_3v3>;
  122. vqmmc-supply = <&vddio_boot>;
  123. };
  124. &pwm_ef {
  125. status = "okay";
  126. pinctrl-0 = <&pwm_e_pins>;
  127. pinctrl-names = "default";
  128. clocks = <&clkc CLKID_FCLK_DIV4>;
  129. clock-names = "clkin0";
  130. };
  131. /* This is connected to the Bluetooth module: */
  132. &uart_A {
  133. status = "okay";
  134. pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
  135. pinctrl-names = "default";
  136. uart-has-rtscts;
  137. };
  138. &uart_AO {
  139. status = "okay";
  140. pinctrl-0 = <&uart_ao_a_pins>;
  141. pinctrl-names = "default";
  142. };