omap4-duovero-parlor.dts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
  4. */
  5. /dts-v1/;
  6. #include "omap4-duovero.dtsi"
  7. #include <dt-bindings/input/input.h>
  8. / {
  9. model = "OMAP4430 Gumstix Duovero on Parlor";
  10. compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
  11. aliases {
  12. display0 = &hdmi0;
  13. };
  14. leds {
  15. compatible = "gpio-leds";
  16. led0 {
  17. label = "duovero:blue:led0";
  18. gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio_122 */
  19. linux,default-trigger = "heartbeat";
  20. };
  21. };
  22. gpio_keys {
  23. compatible = "gpio-keys";
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. button0 {
  27. label = "button0";
  28. linux,code = <BTN_0>;
  29. gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; /* gpio_121 */
  30. /* Value above 7.95ms for no GPIO hardware debounce */
  31. debounce-interval = <10>;
  32. wakeup-source;
  33. };
  34. };
  35. hdmi0: connector {
  36. compatible = "hdmi-connector";
  37. label = "hdmi";
  38. type = "d";
  39. hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio_63 */
  40. port {
  41. hdmi_connector_in: endpoint {
  42. remote-endpoint = <&hdmi_out>;
  43. };
  44. };
  45. };
  46. };
  47. &omap4_pmx_core {
  48. pinctrl-0 = <
  49. &led_pins
  50. &button_pins
  51. &smsc_pins
  52. >;
  53. led_pins: led-pins {
  54. pinctrl-single,pins = <
  55. OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */
  56. >;
  57. };
  58. button_pins: button-pins {
  59. pinctrl-single,pins = <
  60. OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3) /* abe_dmic_din2.gpio_121 */
  61. >;
  62. };
  63. i2c2_pins: i2c2-pins {
  64. pinctrl-single,pins = <
  65. OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
  66. OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
  67. >;
  68. };
  69. i2c3_pins: i2c3-pins {
  70. pinctrl-single,pins = <
  71. OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
  72. OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
  73. >;
  74. };
  75. smsc_pins: smsc-pins {
  76. pinctrl-single,pins = <
  77. OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3) /* gpmc_a20.gpio_44: IRQ */
  78. OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a21.gpio_45: nReset */
  79. OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */
  80. >;
  81. };
  82. dss_hdmi_pins: dss-hdmi-pins {
  83. pinctrl-single,pins = <
  84. OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3) /* hdmi_hpd.gpio_63 */
  85. OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */
  86. OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
  87. OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
  88. >;
  89. };
  90. };
  91. &i2c2 {
  92. pinctrl-names = "default";
  93. pinctrl-0 = <&i2c2_pins>;
  94. clock-frequency = <400000>;
  95. };
  96. &i2c3 {
  97. pinctrl-names = "default";
  98. pinctrl-0 = <&i2c3_pins>;
  99. clock-frequency = <100000>;
  100. /* optional 1K EEPROM with revision information */
  101. eeprom@51 {
  102. compatible = "atmel,24c01";
  103. reg = <0x51>;
  104. pagesize = <8>;
  105. };
  106. };
  107. &mmc3 {
  108. status = "disabled";
  109. };
  110. #include "omap-gpmc-smsc911x.dtsi"
  111. &gpmc {
  112. ranges = <5 0 0x2c000000 0x1000000>; /* CS5 */
  113. ethernet@gpmc {
  114. reg = <5 0 0xff>;
  115. interrupt-parent = <&gpio2>;
  116. interrupts = <12 IRQ_TYPE_LEVEL_LOW>; /* gpio_44 */
  117. phy-mode = "mii";
  118. gpmc,cs-on-ns = <10>;
  119. gpmc,cs-rd-off-ns = <50>;
  120. gpmc,cs-wr-off-ns = <50>;
  121. gpmc,adv-on-ns = <0>;
  122. gpmc,adv-rd-off-ns = <10>;
  123. gpmc,adv-wr-off-ns = <10>;
  124. gpmc,oe-on-ns = <15>;
  125. gpmc,oe-off-ns = <50>;
  126. gpmc,we-on-ns = <15>;
  127. gpmc,we-off-ns = <50>;
  128. gpmc,rd-cycle-ns = <50>;
  129. gpmc,wr-cycle-ns = <50>;
  130. gpmc,access-ns = <50>;
  131. gpmc,page-burst-access-ns = <0>;
  132. gpmc,bus-turnaround-ns = <35>;
  133. gpmc,cycle2cycle-delay-ns = <35>;
  134. gpmc,wr-data-mux-bus-ns = <35>;
  135. gpmc,wr-access-ns = <50>;
  136. gpmc,mux-add-data = <2>;
  137. gpmc,sync-read;
  138. gpmc,sync-write;
  139. gpmc,clk-activation-ns = <5>;
  140. gpmc,sync-clk-ps = <20000>;
  141. };
  142. };
  143. &dss {
  144. status = "okay";
  145. };
  146. &hdmi {
  147. status = "okay";
  148. vdda-supply = <&vdac>;
  149. pinctrl-names = "default";
  150. pinctrl-0 = <&dss_hdmi_pins>;
  151. port {
  152. hdmi_out: endpoint {
  153. remote-endpoint = <&hdmi_connector_in>;
  154. };
  155. };
  156. };
  157. &uart3 {
  158. interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
  159. &omap4_pmx_core OMAP4_UART3_RX>;
  160. };