imx28-duckbill.dts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright (C) 2013-2014,2016 Michael Heimpold <[email protected]>
  4. * Copyright (C) 2015-2017 I2SE GmbH <[email protected]>
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include "imx28.dtsi"
  9. / {
  10. model = "I2SE Duckbill";
  11. compatible = "i2se,duckbill", "fsl,imx28";
  12. memory@40000000 {
  13. device_type = "memory";
  14. reg = <0x40000000 0x08000000>;
  15. };
  16. apb@80000000 {
  17. apbh@80000000 {
  18. ssp0: spi@80010000 {
  19. compatible = "fsl,imx28-mmc";
  20. pinctrl-names = "default";
  21. pinctrl-0 = <&mmc0_4bit_pins_a
  22. &mmc0_cd_cfg &mmc0_sck_cfg>;
  23. bus-width = <4>;
  24. vmmc-supply = <&reg_3p3v>;
  25. status = "okay";
  26. };
  27. ssp2: spi@80014000 {
  28. compatible = "fsl,imx28-spi";
  29. pinctrl-names = "default";
  30. pinctrl-0 = <&spi2_pins_a>;
  31. status = "okay";
  32. };
  33. pinctrl@80018000 {
  34. pinctrl-names = "default";
  35. pinctrl-0 = <&hog_pins_a>;
  36. hog_pins_a: hog@0 {
  37. reg = <0>;
  38. fsl,pinmux-ids = <
  39. MX28_PAD_LCD_D17__GPIO_1_17 /* Revision detection */
  40. >;
  41. fsl,drive-strength = <MXS_DRIVE_4mA>;
  42. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  43. fsl,pull-up = <MXS_PULL_DISABLE>;
  44. };
  45. mac0_phy_reset_pin: mac0-phy-reset@0 {
  46. reg = <0>;
  47. fsl,pinmux-ids = <
  48. MX28_PAD_SSP0_DATA7__GPIO_2_7 /* PHY Reset */
  49. >;
  50. fsl,drive-strength = <MXS_DRIVE_4mA>;
  51. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  52. fsl,pull-up = <MXS_PULL_DISABLE>;
  53. };
  54. led_pins: leds@0 {
  55. reg = <0>;
  56. fsl,pinmux-ids = <
  57. MX28_PAD_AUART1_RX__GPIO_3_4
  58. MX28_PAD_AUART1_TX__GPIO_3_5
  59. >;
  60. fsl,drive-strength = <MXS_DRIVE_4mA>;
  61. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  62. fsl,pull-up = <MXS_PULL_DISABLE>;
  63. };
  64. };
  65. };
  66. apbx@80040000 {
  67. lradc@80050000 {
  68. status = "okay";
  69. };
  70. i2c0: i2c@80058000 {
  71. pinctrl-names = "default";
  72. pinctrl-0 = <&i2c0_pins_a>;
  73. status = "okay";
  74. };
  75. auart0: serial@8006a000 {
  76. pinctrl-names = "default";
  77. pinctrl-0 = <&auart0_2pins_a>;
  78. status = "okay";
  79. };
  80. duart: serial@80074000 {
  81. pinctrl-names = "default";
  82. pinctrl-0 = <&duart_pins_a>;
  83. status = "okay";
  84. };
  85. usbphy0: usbphy@8007c000 {
  86. status = "okay";
  87. };
  88. };
  89. };
  90. ahb@80080000 {
  91. usb0: usb@80080000 {
  92. status = "okay";
  93. dr_mode = "peripheral";
  94. };
  95. mac0: ethernet@800f0000 {
  96. phy-mode = "rmii";
  97. pinctrl-names = "default";
  98. pinctrl-0 = <&mac0_pins_a>, <&mac0_phy_reset_pin>;
  99. phy-supply = <&reg_3p3v>;
  100. phy-reset-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
  101. phy-reset-duration = <25>;
  102. status = "okay";
  103. };
  104. };
  105. reg_3p3v: regulator-3p3v {
  106. compatible = "regulator-fixed";
  107. regulator-name = "3P3V";
  108. regulator-min-microvolt = <3300000>;
  109. regulator-max-microvolt = <3300000>;
  110. regulator-always-on;
  111. };
  112. leds {
  113. compatible = "gpio-leds";
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&led_pins>;
  116. status-red {
  117. label = "duckbill:red:status";
  118. gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
  119. linux,default-trigger = "default-on";
  120. };
  121. status-green {
  122. label = "duckbill:green:status";
  123. gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
  124. linux,default-trigger = "heartbeat";
  125. };
  126. };
  127. };