Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003  * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
0004  */
0005 
0006 #include <dt-bindings/gpio/gpio.h>
0007 #include <dt-bindings/input/input.h>
0008 #include <dt-bindings/interrupt-controller/irq.h>
0009 #include <dt-bindings/interrupt-controller/arm-gic.h>
0010 
0011 / {
0012         #address-cells = <1>;
0013         #size-cells = <1>;
0014         interrupt-parent = <&gic>;
0015 
0016         aliases {
0017                 serial0 = &uart0;
0018         };
0019 
0020         chosen {
0021                 stdout-path = "serial0:115200n8";
0022         };
0023 
0024         cpus {
0025                 #address-cells = <1>;
0026                 #size-cells = <0>;
0027 
0028                 cpu@0 {
0029                         device_type = "cpu";
0030                         compatible = "arm,cortex-a7";
0031                         reg = <0x0>;
0032                 };
0033         };
0034 
0035         mpcore@18310000 {
0036                 compatible = "simple-bus";
0037                 ranges = <0x00000000 0x18310000 0x00008000>;
0038                 #address-cells = <1>;
0039                 #size-cells = <1>;
0040 
0041                 gic: interrupt-controller@1000 {
0042                         compatible = "arm,cortex-a7-gic";
0043                         #interrupt-cells = <3>;
0044                         #address-cells = <0>;
0045                         interrupt-controller;
0046                         reg = <0x1000 0x1000>,
0047                               <0x2000 0x0100>;
0048                 };
0049         };
0050 
0051         timer {
0052                 compatible = "arm,armv7-timer";
0053                 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
0054                              <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
0055                              <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
0056                              <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
0057         };
0058 
0059         clocks {
0060                 #address-cells = <1>;
0061                 #size-cells = <1>;
0062                 ranges;
0063 
0064                 alp: oscillator {
0065                         #clock-cells = <0>;
0066                         compatible = "fixed-clock";
0067                         clock-frequency = <40000000>;
0068                 };
0069         };
0070 
0071         axi@18000000 {
0072                 compatible = "brcm,bus-axi";
0073                 reg = <0x18000000 0x1000>;
0074                 ranges = <0x00000000 0x18000000 0x00100000>;
0075                 #address-cells = <1>;
0076                 #size-cells = <1>;
0077 
0078                 #interrupt-cells = <1>;
0079                 interrupt-map-mask = <0x000fffff 0xffff>;
0080                 interrupt-map =
0081                         /* ChipCommon */
0082                         <0x00000000 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
0083 
0084                         /* IEEE 802.11 0 */
0085                         <0x00001000 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
0086 
0087                         /* PCIe Controller 0 */
0088                         <0x00002000 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0089                         <0x00002000 1 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0090                         <0x00002000 2 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0091                         <0x00002000 3 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0092                         <0x00002000 4 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0093                         <0x00002000 5 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0094 
0095                         /* USB 2.0 Controller */
0096                         <0x00004000 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
0097 
0098                         /* Ethernet Controller 0 */
0099                         <0x00005000 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
0100 
0101                         /* IEEE 802.11 1 */
0102                         <0x0000a000 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0103 
0104                         /* Ethernet Controller 1 */
0105                         <0x0000b000 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
0106 
0107                 chipcommon: chipcommon@0 {
0108                         compatible = "simple-bus";
0109                         reg = <0x00000000 0x1000>;
0110                         ranges;
0111 
0112                         #address-cells = <1>;
0113                         #size-cells = <1>;
0114 
0115                         gpio-controller;
0116                         #gpio-cells = <2>;
0117 
0118                         uart0: serial@300 {
0119                                 compatible = "ns16550a";
0120                                 reg = <0x0300 0x100>;
0121                                 interrupt-parent = <&gic>;
0122                                 interrupts = <GIC_PPI 16 IRQ_TYPE_LEVEL_HIGH>;
0123                                 clocks = <&alp>;
0124                                 status = "okay";
0125                         };
0126                 };
0127 
0128                 pcie0: pcie@2000 {
0129                         reg = <0x00002000 0x1000>;
0130                 };
0131 
0132                 usb2: usb2@4000 {
0133                         reg = <0x4000 0x1000>;
0134                         ranges;
0135                         #address-cells = <1>;
0136                         #size-cells = <1>;
0137 
0138                         ehci: usb@4000 {
0139                                 compatible = "generic-ehci";
0140                                 reg = <0x4000 0x1000>;
0141                                 interrupt-parent = <&gic>;
0142                                 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
0143 
0144                                 #address-cells = <1>;
0145                                 #size-cells = <0>;
0146 
0147                                 ehci_port1: port@1 {
0148                                         reg = <1>;
0149                                         #trigger-source-cells = <0>;
0150                                 };
0151 
0152                                 ehci_port2: port@2 {
0153                                         reg = <2>;
0154                                         #trigger-source-cells = <0>;
0155                                 };
0156                         };
0157 
0158                         ohci: usb@d000 {
0159                                 #usb-cells = <0>;
0160 
0161                                 compatible = "generic-ohci";
0162                                 reg = <0xd000 0x1000>;
0163                                 interrupt-parent = <&gic>;
0164                                 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
0165 
0166                                 #address-cells = <1>;
0167                                 #size-cells = <0>;
0168 
0169                                 ohci_port1: port@1 {
0170                                         reg = <1>;
0171                                         #trigger-source-cells = <0>;
0172                                 };
0173 
0174                                 ohci_port2: port@2 {
0175                                         reg = <2>;
0176                                         #trigger-source-cells = <0>;
0177                                 };
0178                         };
0179                 };
0180 
0181                 gmac0: ethernet@5000 {
0182                         reg = <0x5000 0x1000>;
0183 
0184                         mdio {
0185                                 #address-cells = <1>;
0186                                 #size-cells = <0>;
0187 
0188                                 switch: switch@1e {
0189                                         compatible = "brcm,bcm53125";
0190                                         reg = <0x1e>;
0191 
0192                                         status = "disabled";
0193 
0194                                         /* ports are defined in board DTS */
0195                                         ports {
0196                                                 #address-cells = <1>;
0197                                                 #size-cells = <0>;
0198                                         };
0199                                 };
0200                         };
0201                 };
0202 
0203                 gmac1: ethernet@b000 {
0204                         reg = <0xb000 0x1000>;
0205                 };
0206 
0207                 pmu@12000 {
0208                         compatible = "simple-mfd", "syscon";
0209                         reg = <0x00012000 0x00001000>;
0210 
0211                         ilp: ilp {
0212                                 compatible = "brcm,bcm53573-ilp";
0213                                 clocks = <&alp>;
0214                                 #clock-cells = <0>;
0215                                 clock-output-names = "ilp";
0216                         };
0217                 };
0218         };
0219 };