meson-gxl-s905x-khadas-vim.dts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/input/input.h>
  7. #include "meson-gxl-s905x-p212.dtsi"
  8. / {
  9. compatible = "khadas,vim", "amlogic,s905x", "amlogic,meson-gxl";
  10. model = "Khadas VIM";
  11. adc-keys {
  12. compatible = "adc-keys";
  13. io-channels = <&saradc 0>;
  14. io-channel-names = "buttons";
  15. keyup-threshold-microvolt = <1710000>;
  16. button-function {
  17. label = "Function";
  18. linux,code = <KEY_FN>;
  19. press-threshold-microvolt = <10000>;
  20. };
  21. };
  22. aliases {
  23. serial2 = &uart_AO_B;
  24. };
  25. gpio-keys-polled {
  26. compatible = "gpio-keys-polled";
  27. #address-cells = <1>;
  28. #size-cells = <0>;
  29. poll-interval = <100>;
  30. button@0 {
  31. label = "power";
  32. linux,code = <KEY_POWER>;
  33. gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
  34. };
  35. };
  36. pwmleds {
  37. compatible = "pwm-leds";
  38. power {
  39. label = "vim:red:power";
  40. pwms = <&pwm_AO_ab 1 7812500 0>;
  41. max-brightness = <255>;
  42. linux,default-trigger = "default-on";
  43. };
  44. };
  45. hdmi-connector {
  46. compatible = "hdmi-connector";
  47. type = "a";
  48. port {
  49. hdmi_connector_in: endpoint {
  50. remote-endpoint = <&hdmi_tx_tmds_out>;
  51. };
  52. };
  53. };
  54. };
  55. &hdmi_tx {
  56. status = "okay";
  57. pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
  58. pinctrl-names = "default";
  59. };
  60. &hdmi_tx_tmds_port {
  61. hdmi_tx_tmds_out: endpoint {
  62. remote-endpoint = <&hdmi_connector_in>;
  63. };
  64. };
  65. &i2c_A {
  66. status = "okay";
  67. pinctrl-0 = <&i2c_a_pins>;
  68. pinctrl-names = "default";
  69. };
  70. &i2c_B {
  71. status = "okay";
  72. pinctrl-0 = <&i2c_b_pins>;
  73. pinctrl-names = "default";
  74. rtc: rtc@51 {
  75. /* has to be enabled manually when a battery is connected: */
  76. status = "disabled";
  77. compatible = "haoyu,hym8563";
  78. reg = <0x51>;
  79. #clock-cells = <0>;
  80. clock-frequency = <32768>;
  81. clock-output-names = "xin32k";
  82. };
  83. };
  84. &ir {
  85. linux,rc-map-name = "rc-geekbox";
  86. };
  87. &pwm_AO_ab {
  88. status = "okay";
  89. pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
  90. pinctrl-names = "default";
  91. clocks = <&xtal> , <&xtal>;
  92. clock-names = "clkin0", "clkin1" ;
  93. };
  94. &pwm_ef {
  95. pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>;
  96. };
  97. &sd_emmc_a {
  98. brcmf: wifi@1 {
  99. reg = <1>;
  100. compatible = "brcm,bcm4329-fmac";
  101. };
  102. };
  103. /* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */
  104. &uart_AO {
  105. status = "okay";
  106. };
  107. /* This is brought out on the UART_RX_AO_B (15) and UART_TX_AO_B (16) pins: */
  108. &uart_AO_B {
  109. status = "okay";
  110. pinctrl-0 = <&uart_ao_b_pins>;
  111. pinctrl-names = "default";
  112. };