| /dts-v1/; |
| |
| /memreserve/ 0x0000000080000000 0x0000000000010000; |
| / { |
| model = "FVP Base"; |
| compatible = "arm,vfp-base", "arm,vexpress"; |
| interrupt-parent = <0x1>; |
| #address-cells = <0x2>; |
| #size-cells = <0x2>; |
| |
| chosen { |
| }; |
| |
| aliases { |
| serial0 = "/smb@0,0/motherboard/iofpga@3,00000000/uart@90000"; |
| serial1 = "/smb@0,0/motherboard/iofpga@3,00000000/uart@a0000"; |
| serial2 = "/smb@0,0/motherboard/iofpga@3,00000000/uart@b0000"; |
| serial3 = "/smb@0,0/motherboard/iofpga@3,00000000/uart@c0000"; |
| }; |
| |
| psci { |
| compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; |
| method = "smc"; |
| cpu_suspend = <0xc4000001>; |
| cpu_off = <0x84000002>; |
| cpu_on = <0xc4000003>; |
| sys_poweroff = <0x84000008>; |
| sys_reset = <0x84000009>; |
| }; |
| |
| cpus { |
| #address-cells = <0x2>; |
| #size-cells = <0x0>; |
| |
| cpu-map { |
| |
| cluster0 { |
| |
| core0 { |
| cpu = <0x2>; |
| }; |
| |
| core1 { |
| cpu = <0x3>; |
| }; |
| |
| core2 { |
| cpu = <0x4>; |
| }; |
| |
| core3 { |
| cpu = <0x5>; |
| }; |
| }; |
| |
| cluster1 { |
| |
| core0 { |
| cpu = <0x6>; |
| }; |
| |
| core1 { |
| cpu = <0x7>; |
| }; |
| |
| core2 { |
| cpu = <0x8>; |
| }; |
| |
| core3 { |
| cpu = <0x9>; |
| }; |
| }; |
| }; |
| |
| idle-states { |
| entry-method = "arm,psci"; |
| |
| cpu-sleep-0 { |
| compatible = "arm,idle-state"; |
| local-timer-stop; |
| arm,psci-suspend-param = <0x10000>; |
| entry-latency-us = <0x28>; |
| exit-latency-us = <0x64>; |
| min-residency-us = <0x96>; |
| phandle = <0xa>; |
| }; |
| |
| cluster-sleep-0 { |
| compatible = "arm,idle-state"; |
| local-timer-stop; |
| arm,psci-suspend-param = <0x1010000>; |
| entry-latency-us = <0x1f4>; |
| exit-latency-us = <0x3e8>; |
| min-residency-us = <0x9c4>; |
| phandle = <0xb>; |
| }; |
| }; |
| |
| cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x0>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x2>; |
| }; |
| |
| cpu@1 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x100>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x3>; |
| }; |
| |
| cpu@2 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x200>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x4>; |
| }; |
| |
| cpu@3 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x300>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x5>; |
| }; |
| |
| cpu@100 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x10000>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x6>; |
| }; |
| |
| cpu@101 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x10100>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x7>; |
| }; |
| |
| cpu@102 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x10200>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x8>; |
| }; |
| |
| cpu@103 { |
| device_type = "cpu"; |
| compatible = "arm,armv8"; |
| reg = <0x0 0x10300>; |
| enable-method = "psci"; |
| cpu-idle-states = <0xa 0xb>; |
| next-level-cache = <0xc>; |
| phandle = <0x9>; |
| }; |
| |
| l2-cache0 { |
| compatible = "cache"; |
| phandle = <0xc>; |
| }; |
| }; |
| |
| memory@80000000 { |
| device_type = "memory"; |
| reg = <0x0 0x80000000 0x0 0x7f000000 0x8 0x80000000 0x0 0x80000000>; |
| }; |
| |
| interrupt-controller@2f000000 { |
| compatible = "arm,gic-v3"; |
| #interrupt-cells = <0x3>; |
| #address-cells = <0x2>; |
| #size-cells = <0x2>; |
| ranges; |
| interrupt-controller; |
| reg = <0x0 0x2f000000 0x0 0x10000 0x0 0x2f100000 0x0 0x200000 0x0 0x2c000000 0x0 0x2000 0x0 0x2c010000 0x0 0x2000 0x0 0x2c02f000 0x0 0x2000>; |
| interrupts = <0x1 0x9 0x4>; |
| phandle = <0x1>; |
| |
| its@2f020000 { |
| compatible = "arm,gic-v3-its"; |
| msi-controller; |
| reg = <0x0 0x2f020000 0x0 0x20000>; |
| }; |
| }; |
| |
| timer { |
| compatible = "arm,armv8-timer"; |
| interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; |
| clock-frequency = <0x5f5e100>; |
| }; |
| |
| timer@2a810000 { |
| compatible = "arm,armv7-timer-mem"; |
| reg = <0x0 0x2a810000 0x0 0x10000>; |
| clock-frequency = <0x5f5e100>; |
| #address-cells = <0x2>; |
| #size-cells = <0x2>; |
| ranges; |
| |
| frame@2a830000 { |
| frame-number = <0x1>; |
| interrupts = <0x0 0x1a 0x4>; |
| reg = <0x0 0x2a830000 0x0 0x10000>; |
| }; |
| }; |
| |
| pmu { |
| compatible = "arm,armv8-pmuv3"; |
| interrupts = <0x0 0x3c 0x4 0x0 0x3d 0x4 0x0 0x3e 0x4 0x0 0x3f 0x4>; |
| }; |
| |
| smb@0,0 { |
| compatible = "simple-bus"; |
| #address-cells = <0x2>; |
| #size-cells = <0x1>; |
| ranges = <0x0 0x0 0x0 0x8000000 0x4000000 0x1 0x0 0x0 0x14000000 0x4000000 0x2 0x0 0x0 0x18000000 0x4000000 0x3 0x0 0x0 0x1c000000 0x4000000 0x4 0x0 0x0 0xc000000 0x4000000 0x5 0x0 0x0 0x10000000 0x4000000>; |
| |
| motherboard { |
| arm,v2m-memory-map = "rs1"; |
| compatible = "arm,vexpress,v2m-p1", "simple-bus"; |
| #address-cells = <0x2>; |
| #size-cells = <0x1>; |
| ranges; |
| |
| flash@0,00000000 { |
| compatible = "arm,vexpress-flash", "cfi-flash"; |
| reg = <0x0 0x0 0x4000000 0x4 0x0 0x4000000>; |
| bank-width = <0x4>; |
| }; |
| |
| vram@2,00000000 { |
| compatible = "arm,vexpress-vram"; |
| reg = <0x2 0x0 0x800000>; |
| }; |
| |
| ethernet@2,02000000 { |
| compatible = "smsc,lan91c111"; |
| reg = <0x2 0x2000000 0x10000>; |
| interrupts = <0x0 0xf 0x4>; |
| }; |
| |
| clk24mhz { |
| compatible = "fixed-clock"; |
| #clock-cells = <0x0>; |
| clock-frequency = <0x16e3600>; |
| clock-output-names = "v2m:clk24mhz"; |
| phandle = <0xf>; |
| }; |
| |
| refclk1mhz { |
| compatible = "fixed-clock"; |
| #clock-cells = <0x0>; |
| clock-frequency = <0xf4240>; |
| clock-output-names = "v2m:refclk1mhz"; |
| phandle = <0xe>; |
| }; |
| |
| refclk32khz { |
| compatible = "fixed-clock"; |
| #clock-cells = <0x0>; |
| clock-frequency = <0x8000>; |
| clock-output-names = "v2m:refclk32khz"; |
| phandle = <0xd>; |
| }; |
| |
| iofpga@3,00000000 { |
| compatible = "arm,amba-bus", "simple-bus"; |
| #address-cells = <0x1>; |
| #size-cells = <0x1>; |
| ranges = <0x0 0x3 0x0 0x200000>; |
| |
| sysreg@10000 { |
| compatible = "arm,vexpress-sysreg"; |
| reg = <0x10000 0x1000>; |
| gpio-controller; |
| #gpio-cells = <0x2>; |
| phandle = <0x10>; |
| }; |
| |
| sysctl@20000 { |
| compatible = "arm,sp810", "arm,primecell"; |
| reg = <0x20000 0x1000>; |
| clocks = <0xd 0xe 0xf>; |
| clock-names = "refclk", "timclk", "apb_pclk"; |
| #clock-cells = <0x1>; |
| clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; |
| phandle = <0x12>; |
| }; |
| |
| aaci@40000 { |
| compatible = "arm,pl041", "arm,primecell"; |
| reg = <0x40000 0x1000>; |
| interrupts = <0x0 0xb 0x4>; |
| clocks = <0xf>; |
| clock-names = "apb_pclk"; |
| }; |
| |
| mmci@50000 { |
| compatible = "arm,pl180", "arm,primecell"; |
| reg = <0x50000 0x1000>; |
| interrupts = <0x0 0x9 0x4 0x0 0xa 0x4>; |
| cd-gpios = <0x10 0x0 0x0>; |
| wp-gpios = <0x10 0x1 0x0>; |
| max-frequency = <0xb71b00>; |
| vmmc-supply = <0x11>; |
| clocks = <0xf 0xf>; |
| clock-names = "mclk", "apb_pclk"; |
| }; |
| |
| kmi@60000 { |
| compatible = "arm,pl050", "arm,primecell"; |
| reg = <0x60000 0x1000>; |
| interrupts = <0x0 0xc 0x4>; |
| clocks = <0xf 0xf>; |
| clock-names = "KMIREFCLK", "apb_pclk"; |
| }; |
| |
| kmi@70000 { |
| compatible = "arm,pl050", "arm,primecell"; |
| reg = <0x70000 0x1000>; |
| interrupts = <0x0 0xd 0x4>; |
| clocks = <0xf 0xf>; |
| clock-names = "KMIREFCLK", "apb_pclk"; |
| }; |
| |
| uart@90000 { |
| compatible = "arm,pl011", "arm,primecell"; |
| reg = <0x90000 0x1000>; |
| interrupts = <0x0 0x5 0x4>; |
| clocks = <0xf 0xf>; |
| clock-names = "uartclk", "apb_pclk"; |
| }; |
| |
| uart@a0000 { |
| compatible = "arm,pl011", "arm,primecell"; |
| reg = <0xa0000 0x1000>; |
| interrupts = <0x0 0x6 0x4>; |
| clocks = <0xf 0xf>; |
| clock-names = "uartclk", "apb_pclk"; |
| }; |
| |
| uart@b0000 { |
| compatible = "arm,pl011", "arm,primecell"; |
| reg = <0xb0000 0x1000>; |
| interrupts = <0x0 0x7 0x4>; |
| clocks = <0xf 0xf>; |
| clock-names = "uartclk", "apb_pclk"; |
| }; |
| |
| uart@c0000 { |
| compatible = "arm,pl011", "arm,primecell"; |
| reg = <0xc0000 0x1000>; |
| interrupts = <0x0 0x8 0x4>; |
| clocks = <0xf 0xf>; |
| clock-names = "uartclk", "apb_pclk"; |
| }; |
| |
| wdt@f0000 { |
| compatible = "arm,sp805", "arm,primecell"; |
| reg = <0xf0000 0x1000>; |
| interrupts = <0x0 0x0 0x4>; |
| clocks = <0xd 0xf>; |
| clock-names = "wdogclk", "apb_pclk"; |
| }; |
| |
| timer@110000 { |
| compatible = "arm,sp804", "arm,primecell"; |
| reg = <0x110000 0x1000>; |
| interrupts = <0x0 0x2 0x4>; |
| clocks = <0x12 0x0 0x12 0x1 0xf>; |
| clock-names = "timclken1", "timclken2", "apb_pclk"; |
| }; |
| |
| timer@120000 { |
| compatible = "arm,sp804", "arm,primecell"; |
| reg = <0x120000 0x1000>; |
| interrupts = <0x0 0x3 0x4>; |
| clocks = <0x12 0x2 0x12 0x3 0xf>; |
| clock-names = "timclken1", "timclken2", "apb_pclk"; |
| }; |
| |
| rtc@170000 { |
| compatible = "arm,pl031", "arm,primecell"; |
| reg = <0x170000 0x1000>; |
| interrupts = <0x0 0x4 0x4>; |
| clocks = <0xf>; |
| clock-names = "apb_pclk"; |
| }; |
| |
| clcd@1f0000 { |
| compatible = "arm,pl111", "arm,primecell"; |
| reg = <0x1f0000 0x1000>; |
| interrupts = <0x0 0xe 0x4>; |
| clocks = <0x13 0xf>; |
| clock-names = "clcdclk", "apb_pclk"; |
| mode = "XVGA"; |
| use_dma = <0x0>; |
| framebuffer = <0x18000000 0x180000>; |
| }; |
| |
| virtio_block@130000 { |
| compatible = "virtio,mmio"; |
| reg = <0x130000 0x1000>; |
| interrupts = <0x0 0x2a 0x4>; |
| }; |
| }; |
| |
| fixedregulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "3V3"; |
| regulator-min-microvolt = <0x325aa0>; |
| regulator-max-microvolt = <0x325aa0>; |
| regulator-always-on; |
| phandle = <0x11>; |
| }; |
| |
| mcc { |
| compatible = "arm,vexpress,config-bus", "simple-bus"; |
| arm,vexpress,config-bridge = <0x10>; |
| |
| osc { |
| compatible = "arm,vexpress-osc"; |
| arm,vexpress-sysreg,func = <0x1 0x1>; |
| freq-range = <0x16a6570 0x3c8eee0>; |
| #clock-cells = <0x0>; |
| clock-output-names = "v2m:oscclk1"; |
| phandle = <0x13>; |
| }; |
| |
| muxfpga { |
| compatible = "arm,vexpress-muxfpga"; |
| arm,vexpress-sysreg,func = <0x7 0x0>; |
| }; |
| |
| dvimode { |
| compatible = "arm,vexpress-dvimode"; |
| arm,vexpress-sysreg,func = <0xb 0x0>; |
| }; |
| }; |
| }; |
| }; |
| |
| panels { |
| |
| panel { |
| compatible = "panel"; |
| mode = "XVGA"; |
| refresh = <0x3c>; |
| xres = <0x400>; |
| yres = <0x300>; |
| pixclock = <0x3d84>; |
| left_margin = <0x98>; |
| right_margin = <0x30>; |
| upper_margin = <0x17>; |
| lower_margin = <0x3>; |
| hsync_len = <0x68>; |
| vsync_len = <0x4>; |
| sync = <0x0>; |
| vmode = "FB_VMODE_NONINTERLACED"; |
| tim2 = "TIM2_BCD", "TIM2_IPC"; |
| cntl = "CNTL_LCDTFT", "CNTL_BGR", "CNTL_LCDVCOMP(1)"; |
| caps = "CLCD_CAP_5551", "CLCD_CAP_565", "CLCD_CAP_888"; |
| bpp = <0x10>; |
| }; |
| }; |
| }; |