/* * Devices shared by all Juno boards */ memtimer: timer@2a810000 { compatible = "arm,armv7-timer-mem"; reg = <0x0 0x2a810000 0x0 0x10000>; clock-frequency = <50000000>; #address-cells = <2>; #size-cells = <2>; ranges; status = "disabled"; frame@2a830000 { frame-number = <1>; interrupts = <0 60 4>; reg = <0x0 0x2a830000 0x0 0x10000>; }; }; mailbox: mhu@2b1f0000 { compatible = "arm,mhu", "arm,primecell"; reg = <0x0 0x2b1f0000 0x0 0x1000>; interrupts = , ; interrupt-names = "mhu_lpri_rx", "mhu_hpri_rx"; #mbox-cells = <1>; clocks = <&soc_refclk100mhz>; clock-names = "apb_pclk"; }; gic: interrupt-controller@2c010000 { compatible = "arm,gic-400", "arm,cortex-a15-gic"; reg = <0x0 0x2c010000 0 0x1000>, <0x0 0x2c02f000 0 0x2000>, <0x0 0x2c04f000 0 0x2000>, <0x0 0x2c06f000 0 0x2000>; #address-cells = <2>; #interrupt-cells = <3>; #size-cells = <2>; interrupt-controller; interrupts = ; ranges = <0 0 0 0x2c1c0000 0 0x40000>; v2m_0: v2m@0 { compatible = "arm,gic-v2m-frame"; msi-controller; reg = <0 0 0 0x1000>; }; }; timer { compatible = "arm,armv8-timer"; interrupts = , , , ; }; sram: sram@2e000000 { compatible = "arm,juno-sram-ns", "mmio-sram"; reg = <0x0 0x2e000000 0x0 0x8000>; #address-cells = <1>; #size-cells = <1>; ranges = <0 0x0 0x2e000000 0x8000>; cpu_scp_lpri: scp-shmem@0 { compatible = "arm,juno-scp-shmem"; reg = <0x0 0x200>; }; cpu_scp_hpri: scp-shmem@200 { compatible = "arm,juno-scp-shmem"; reg = <0x200 0x200>; }; }; pcie_ctlr: pcie-controller@40000000 { compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic"; device_type = "pci"; reg = <0 0x40000000 0 0x10000000>; /* ECAM config space */ bus-range = <0 255>; linux,pci-domain = <0>; #address-cells = <3>; #size-cells = <2>; dma-coherent; ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000>, <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>, <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &gic 0 0 0 136 4>, <0 0 0 2 &gic 0 0 0 137 4>, <0 0 0 3 &gic 0 0 0 138 4>, <0 0 0 4 &gic 0 0 0 139 4>; msi-parent = <&v2m_0>; status = "disabled"; }; scpi { compatible = "arm,scpi"; mboxes = <&mailbox 1>; shmem = <&cpu_scp_hpri>; clocks { compatible = "arm,scpi-clocks"; scpi_dvfs: scpi-dvfs { compatible = "arm,scpi-dvfs-clocks"; #clock-cells = <1>; clock-indices = <0>, <1>, <2>; clock-output-names = "atlclk", "aplclk","gpuclk"; }; scpi_clk: scpi-clk { compatible = "arm,scpi-variable-clocks"; #clock-cells = <1>; clock-indices = <3>; clock-output-names = "pxlclk"; }; }; scpi_sensors0: sensors { compatible = "arm,scpi-sensors"; #thermal-sensor-cells = <1>; }; }; /include/ "juno-clocks.dtsi" dma@7ff00000 { compatible = "arm,pl330", "arm,primecell"; reg = <0x0 0x7ff00000 0 0x1000>; #dma-cells = <1>; #dma-channels = <8>; #dma-requests = <32>; interrupts = , , , , , , , , ; clocks = <&soc_faxiclk>; clock-names = "apb_pclk"; }; hdlcd@7ff50000 { compatible = "arm,hdlcd"; reg = <0 0x7ff50000 0 0x1000>; interrupts = ; clocks = <&scpi_clk 3>; clock-names = "pxlclk"; port { hdlcd1_output: hdlcd1-endpoint { remote-endpoint = <&tda998x_1_input>; }; }; }; hdlcd@7ff60000 { compatible = "arm,hdlcd"; reg = <0 0x7ff60000 0 0x1000>; interrupts = ; clocks = <&scpi_clk 3>; clock-names = "pxlclk"; port { hdlcd0_output: hdlcd0-endpoint { remote-endpoint = <&tda998x_0_input>; }; }; }; soc_uart0: uart@7ff80000 { compatible = "arm,pl011", "arm,primecell"; reg = <0x0 0x7ff80000 0x0 0x1000>; interrupts = ; clocks = <&soc_uartclk>, <&soc_refclk100mhz>; clock-names = "uartclk", "apb_pclk"; }; i2c@7ffa0000 { compatible = "snps,designware-i2c"; reg = <0x0 0x7ffa0000 0x0 0x1000>; #address-cells = <1>; #size-cells = <0>; interrupts = ; clock-frequency = <400000>; i2c-sda-hold-time-ns = <500>; clocks = <&soc_smc50mhz>; hdmi-transmitter@70 { compatible = "nxp,tda998x"; reg = <0x70>; port { tda998x_0_input: tda998x-0-endpoint { remote-endpoint = <&hdlcd0_output>; }; }; }; hdmi-transmitter@71 { compatible = "nxp,tda998x"; reg = <0x71>; port { tda998x_1_input: tda998x-1-endpoint { remote-endpoint = <&hdlcd1_output>; }; }; }; }; ohci@7ffb0000 { compatible = "generic-ohci"; reg = <0x0 0x7ffb0000 0x0 0x10000>; interrupts = ; clocks = <&soc_usb48mhz>; }; ehci@7ffc0000 { compatible = "generic-ehci"; reg = <0x0 0x7ffc0000 0x0 0x10000>; interrupts = ; clocks = <&soc_usb48mhz>; }; memory-controller@7ffd0000 { compatible = "arm,pl354", "arm,primecell"; reg = <0 0x7ffd0000 0 0x1000>; interrupts = , ; clocks = <&soc_smc50mhz>; clock-names = "apb_pclk"; }; memory@80000000 { device_type = "memory"; /* last 16MB of the first memory area is reserved for secure world use by firmware */ reg = <0x00000000 0x80000000 0x0 0x7f000000>, <0x00000008 0x80000000 0x1 0x80000000>; }; smb@08000000 { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <1>; ranges = <0 0 0 0x08000000 0x04000000>, <1 0 0 0x14000000 0x04000000>, <2 0 0 0x18000000 0x04000000>, <3 0 0 0x1c000000 0x04000000>, <4 0 0 0x0c000000 0x04000000>, <5 0 0 0x10000000 0x04000000>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 15>; interrupt-map = <0 0 0 &gic 0 0 0 68 IRQ_TYPE_LEVEL_HIGH>, <0 0 1 &gic 0 0 0 69 IRQ_TYPE_LEVEL_HIGH>, <0 0 2 &gic 0 0 0 70 IRQ_TYPE_LEVEL_HIGH>, <0 0 3 &gic 0 0 0 160 IRQ_TYPE_LEVEL_HIGH>, <0 0 4 &gic 0 0 0 161 IRQ_TYPE_LEVEL_HIGH>, <0 0 5 &gic 0 0 0 162 IRQ_TYPE_LEVEL_HIGH>, <0 0 6 &gic 0 0 0 163 IRQ_TYPE_LEVEL_HIGH>, <0 0 7 &gic 0 0 0 164 IRQ_TYPE_LEVEL_HIGH>, <0 0 8 &gic 0 0 0 165 IRQ_TYPE_LEVEL_HIGH>, <0 0 9 &gic 0 0 0 166 IRQ_TYPE_LEVEL_HIGH>, <0 0 10 &gic 0 0 0 167 IRQ_TYPE_LEVEL_HIGH>, <0 0 11 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>, <0 0 12 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>; /include/ "juno-motherboard.dtsi" };