pxa2xx.dtsi 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * pxa2xx.dtsi - Device Tree Include file for Marvell PXA2xx family SoC
  4. *
  5. * Copyright (C) 2011 Marek Vasut <[email protected]>
  6. */
  7. #include "dt-bindings/clock/pxa-clock.h"
  8. #define PMGROUP(pin) #pin
  9. #define PMMUX(func, pin, af) \
  10. mux- ## func { \
  11. groups = PMGROUP(P ## pin); \
  12. function = #af; \
  13. }
  14. #define PMMUX_LPM_LOW(func, pin, af) \
  15. mux- ## func { \
  16. groups = PMGROUP(P ## pin); \
  17. function = #af; \
  18. low-power-disable; \
  19. }
  20. #define PMMUX_LPM_HIGH(func, pin, af) \
  21. mux- ## func { \
  22. groups = PMGROUP(P ## pin); \
  23. function = #af; \
  24. low-power-enable; \
  25. }
  26. / {
  27. #address-cells = <1>;
  28. #size-cells = <1>;
  29. model = "Marvell PXA2xx family SoC";
  30. compatible = "marvell,pxa2xx";
  31. interrupt-parent = <&pxairq>;
  32. aliases {
  33. serial0 = &ffuart;
  34. serial1 = &btuart;
  35. serial2 = &stuart;
  36. serial3 = &hwuart;
  37. i2c0 = &pwri2c;
  38. i2c1 = &pxai2c1;
  39. };
  40. cpus {
  41. cpu {
  42. compatible = "marvell,xscale";
  43. device_type = "cpu";
  44. };
  45. };
  46. pxabus {
  47. compatible = "simple-bus";
  48. #address-cells = <1>;
  49. #size-cells = <1>;
  50. ranges;
  51. pxairq: interrupt-controller@40d00000 {
  52. #interrupt-cells = <1>;
  53. compatible = "marvell,pxa-intc";
  54. interrupt-controller;
  55. interrupt-parent;
  56. marvell,intc-nr-irqs = <32>;
  57. reg = <0x40d00000 0xd0>;
  58. };
  59. gpio: gpio@40e00000 {
  60. compatible = "mrvl,pxa-gpio";
  61. #address-cells = <0x1>;
  62. #size-cells = <0x1>;
  63. reg = <0x40e00000 0x10000>;
  64. gpio-controller;
  65. #gpio-cells = <0x2>;
  66. interrupts = <8>, <9>, <10>;
  67. interrupt-names = "gpio0", "gpio1", "gpio_mux";
  68. interrupt-controller;
  69. #interrupt-cells = <0x2>;
  70. ranges;
  71. gcb0: gpio@40e00000 {
  72. reg = <0x40e00000 0x4>;
  73. };
  74. gcb1: gpio@40e00004 {
  75. reg = <0x40e00004 0x4>;
  76. };
  77. gcb2: gpio@40e00008 {
  78. reg = <0x40e00008 0x4>;
  79. };
  80. gcb3: gpio@40e0000c {
  81. reg = <0x40e0000c 0x4>;
  82. };
  83. };
  84. ffuart: serial@40100000 {
  85. compatible = "mrvl,pxa-uart";
  86. reg = <0x40100000 0x30>;
  87. interrupts = <22>;
  88. clocks = <&clks CLK_FFUART>;
  89. status = "disabled";
  90. };
  91. btuart: serial@40200000 {
  92. compatible = "mrvl,pxa-uart";
  93. reg = <0x40200000 0x30>;
  94. interrupts = <21>;
  95. clocks = <&clks CLK_BTUART>;
  96. status = "disabled";
  97. };
  98. stuart: serial@40700000 {
  99. compatible = "mrvl,pxa-uart";
  100. reg = <0x40700000 0x30>;
  101. interrupts = <20>;
  102. clocks = <&clks CLK_STUART>;
  103. status = "disabled";
  104. };
  105. hwuart: serial@41600000 {
  106. compatible = "mrvl,pxa-uart";
  107. reg = <0x41600000 0x30>;
  108. interrupts = <7>;
  109. status = "disabled";
  110. };
  111. pxai2c1: i2c@40301680 {
  112. compatible = "mrvl,pxa-i2c";
  113. reg = <0x40301680 0x30>;
  114. interrupts = <18>;
  115. clocks = <&clks CLK_I2C>;
  116. #address-cells = <0x1>;
  117. #size-cells = <0>;
  118. status = "disabled";
  119. };
  120. mmc0: mmc@41100000 {
  121. compatible = "marvell,pxa-mmc";
  122. reg = <0x41100000 0x1000>;
  123. interrupts = <23>;
  124. clocks = <&clks CLK_MMC>;
  125. dmas = <&pdma 21 3
  126. &pdma 22 3>;
  127. dma-names = "rx", "tx";
  128. status = "disabled";
  129. };
  130. rtc@40900000 {
  131. compatible = "marvell,pxa-rtc";
  132. reg = <0x40900000 0x3c>;
  133. interrupts = <30 31>;
  134. };
  135. lcdc: lcd-controller@40500000 {
  136. compatible = "marvell,pxa2xx-lcdc";
  137. reg = <0x44000000 0x10000>;
  138. interrupts = <17>;
  139. clocks = <&clks CLK_LCD>;
  140. status = "disabled";
  141. };
  142. };
  143. };