bcm2837-rpi-3-a-plus.dts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. // SPDX-License-Identifier: GPL-2.0
  2. /dts-v1/;
  3. #include "bcm2837.dtsi"
  4. #include "bcm2836-rpi.dtsi"
  5. #include "bcm283x-rpi-usb-host.dtsi"
  6. #include "bcm283x-rpi-wifi-bt.dtsi"
  7. / {
  8. compatible = "raspberrypi,3-model-a-plus", "brcm,bcm2837";
  9. model = "Raspberry Pi 3 Model A+";
  10. chosen {
  11. /* 8250 auxiliary UART instead of pl011 */
  12. stdout-path = "serial1:115200n8";
  13. };
  14. memory@0 {
  15. device_type = "memory";
  16. reg = <0 0x20000000>;
  17. };
  18. leds {
  19. led-act {
  20. gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
  21. };
  22. led-pwr {
  23. label = "PWR";
  24. gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
  25. default-state = "keep";
  26. linux,default-trigger = "default-on";
  27. };
  28. };
  29. };
  30. &firmware {
  31. expgpio: gpio {
  32. compatible = "raspberrypi,firmware-gpio";
  33. gpio-controller;
  34. #gpio-cells = <2>;
  35. gpio-line-names = "",
  36. "BT_WL_ON",
  37. "STATUS_LED_R",
  38. "",
  39. "",
  40. "CAM_GPIO0",
  41. "CAM_GPIO1",
  42. "";
  43. status = "okay";
  44. };
  45. };
  46. &gpio {
  47. /*
  48. * This is mostly based on the official GPU firmware DT blob.
  49. *
  50. * Legend:
  51. * "FOO" = GPIO line named "FOO" on the schematic
  52. * "FOO_N" = GPIO line named "FOO" on schematic, active low
  53. */
  54. gpio-line-names = "ID_SDA",
  55. "ID_SCL",
  56. "SDA1",
  57. "SCL1",
  58. "GPIO_GCLK",
  59. "GPIO5",
  60. "GPIO6",
  61. "SPI_CE1_N",
  62. "SPI_CE0_N",
  63. "SPI_MISO",
  64. "SPI_MOSI",
  65. "SPI_SCLK",
  66. "GPIO12",
  67. "GPIO13",
  68. /* Serial port */
  69. "TXD1",
  70. "RXD1",
  71. "GPIO16",
  72. "GPIO17",
  73. "GPIO18",
  74. "GPIO19",
  75. "GPIO20",
  76. "GPIO21",
  77. "GPIO22",
  78. "GPIO23",
  79. "GPIO24",
  80. "GPIO25",
  81. "GPIO26",
  82. "GPIO27",
  83. "HDMI_HPD_N",
  84. "STATUS_LED_G",
  85. /* Used by BT module */
  86. "CTS0",
  87. "RTS0",
  88. "TXD0",
  89. "RXD0",
  90. /* Used by Wifi */
  91. "SD1_CLK",
  92. "SD1_CMD",
  93. "SD1_DATA0",
  94. "SD1_DATA1",
  95. "SD1_DATA2",
  96. "SD1_DATA3",
  97. "PWM0_OUT",
  98. "PWM1_OUT",
  99. "", /* GPIO42 */
  100. "WIFI_CLK",
  101. "SDA0",
  102. "SCL0",
  103. "SMPS_SCL",
  104. "SMPS_SDA",
  105. /* Used by SD Card */
  106. "SD_CLK_R",
  107. "SD_CMD_R",
  108. "SD_DATA0_R",
  109. "SD_DATA1_R",
  110. "SD_DATA2_R",
  111. "SD_DATA3_R";
  112. };
  113. &hdmi {
  114. hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
  115. power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
  116. status = "okay";
  117. };
  118. &pwm {
  119. pinctrl-names = "default";
  120. pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio41>;
  121. status = "okay";
  122. };
  123. /* SDHOST is used to drive the SD card */
  124. &sdhost {
  125. pinctrl-names = "default";
  126. pinctrl-0 = <&sdhost_gpio48>;
  127. status = "okay";
  128. bus-width = <4>;
  129. };
  130. /* uart0 communicates with the BT module
  131. *
  132. * WL_REG_ON and BT_REG_ON of the CYW43455 Wifi/BT module are driven
  133. * by a single GPIO. We can't give GPIO control to one of the drivers,
  134. * otherwise the other part would get unexpectedly disturbed.
  135. */
  136. &uart0 {
  137. pinctrl-names = "default";
  138. pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32 &gpclk2_gpio43>;
  139. };
  140. /* uart1 is mapped to the pin header */
  141. &uart1 {
  142. pinctrl-names = "default";
  143. pinctrl-0 = <&uart1_gpio14>;
  144. status = "okay";
  145. };