qcom-ipq8068-mr42.dts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // SPDX-License-Identifier: GPL-2.0 OR MIT
  2. #include "qcom-ipq8068-cryptid-common.dtsi"
  3. #include <dt-bindings/input/input.h>
  4. / {
  5. model = "Meraki MR42";
  6. compatible = "meraki,mr42", "qcom,ipq8064";
  7. aliases {
  8. serial1 = &gsbi1_serial;
  9. ethernet0 = &gmac3;
  10. led-boot = &led_active;
  11. led-failsafe = &led_power;
  12. led-running = &led_active;
  13. led-upgrade = &led_active;
  14. };
  15. keys {
  16. compatible = "gpio-keys";
  17. pinctrl-0 = <&button_pins>;
  18. pinctrl-names = "default";
  19. reset {
  20. label = "reset";
  21. gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
  22. linux,code = <KEY_RESTART>;
  23. debounce-interval = <60>;
  24. wakeup-source;
  25. };
  26. };
  27. leds {
  28. compatible = "gpio-leds";
  29. pinctrl-0 = <&led_pins>;
  30. pinctrl-names = "default";
  31. led_power: power {
  32. label = "orange:power";
  33. gpios = <&qcom_pinmux 31 GPIO_ACTIVE_HIGH>;
  34. };
  35. led_active: active {
  36. label = "white:active";
  37. gpios = <&qcom_pinmux 32 GPIO_ACTIVE_HIGH>;
  38. };
  39. };
  40. };
  41. &gmac3 {
  42. status = "okay";
  43. qcom,id = <3>;
  44. mdiobus = <&mdio0>;
  45. phy-mode = "sgmii";
  46. phy-handle = <&phy2>;
  47. nvmem-cells = <&mac_address>;
  48. nvmem-cell-names = "mac-address";
  49. };
  50. &gsbi2 {
  51. status = "okay";
  52. qcom,mode = <GSBI_PROT_I2C>;
  53. };
  54. &gsbi2_i2c {
  55. status = "okay";
  56. pinctrl-0 = <&i2c0_pins>;
  57. pinctrl-names = "default";
  58. ina2xx@40 {
  59. compatible = "ina219";
  60. shunt-resistor = <40000>;
  61. reg = <0x40>;
  62. };
  63. eeprom@56 {
  64. compatible = "atmel,24c64";
  65. pagesize = <32>;
  66. reg = <0x56>;
  67. read-only;
  68. #address-cells = <1>;
  69. #size-cells = <1>;
  70. mac_address: mac-address@66 {
  71. reg = <0x66 0x6>;
  72. };
  73. };
  74. };
  75. &gsbi6 {
  76. qcom,mode = <GSBI_PROT_I2C>;
  77. status = "okay";
  78. };
  79. &gsbi6_i2c {
  80. status = "okay";
  81. pinctrl-0 = <&i2c1_pins>;
  82. pinctrl-names = "default";
  83. tlc591xx@40 {
  84. #address-cells = <1>;
  85. #size-cells = <0>;
  86. compatible = "ti,tlc59108";
  87. reg = <0x40>;
  88. red@0 {
  89. label = "red:user";
  90. reg = <0x0>;
  91. };
  92. green@1 {
  93. label = "green:user";
  94. reg = <0x1>;
  95. };
  96. blue@2 {
  97. label = "blue:user";
  98. reg = <0x2>;
  99. };
  100. };
  101. };
  102. &mdio0 {
  103. status = "okay";
  104. pinctrl-0 = <&mdio0_pins_active>, <&phy_active>;
  105. pinctrl-names = "default";
  106. phy2: ethernet-phy2 {
  107. reg = <2>;
  108. reset-gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
  109. reset-assert-us = <24000>;
  110. eee-broken-100tx;
  111. eee-broken-1000t;
  112. };
  113. };
  114. &qcom_pinmux {
  115. i2c0_pins: i2c0_pins {
  116. mux {
  117. pins = "gpio24", "gpio25";
  118. function = "gsbi2";
  119. drive-strength = <2>;
  120. bias-pull-up;
  121. input;
  122. };
  123. };
  124. button_pins: button_pins {
  125. mux {
  126. pins = "gpio26";
  127. function = "gpio";
  128. drive-strength = <2>;
  129. bias-pull-up;
  130. };
  131. };
  132. i2c1_pins: i2c1_pins {
  133. mux {
  134. pins = "gpio29", "gpio30";
  135. function = "gsbi6";
  136. drive-strength = <2>;
  137. bias-pull-up;
  138. input;
  139. };
  140. };
  141. led_pins: led_pins {
  142. mux {
  143. pins = "gpio31", "gpio32";
  144. function = "gpio";
  145. drive-strength = <12>;
  146. bias-pull-down;
  147. output-low;
  148. };
  149. };
  150. };
  151. &wifi0 {
  152. nvmem-cells = <&mac_address>;
  153. nvmem-cell-names = "mac-address";
  154. mac-address-increment = <1>;
  155. };
  156. &wifi1 {
  157. nvmem-cells = <&mac_address>;
  158. nvmem-cell-names = "mac-address";
  159. mac-address-increment = <2>;
  160. };
  161. &wifi2 {
  162. nvmem-cells = <&mac_address>;
  163. nvmem-cell-names = "mac-address";
  164. mac-address-increment = <3>;
  165. };