]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm64/boot/dts/arm/juno-base.dtsi
Merge remote-tracking branches 'spi/topic/mtk', 'spi/topic/pxa2xx', 'spi/topic/qspi...
[karo-tx-linux.git] / arch / arm64 / boot / dts / arm / juno-base.dtsi
1         /*
2          *  Devices shared by all Juno boards
3          */
4
5         memtimer: timer@2a810000 {
6                 compatible = "arm,armv7-timer-mem";
7                 reg = <0x0 0x2a810000 0x0 0x10000>;
8                 clock-frequency = <50000000>;
9                 #address-cells = <2>;
10                 #size-cells = <2>;
11                 ranges;
12                 status = "disabled";
13                 frame@2a830000 {
14                         frame-number = <1>;
15                         interrupts = <0 60 4>;
16                         reg = <0x0 0x2a830000 0x0 0x10000>;
17                 };
18         };
19
20         gic: interrupt-controller@2c010000 {
21                 compatible = "arm,gic-400", "arm,cortex-a15-gic";
22                 reg = <0x0 0x2c010000 0 0x1000>,
23                       <0x0 0x2c02f000 0 0x2000>,
24                       <0x0 0x2c04f000 0 0x2000>,
25                       <0x0 0x2c06f000 0 0x2000>;
26                 #address-cells = <2>;
27                 #interrupt-cells = <3>;
28                 #size-cells = <2>;
29                 interrupt-controller;
30                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
31                 ranges = <0 0 0 0x2c1c0000 0 0x40000>;
32                 v2m_0: v2m@0 {
33                         compatible = "arm,gic-v2m-frame";
34                         msi-controller;
35                         reg = <0 0 0 0x1000>;
36                 };
37         };
38
39         timer {
40                 compatible = "arm,armv8-timer";
41                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
42                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
43                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
44                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
45         };
46
47         /include/ "juno-clocks.dtsi"
48
49         dma@7ff00000 {
50                 compatible = "arm,pl330", "arm,primecell";
51                 reg = <0x0 0x7ff00000 0 0x1000>;
52                 #dma-cells = <1>;
53                 #dma-channels = <8>;
54                 #dma-requests = <32>;
55                 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
56                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
57                              <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
58                              <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
59                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
60                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
61                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
62                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
63                 clocks = <&soc_faxiclk>;
64                 clock-names = "apb_pclk";
65         };
66
67         soc_uart0: uart@7ff80000 {
68                 compatible = "arm,pl011", "arm,primecell";
69                 reg = <0x0 0x7ff80000 0x0 0x1000>;
70                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
71                 clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
72                 clock-names = "uartclk", "apb_pclk";
73         };
74
75         i2c@7ffa0000 {
76                 compatible = "snps,designware-i2c";
77                 reg = <0x0 0x7ffa0000 0x0 0x1000>;
78                 #address-cells = <1>;
79                 #size-cells = <0>;
80                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
81                 clock-frequency = <400000>;
82                 i2c-sda-hold-time-ns = <500>;
83                 clocks = <&soc_smc50mhz>;
84
85                 dvi0: dvi-transmitter@70 {
86                         compatible = "nxp,tda998x";
87                         reg = <0x70>;
88                 };
89
90                 dvi1: dvi-transmitter@71 {
91                         compatible = "nxp,tda998x";
92                         reg = <0x71>;
93                 };
94         };
95
96         ohci@7ffb0000 {
97                 compatible = "generic-ohci";
98                 reg = <0x0 0x7ffb0000 0x0 0x10000>;
99                 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
100                 clocks = <&soc_usb48mhz>;
101         };
102
103         ehci@7ffc0000 {
104                 compatible = "generic-ehci";
105                 reg = <0x0 0x7ffc0000 0x0 0x10000>;
106                 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
107                 clocks = <&soc_usb48mhz>;
108         };
109
110         memory-controller@7ffd0000 {
111                 compatible = "arm,pl354", "arm,primecell";
112                 reg = <0 0x7ffd0000 0 0x1000>;
113                 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
114                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
115                 clocks = <&soc_smc50mhz>;
116                 clock-names = "apb_pclk";
117         };
118
119         memory@80000000 {
120                 device_type = "memory";
121                 /* last 16MB of the first memory area is reserved for secure world use by firmware */
122                 reg = <0x00000000 0x80000000 0x0 0x7f000000>,
123                       <0x00000008 0x80000000 0x1 0x80000000>;
124         };
125
126         smb {
127                 compatible = "simple-bus";
128                 #address-cells = <2>;
129                 #size-cells = <1>;
130                 ranges = <0 0 0 0x08000000 0x04000000>,
131                          <1 0 0 0x14000000 0x04000000>,
132                          <2 0 0 0x18000000 0x04000000>,
133                          <3 0 0 0x1c000000 0x04000000>,
134                          <4 0 0 0x0c000000 0x04000000>,
135                          <5 0 0 0x10000000 0x04000000>;
136
137                 #interrupt-cells = <1>;
138                 interrupt-map-mask = <0 0 15>;
139                 interrupt-map = <0 0  0 &gic 0 0 0  68 IRQ_TYPE_LEVEL_HIGH>,
140                                 <0 0  1 &gic 0 0 0  69 IRQ_TYPE_LEVEL_HIGH>,
141                                 <0 0  2 &gic 0 0 0  70 IRQ_TYPE_LEVEL_HIGH>,
142                                 <0 0  3 &gic 0 0 0 160 IRQ_TYPE_LEVEL_HIGH>,
143                                 <0 0  4 &gic 0 0 0 161 IRQ_TYPE_LEVEL_HIGH>,
144                                 <0 0  5 &gic 0 0 0 162 IRQ_TYPE_LEVEL_HIGH>,
145                                 <0 0  6 &gic 0 0 0 163 IRQ_TYPE_LEVEL_HIGH>,
146                                 <0 0  7 &gic 0 0 0 164 IRQ_TYPE_LEVEL_HIGH>,
147                                 <0 0  8 &gic 0 0 0 165 IRQ_TYPE_LEVEL_HIGH>,
148                                 <0 0  9 &gic 0 0 0 166 IRQ_TYPE_LEVEL_HIGH>,
149                                 <0 0 10 &gic 0 0 0 167 IRQ_TYPE_LEVEL_HIGH>,
150                                 <0 0 11 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>,
151                                 <0 0 12 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>;
152
153                 /include/ "juno-motherboard.dtsi"
154         };