ste-nomadik-s8815.dts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree for the ST-Ericsson Nomadik S8815 board
  4. * Produced by Calao Systems
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/interrupt-controller/irq.h>
  8. #include "ste-nomadik-stn8815.dtsi"
  9. / {
  10. model = "Calao Systems USB-S8815";
  11. compatible = "calaosystems,usb-s8815";
  12. chosen {
  13. bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
  14. };
  15. aliases {
  16. serial0 = &uart0;
  17. serial1 = &uart1;
  18. };
  19. gpio3: gpio@101e7000 {
  20. /* This hog will bias the MMC/SD card detect line */
  21. mmcsd-gpio {
  22. gpio-hog;
  23. gpios = <16 0x0>;
  24. output-low;
  25. line-name = "card detect bias";
  26. };
  27. };
  28. src@101e0000 {
  29. /* These chrystal drivers are not used on this board */
  30. disable-sxtalo;
  31. disable-mxtalo;
  32. };
  33. pinctrl {
  34. /* Hog CD pins */
  35. pinctrl-names = "default";
  36. pinctrl-0 = <&cd_default_mode>;
  37. uart0 {
  38. /* Only use RX/TX pins */
  39. uart0_s8815_mode: uart0_mux {
  40. u0_default_mux {
  41. function = "u0";
  42. groups = "u0txrx_a_1";
  43. };
  44. };
  45. };
  46. mmcsd-cd {
  47. cd_default_mode: cd_default {
  48. cd_default_cfg1 {
  49. /* CD input GPIO */
  50. pins = "GPIO111_H21";
  51. ste,input = <0>;
  52. };
  53. cd_default_cfg2 {
  54. /* CD GPIO biasing */
  55. pins = "GPIO112_J21";
  56. ste,output = <0>;
  57. };
  58. };
  59. };
  60. gpioi2c {
  61. gpioi2c_default_mode: gpioi2c_default {
  62. gpioi2c_default_cfg {
  63. pins = "GPIO73_C21", "GPIO74_C20";
  64. ste,input = <0>;
  65. };
  66. };
  67. };
  68. user-led {
  69. user_led_default_mode: user_led_default {
  70. user_led_default_cfg {
  71. pins = "GPIO2_C5";
  72. ste,output = <1>;
  73. };
  74. };
  75. };
  76. user-button {
  77. user_button_default_mode: user_button_default {
  78. user_button_default_cfg {
  79. pins = "GPIO3_A4";
  80. ste,input = <0>;
  81. };
  82. };
  83. };
  84. };
  85. /* Ethernet */
  86. external-bus@34000000 {
  87. compatible = "simple-bus";
  88. reg = <0x34000000 0x1000000>;
  89. #address-cells = <1>;
  90. #size-cells = <1>;
  91. ranges = <0 0x34000000 0x1000000>;
  92. ethernet@300 {
  93. compatible = "smsc,lan91c111";
  94. reg = <0x300 0x0fd00>;
  95. interrupt-parent = <&gpio3>;
  96. interrupts = <8 IRQ_TYPE_EDGE_RISING>;
  97. };
  98. };
  99. i2c1 {
  100. lis3lv02dl@1d {
  101. /* Accelerometer */
  102. compatible = "st,lis3lv02dl-accel";
  103. reg = <0x1d>;
  104. };
  105. };
  106. /* GPIO I2C connected to the USB portions of the STw4811 only */
  107. gpio-i2c {
  108. compatible = "i2c-gpio";
  109. gpios = <&gpio2 10 0>, /* sda */
  110. <&gpio2 9 0>; /* scl */
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. pinctrl-names = "default";
  114. pinctrl-0 = <&gpioi2c_default_mode>;
  115. stw4811@2d {
  116. compatible = "st,stw4811-usb";
  117. reg = <0x2d>;
  118. };
  119. };
  120. amba {
  121. /* Activate RXTX on UART 0 */
  122. uart0: uart@101fd000 {
  123. pinctrl-names = "default";
  124. pinctrl-0 = <&uart0_s8815_mode>;
  125. status = "okay";
  126. };
  127. /* Configure card detect for the uSD slot */
  128. mmc@101f6000 {
  129. cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
  130. };
  131. };
  132. /* The user LED on the board is set up to be used for heartbeat */
  133. leds {
  134. compatible = "gpio-leds";
  135. user-led {
  136. label = "user_led";
  137. gpios = <&gpio0 2 0x1>;
  138. default-state = "off";
  139. linux,default-trigger = "heartbeat";
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&user_led_default_mode>;
  142. };
  143. };
  144. /* User key mapped in as "escape" */
  145. gpio-keys {
  146. compatible = "gpio-keys";
  147. user-button {
  148. label = "user_button";
  149. gpios = <&gpio0 3 0x1>;
  150. linux,code = <1>; /* KEY_ESC */
  151. wakeup-source;
  152. pinctrl-names = "default";
  153. pinctrl-0 = <&user_button_default_mode>;
  154. };
  155. };
  156. };