pxa168.dtsi 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2012 Marvell Technology Group Ltd.
  4. * Author: Haojian Zhuang <[email protected]>
  5. */
  6. #include <dt-bindings/clock/marvell,pxa168.h>
  7. / {
  8. #address-cells = <1>;
  9. #size-cells = <1>;
  10. aliases {
  11. serial0 = &uart1;
  12. serial1 = &uart2;
  13. serial2 = &uart3;
  14. i2c0 = &twsi1;
  15. i2c1 = &twsi2;
  16. };
  17. soc {
  18. #address-cells = <1>;
  19. #size-cells = <1>;
  20. compatible = "simple-bus";
  21. interrupt-parent = <&intc>;
  22. ranges;
  23. axi@d4200000 { /* AXI */
  24. compatible = "mrvl,axi-bus", "simple-bus";
  25. #address-cells = <1>;
  26. #size-cells = <1>;
  27. reg = <0xd4200000 0x00200000>;
  28. ranges;
  29. intc: interrupt-controller@d4282000 {
  30. compatible = "mrvl,mmp-intc";
  31. interrupt-controller;
  32. #interrupt-cells = <1>;
  33. reg = <0xd4282000 0x1000>;
  34. mrvl,intc-nr-irqs = <64>;
  35. };
  36. };
  37. apb@d4000000 { /* APB */
  38. compatible = "mrvl,apb-bus", "simple-bus";
  39. #address-cells = <1>;
  40. #size-cells = <1>;
  41. reg = <0xd4000000 0x00200000>;
  42. ranges;
  43. timer0: timer@d4014000 {
  44. compatible = "mrvl,mmp-timer";
  45. reg = <0xd4014000 0x100>;
  46. interrupts = <13>;
  47. };
  48. uart1: serial@d4017000 {
  49. compatible = "mrvl,mmp-uart", "intel,xscale-uart";
  50. reg = <0xd4017000 0x1000>;
  51. reg-shift = <2>;
  52. interrupts = <27>;
  53. clocks = <&soc_clocks PXA168_CLK_UART0>;
  54. resets = <&soc_clocks PXA168_CLK_UART0>;
  55. status = "disabled";
  56. };
  57. uart2: serial@d4018000 {
  58. compatible = "mrvl,mmp-uart", "intel,xscale-uart";
  59. reg = <0xd4018000 0x1000>;
  60. reg-shift = <2>;
  61. interrupts = <28>;
  62. clocks = <&soc_clocks PXA168_CLK_UART1>;
  63. resets = <&soc_clocks PXA168_CLK_UART1>;
  64. status = "disabled";
  65. };
  66. uart3: serial@d4026000 {
  67. compatible = "mrvl,mmp-uart", "intel,xscale-uart";
  68. reg = <0xd4026000 0x1000>;
  69. reg-shift = <2>;
  70. interrupts = <29>;
  71. clocks = <&soc_clocks PXA168_CLK_UART2>;
  72. resets = <&soc_clocks PXA168_CLK_UART2>;
  73. status = "disabled";
  74. };
  75. gpio@d4019000 {
  76. compatible = "marvell,mmp-gpio";
  77. #address-cells = <1>;
  78. #size-cells = <1>;
  79. reg = <0xd4019000 0x1000>;
  80. gpio-controller;
  81. #gpio-cells = <2>;
  82. interrupts = <49>;
  83. clocks = <&soc_clocks PXA168_CLK_GPIO>;
  84. resets = <&soc_clocks PXA168_CLK_GPIO>;
  85. interrupt-names = "gpio_mux";
  86. interrupt-controller;
  87. #interrupt-cells = <2>;
  88. ranges;
  89. gcb0: gpio@d4019000 {
  90. reg = <0xd4019000 0x4>;
  91. };
  92. gcb1: gpio@d4019004 {
  93. reg = <0xd4019004 0x4>;
  94. };
  95. gcb2: gpio@d4019008 {
  96. reg = <0xd4019008 0x4>;
  97. };
  98. gcb3: gpio@d4019100 {
  99. reg = <0xd4019100 0x4>;
  100. };
  101. };
  102. twsi1: i2c@d4011000 {
  103. compatible = "mrvl,mmp-twsi";
  104. #address-cells = <1>;
  105. #size-cells = <0>;
  106. reg = <0xd4011000 0x1000>;
  107. interrupts = <7>;
  108. clocks = <&soc_clocks PXA168_CLK_TWSI0>;
  109. resets = <&soc_clocks PXA168_CLK_TWSI0>;
  110. mrvl,i2c-fast-mode;
  111. status = "disabled";
  112. };
  113. twsi2: i2c@d4025000 {
  114. compatible = "mrvl,mmp-twsi";
  115. #address-cells = <1>;
  116. #size-cells = <0>;
  117. reg = <0xd4025000 0x1000>;
  118. interrupts = <58>;
  119. clocks = <&soc_clocks PXA168_CLK_TWSI1>;
  120. resets = <&soc_clocks PXA168_CLK_TWSI1>;
  121. status = "disabled";
  122. };
  123. rtc: rtc@d4010000 {
  124. compatible = "mrvl,mmp-rtc";
  125. reg = <0xd4010000 0x1000>;
  126. interrupts = <5>, <6>;
  127. interrupt-names = "rtc 1Hz", "rtc alarm";
  128. clocks = <&soc_clocks PXA168_CLK_RTC>;
  129. resets = <&soc_clocks PXA168_CLK_RTC>;
  130. status = "disabled";
  131. };
  132. };
  133. soc_clocks: clocks{
  134. compatible = "marvell,pxa168-clock";
  135. reg = <0xd4050000 0x1000>,
  136. <0xd4282800 0x400>,
  137. <0xd4015000 0x1000>;
  138. reg-names = "mpmu", "apmu", "apbc";
  139. #clock-cells = <1>;
  140. #reset-cells = <1>;
  141. };
  142. };
  143. };