meson-gxm-nexbox-a1.dts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2016 BayLibre, SAS.
  4. * Author: Neil Armstrong <narmstrong@baylibre.com>
  5. *
  6. * Copyright (c) 2016 Endless Computers, Inc.
  7. * Author: Carlo Caione <carlo@endlessm.com>
  8. */
  9. /dts-v1/;
  10. #include "meson-gxm.dtsi"
  11. / {
  12. compatible = "nexbox,a1", "amlogic,s912", "amlogic,meson-gxm";
  13. model = "NEXBOX A1";
  14. aliases {
  15. serial0 = &uart_AO;
  16. ethernet0 = &ethmac;
  17. };
  18. chosen {
  19. stdout-path = "serial0:115200n8";
  20. };
  21. memory@0 {
  22. device_type = "memory";
  23. reg = <0x0 0x0 0x0 0x80000000>;
  24. };
  25. vddio_boot: regulator-vddio-boot {
  26. compatible = "regulator-fixed";
  27. regulator-name = "VDDIO_BOOT";
  28. regulator-min-microvolt = <1800000>;
  29. regulator-max-microvolt = <1800000>;
  30. };
  31. vddao_3v3: regulator-vddao-3v3 {
  32. compatible = "regulator-fixed";
  33. regulator-name = "VDDAO_3V3";
  34. regulator-min-microvolt = <3300000>;
  35. regulator-max-microvolt = <3300000>;
  36. };
  37. vcc_3v3: regulator-vcc-3v3 {
  38. compatible = "regulator-fixed";
  39. regulator-name = "VCC_3V3";
  40. regulator-min-microvolt = <3300000>;
  41. regulator-max-microvolt = <3300000>;
  42. };
  43. emmc_pwrseq: emmc-pwrseq {
  44. compatible = "mmc-pwrseq-emmc";
  45. reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
  46. };
  47. cvbs-connector {
  48. compatible = "composite-video-connector";
  49. port {
  50. cvbs_connector_in: endpoint {
  51. remote-endpoint = <&cvbs_vdac_out>;
  52. };
  53. };
  54. };
  55. hdmi-connector {
  56. compatible = "hdmi-connector";
  57. type = "a";
  58. port {
  59. hdmi_connector_in: endpoint {
  60. remote-endpoint = <&hdmi_tx_tmds_out>;
  61. };
  62. };
  63. };
  64. };
  65. &cec_AO {
  66. status = "okay";
  67. pinctrl-0 = <&ao_cec_pins>;
  68. pinctrl-names = "default";
  69. hdmi-phandle = <&hdmi_tx>;
  70. };
  71. &cvbs_vdac_port {
  72. cvbs_vdac_out: endpoint {
  73. remote-endpoint = <&cvbs_connector_in>;
  74. };
  75. };
  76. &ethmac {
  77. status = "okay";
  78. pinctrl-0 = <&eth_pins>;
  79. pinctrl-names = "default";
  80. /* Select external PHY by default */
  81. phy-handle = <&external_phy>;
  82. amlogic,tx-delay-ns = <2>;
  83. snps,reset-gpio = <&gpio GPIOZ_14 0>;
  84. snps,reset-delays-us = <0 10000 1000000>;
  85. snps,reset-active-low;
  86. /* External PHY is in RGMII */
  87. phy-mode = "rgmii";
  88. };
  89. &external_mdio {
  90. external_phy: ethernet-phy@0 {
  91. compatible = "ethernet-phy-id001c.c916", "ethernet-phy-ieee802.3-c22";
  92. reg = <0>;
  93. max-speed = <1000>;
  94. };
  95. };
  96. &hdmi_tx {
  97. status = "okay";
  98. pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
  99. pinctrl-names = "default";
  100. };
  101. &hdmi_tx_tmds_port {
  102. hdmi_tx_tmds_out: endpoint {
  103. remote-endpoint = <&hdmi_connector_in>;
  104. };
  105. };
  106. &ir {
  107. status = "okay";
  108. pinctrl-0 = <&remote_input_ao_pins>;
  109. pinctrl-names = "default";
  110. };
  111. /* SD card */
  112. &sd_emmc_b {
  113. status = "okay";
  114. pinctrl-0 = <&sdcard_pins>;
  115. pinctrl-1 = <&sdcard_clk_gate_pins>;
  116. pinctrl-names = "default", "clk-gate";
  117. bus-width = <4>;
  118. cap-sd-highspeed;
  119. max-frequency = <100000000>;
  120. disable-wp;
  121. cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
  122. cd-inverted;
  123. vmmc-supply = <&vddao_3v3>;
  124. vqmmc-supply = <&vddio_boot>;
  125. };
  126. /* eMMC */
  127. &sd_emmc_c {
  128. status = "okay";
  129. pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
  130. pinctrl-1 = <&emmc_clk_gate_pins>;
  131. pinctrl-names = "default", "clk-gate";
  132. bus-width = <8>;
  133. cap-mmc-highspeed;
  134. max-frequency = <200000000>;
  135. non-removable;
  136. disable-wp;
  137. mmc-ddr-1_8v;
  138. mmc-hs200-1_8v;
  139. mmc-pwrseq = <&emmc_pwrseq>;
  140. vmmc-supply = <&vcc_3v3>;
  141. vqmmc-supply = <&vddio_boot>;
  142. };
  143. &uart_AO {
  144. status = "okay";
  145. pinctrl-0 = <&uart_ao_a_pins>;
  146. pinctrl-names = "default";
  147. };