/dts-v1/; #include <dt-bindings/clock/boston-clock.h> #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/mips-gic.h> / { #address-cells = <1>; #size-cells = <1>; compatible = "img,boston"; chosen { stdout-path = &uart0; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu@0 { device_type = "cpu"; compatible = "img,mips"; reg = <0>; clocks = <&clk_boston BOSTON_CLK_CPU>; }; }; memory@0 { device_type = "memory"; reg = <0x00000000 0x10000000>; }; gic: interrupt-controller { compatible = "mti,gic"; interrupt-controller; #interrupt-cells = <3>; timer { compatible = "mti,gic-timer"; interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; clocks = <&clk_boston BOSTON_CLK_CPU>; }; }; pci0: pci@10000000 { status = "disabled"; compatible = "xlnx,axi-pcie-host-1.00.a"; device_type = "pci"; reg = <0x10000000 0x2000000>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; interrupt-parent = <&gic>; interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>; ranges = <0x02000000 0 0x40000000 0x40000000 0 0x40000000>; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pci0_intc 0>, <0 0 0 2 &pci0_intc 1>, <0 0 0 3 &pci0_intc 2>, <0 0 0 4 &pci0_intc 3>; pci0_intc: interrupt-controller { interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; }; }; pci1: pci@12000000 { status = "disabled"; compatible = "xlnx,axi-pcie-host-1.00.a"; device_type = "pci"; reg = <0x12000000 0x2000000>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; interrupt-parent = <&gic>; interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>; ranges = <0x02000000 0 0x20000000 0x20000000 0 0x20000000>; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pci1_intc 0>, <0 0 0 2 &pci1_intc 1>, <0 0 0 3 &pci1_intc 2>, <0 0 0 4 &pci1_intc 3>; pci1_intc: interrupt-controller { interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; }; }; pci2: pci@14000000 { compatible = "xlnx,axi-pcie-host-1.00.a"; device_type = "pci"; reg = <0x14000000 0x2000000>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; interrupt-parent = <&gic>; interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>; ranges = <0x02000000 0 0x16000000 0x16000000 0 0x100000>; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &pci2_intc 0>, <0 0 0 2 &pci2_intc 1>, <0 0 0 3 &pci2_intc 2>, <0 0 0 4 &pci2_intc 3>; pci2_intc: interrupt-controller { interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; }; pci2_root@0,0,0 { compatible = "pci10ee,7021"; reg = <0x00000000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; eg20t_bridge@1,0,0 { compatible = "pci8086,8800"; reg = <0x00010000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; eg20t_mac@2,0,1 { compatible = "pci8086,8802"; reg = <0x00020100 0 0 0 0>; phy-reset-gpios = <&eg20t_gpio 6 GPIO_ACTIVE_LOW>; }; eg20t_gpio: eg20t_gpio@2,0,2 { compatible = "pci8086,8803"; reg = <0x00020200 0 0 0 0>; gpio-controller; #gpio-cells = <2>; }; eg20t_i2c@2,12,2 { compatible = "pci8086,8817"; reg = <0x00026200 0 0 0 0>; #address-cells = <1>; #size-cells = <0>; rtc@0x68 { compatible = "st,m41t81s"; reg = <0x68>; }; }; }; }; }; plat_regs: system-controller@17ffd000 { compatible = "img,boston-platform-regs", "syscon"; reg = <0x17ffd000 0x1000>; u-boot,dm-pre-reloc; }; clk_boston: clock { compatible = "img,boston-clock"; #clock-cells = <1>; regmap = <&plat_regs>; u-boot,dm-pre-reloc; }; reboot: syscon-reboot { compatible = "syscon-reboot"; regmap = <&plat_regs>; offset = <0x10>; mask = <0x10>; }; uart0: uart@17ffe000 { compatible = "ns16550a"; reg = <0x17ffe000 0x1000>; reg-shift = <2>; reg-io-width = <4>; interrupt-parent = <&gic>; interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk_boston BOSTON_CLK_SYS>; u-boot,dm-pre-reloc; }; lcd: lcd@17fff000 { compatible = "img,boston-lcd"; reg = <0x17fff000 0x8>; }; flash@18000000 { compatible = "cfi-flash"; reg = <0x18000000 0x8000000>; bank-width = <2>; }; };