// SPDX-License-Identifier: GPL-2.0+ OR X11 /* * NXP ls1028a SOC common device tree source * * Copyright 2019 NXP * */ / { compatible = "fsl,ls1028a"; interrupt-parent = <&gic>; #address-cells = <2>; #size-cells = <2>; sysclk: sysclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; clock-output-names = "sysclk"; }; clockgen: clocking@1300000 { compatible = "fsl,ls1028a-clockgen"; reg = <0x0 0x1300000 0x0 0xa0000>; #clock-cells = <2>; clocks = <&sysclk>; }; memory@01080000 { device_type = "memory"; reg = <0x00000000 0x01080000 0 0x80000000>; /* DRAM space - 1, size : 2 GB DRAM */ }; gic: interrupt-controller@6000000 { compatible = "arm,gic-v3"; reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */ <0x0 0x06040000 0 0x40000>; #interrupt-cells = <3>; interrupt-controller; interrupts = <1 9 0x4>; }; timer { compatible = "arm,armv8-timer"; interrupts = <1 13 0x8>, /* Physical Secure PPI, active-low */ <1 14 0x8>, /* Physical Non-Secure PPI, active-low */ <1 11 0x8>, /* Virtual PPI, active-low */ <1 10 0x8>; /* Hypervisor PPI, active-low */ }; fspi: flexspi@20C0000 { compatible = "nxp,dn-fspi"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x20C0000 0x0 0x10000>, <0x0 0x20000000 0x0 0x10000000>; /*64MB flash*/ reg-names = "FSPI", "FSPI-memory"; num-cs = <1>; status = "disabled"; }; serial0: serial@21c0500 { device_type = "serial"; compatible = "fsl,ns16550", "ns16550a"; reg = <0x0 0x21c0500 0x0 0x100>; interrupts = <0 32 0x1>; /* edge triggered */ status = "disabled"; }; serial1: serial@21c0600 { device_type = "serial"; compatible = "fsl,ns16550", "ns16550a"; reg = <0x0 0x21c0600 0x0 0x100>; interrupts = <0 32 0x1>; /* edge triggered */ status = "disabled"; }; pcie@3400000 { compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie"; reg = <0x00 0x03400000 0x0 0x80000 0x00 0x03480000 0x0 0x40000 /* lut registers */ 0x00 0x034c0000 0x0 0x40000 /* pf controls registers */ 0x80 0x00000000 0x0 0x20000>; /* configuration space */ reg-names = "dbi", "lut", "ctrl", "config"; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; num-lanes = <4>; bus-range = <0x0 0xff>; ranges = <0x81000000 0x0 0x00000000 0x80 0x00020000 0x0 0x00010000 /* downstream I/O */ 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ }; pcie@3500000 { compatible = "fsl,ls-pcie", "fsl,ls1028-pcie", "snps,dw-pcie"; reg = <0x00 0x03500000 0x0 0x80000 0x00 0x03580000 0x0 0x40000 /* lut registers */ 0x00 0x035c0000 0x0 0x40000 /* pf controls registers */ 0x88 0x00000000 0x0 0x20000>; /* configuration space */ reg-names = "dbi", "lut", "ctrl", "config"; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; num-lanes = <4>; bus-range = <0x0 0xff>; ranges = <0x81000000 0x0 0x00000000 0x88 0x00020000 0x0 0x00010000 /* downstream I/O */ 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ }; pcie@1f0000000 { compatible = "pci-host-ecam-generic"; /* ECAM bus 0, HW has more space reserved but not populated */ bus-range = <0x0 0x0>; reg = <0x01 0xf0000000 0x0 0x100000>; #address-cells = <3>; #size-cells = <2>; device_type = "pci"; ranges= <0x82000000 0x0 0x00000000 0x1 0xf8000000 0x0 0x160000>; enetc0: pci@0,0 { reg = <0x000000 0 0 0 0>; status = "disabled"; }; enetc1: pci@0,1 { reg = <0x000100 0 0 0 0>; status = "disabled"; }; enetc2: pci@0,2 { reg = <0x000200 0 0 0 0>; status = "okay"; phy-mode = "internal"; }; mdio0: pci@0,3 { #address-cells=<0>; #size-cells=<1>; reg = <0x000300 0 0 0 0>; status = "disabled"; }; enetc6: pci@0,6 { reg = <0x000600 0 0 0 0>; status = "okay"; phy-mode = "internal"; }; }; i2c0: i2c@2000000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2000000 0x0 0x10000>; interrupts = <0 34 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c1: i2c@2010000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2010000 0x0 0x10000>; interrupts = <0 34 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c2: i2c@2020000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2020000 0x0 0x10000>; interrupts = <0 35 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c3: i2c@2030000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2030000 0x0 0x10000>; interrupts = <0 35 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c4: i2c@2040000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2040000 0x0 0x10000>; interrupts = <0 74 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c5: i2c@2050000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2050000 0x0 0x10000>; interrupts = <0 74 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c6: i2c@2060000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2060000 0x0 0x10000>; interrupts = <0 75 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; i2c7: i2c@2070000 { compatible = "fsl,vf610-i2c"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2070000 0x0 0x10000>; interrupts = <0 75 0x4>; clock-names = "i2c"; clocks = <&clockgen 4 0>; status = "disabled"; }; usb1: usb3@3100000 { compatible = "fsl,layerscape-dwc3"; reg = <0x0 0x3100000 0x0 0x10000>; interrupts = <0 80 0x4>; dr_mode = "host"; status = "disabled"; }; usb2: usb3@3110000 { compatible = "fsl,layerscape-dwc3"; reg = <0x0 0x3110000 0x0 0x10000>; interrupts = <0 81 0x4>; dr_mode = "host"; status = "disabled"; }; dspi0: dspi@2100000 { compatible = "fsl,vf610-dspi"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2100000 0x0 0x10000>; interrupts = <0 26 0x4>; clock-names = "dspi"; clocks = <&clockgen 4 0>; num-cs = <5>; litte-endian; status = "disabled"; }; dspi1: dspi@2110000 { compatible = "fsl,vf610-dspi"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2110000 0x0 0x10000>; interrupts = <0 26 0x4>; clock-names = "dspi"; clocks = <&clockgen 4 0>; num-cs = <5>; little-endian; status = "disabled"; }; dspi2: dspi@2120000 { compatible = "fsl,vf610-dspi"; #address-cells = <1>; #size-cells = <0>; reg = <0x0 0x2120000 0x0 0x10000>; interrupts = <0 26 0x4>; clock-names = "dspi"; clocks = <&clockgen 4 0>; num-cs = <5>; little-endian; status = "disabled"; }; esdhc0: esdhc@2140000 { compatible = "fsl,esdhc"; reg = <0x0 0x2140000 0x0 0x10000>; interrupts = <0 28 0x4>; big-endian; bus-width = <4>; status = "disabled"; }; esdhc1: esdhc@2150000 { compatible = "fsl,esdhc"; reg = <0x0 0x2150000 0x0 0x10000>; interrupts = <0 63 0x4>; big-endian; non-removable; bus-width = <4>; status = "disabled"; }; sata: sata@3200000 { compatible = "fsl,ls1028a-ahci"; reg = <0x0 0x3200000 0x0 0x10000 /* ccsr sata base */ 0x7 0x100520 0x0 0x4>; /* ecc sata addr*/ reg-names = "sata-base", "ecc-addr"; interrupts = <0 133 4>; status = "disabled"; }; cluster1_core0_watchdog: wdt@c000000 { compatible = "arm,sp805-wdt"; reg = <0x0 0xc000000 0x0 0x1000>; }; };