diff options
Diffstat (limited to 'conf/machine/boards/zc702/zynq-zc702-base-trd.dts')
-rw-r--r-- | conf/machine/boards/zc702/zynq-zc702-base-trd.dts | 652 |
1 files changed, 652 insertions, 0 deletions
diff --git a/conf/machine/boards/zc702/zynq-zc702-base-trd.dts b/conf/machine/boards/zc702/zynq-zc702-base-trd.dts new file mode 100644 index 0000000..2b5e406 --- /dev/null +++ b/conf/machine/boards/zc702/zynq-zc702-base-trd.dts @@ -0,0 +1,652 @@ +/dts-v1/; + +/ { + model = "Xilinx Zynq ZC702"; + compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; + #address-cells = <0x1>; + #size-cells = <0x1>; + interrupt-parent = <0x1>; + aliases { + spi1 = &qspi0; + }; + memory { + device_type = "memory"; + reg = <0x00000000 0x40000000>; + }; + chosen { + bootargs = "console=tty0 console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10:::255.255.255.0:ZC702:eth0 earlyprintk mem=768M"; + linux,stdout-path = "/amba@0/uart@E0001000"; + }; + + pmu { + compatible = "arm,cortex-a9-pmu"; + interrupts = <0 5 4>, <0 6 4>; + interrupt-parent = <&gic>; + }; + + amba@0 { + compatible = "simple-bus"; + #address-cells = <0x1>; + #size-cells = <0x1>; + ranges; + + gic: intc@f8f01000 { + interrupt-controller; + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + reg = <0xf8f01000 0x1000>, + <0xf8f00100 0x0100>; + }; + + pl310@f8f02000 { + compatible = "arm,pl310-cache"; + cache-unified; + cache-level = <2>; + reg = <0xf8f02000 0x1000>; + interrupts = <0 2 4>; + arm,data-latency = <3 2 2>; + arm,tag-latency = <2 2 2>; + }; + + ps7_ddrc_0: ps7-ddrc@f8006000 { + compatible = "xlnx,ps7-ddrc-1.00.a", "xlnx,ps7-ddrc"; + reg = <0xf8006000 0x1000>; + xlnx,has-ecc = <0x0>; + } ; + + ps7_ocm_0: ps7-ocm@0xfffc0000 { + compatible = "xlnx,ps7-ocm"; + reg = <0xfffc0000 0x40000>; /* 256k */ + }; + + uart@e0001000 { + compatible = "xlnx,ps7-uart-1.00.a", "xlnx,xuartps"; + clocks = <&clkc 24>, <&clkc 41>; + clock-names = "ref_clk", "aper_clk"; + reg = <0xe0001000 0x1000>; + interrupts = <0 50 4>; + interrupt-parent = <&gic>; + }; + + slcr: slcr@f8000000 { + compatible = "xlnx,zynq-slcr"; + reg = <0xF8000000 0x1000>; + clocks { + #address-cells = <1>; + #size-cells = <0>; + + clkc: clkc { + #clock-cells = <1>; + compatible = "xlnx,ps7-clkc"; + ps-clk-frequency = <33333333>; + clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", + "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", + "dci", "lqspi", "smc", "pcap", "gem0", "gem1", + "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1", + "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1", + "dma", "usb0_aper", "usb1_aper", "gem0_aper", + "gem1_aper", "sdio0_aper", "sdio1_aper", + "spi0_aper", "spi1_aper", "can0_aper", "can1_aper", + "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper", + "gpio_aper", "lqspi_aper", "smc_aper", "swdt", + "dbg_trc", "dbg_apb"; + }; + } ; + }; + + timer@0xf8001000 { + compatible = "xlnx,ps7-ttc-1.00.a", "cdns,ttc"; + clocks = <&clkc 6>; + reg = <0xf8001000 0x1000>; + interrupts = <0 10 4>,<0 11 4>,<0 12 4>; + interrupt-parent = <&gic>; + }; + + timer@f8f00600 { + compatible = "arm,cortex-a9-twd-timer"; + clocks = <&clkc 4>; + reg = <0xf8f00600 0x20>; + interrupts = <1 13 0x301>; + interrupt-parent = <&gic>; + }; + + swdt@f8005000 { + device_type = "watchdog"; + compatible = "xlnx,ps7-wdt-1.00.a"; + clocks = <&clkc 45>; + reg = <0xf8005000 0x100>; + interrupts = <0 9 4>; + interrupt-parent = <&gic>; + reset = <0>; + timeout = <10>; + }; + + scuwdt@f8f00620 { + device_type = "watchdog"; + compatible = "arm,mpcore_wdt"; + clocks = <&clkc 4>; + reg = <0xf8f00620 0x20>; + clock-frequency = <333333333>; + reset = <1>; + }; + + eth@e000b000 { + compatible = "xlnx,ps7-ethernet-1.00.a"; + clocks = <&clkc 13>, <&clkc 30>; + clock-names = "ref_clk", "aper_clk"; + reg = <0xe000b000 0x1000>; + interrupts = <0 22 4>; + interrupt-parent = <&gic>; + phy-handle = <&phy0>; + phy-mode = "rgmii-id"; + xlnx,ptp-enet-clock = <111111111>; + xlnx,slcr-div0-1000Mbps = <8>; + xlnx,slcr-div0-100Mbps = <8>; + xlnx,slcr-div0-10Mbps = <8>; + xlnx,slcr-div1-1000Mbps = <1>; + xlnx,slcr-div1-100Mbps = <5>; + xlnx,slcr-div1-10Mbps = <50>; + #address-cells = <0x1>; + #size-cells = <0x0>; + mdio { + #address-cells = <1>; + #size-cells = <0>; + phy0: phy@7 { + compatible = "marvell,88e1116r"; + device_type = "ethernet-phy"; + reg = <7>; + }; + }; + }; + + i2c0: i2c@e0004000 { + compatible = "xlnx,ps7-i2c-1.00.a"; + clocks = <&clkc 38>; + reg = <0xE0004000 0x1000>; + interrupts = <0 25 4>; + interrupt-parent = <&gic>; + bus-id = <0>; + input-clk = <111111111>; + i2c-clk = <100000>; + + #address-cells = <1>; + #size-cells = <0>; + i2cswitch@74 { + compatible = "nxp,pca9548"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x74>; + + i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + osc@5d { + compatible = "si570"; + reg = <0x5d>; + factory-fout = <156250000>; + initial-fout = <148500000>; + }; + }; + + i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + hdmio@39 { + compatible = "adv7511"; + reg = <0x39>; + interrupts = <0 54 4>; + interrupt-parent = <&gic>; + dma-request = <&logicvc0>; + edid-addr = <0x50>; + video-input { + input-id = <1>; + input-style = <3>; + input-color-depth = <8>; + bit-justification = <1>; + hsync-polarity = <0>; + vsync-polarity = <0>; + clock-delay = <3>; + }; + video-output { + hdmi-mode = <0>; + output-format = <0>; + output-color-space = <0>; + up-conversion = <0>; + csc-enable = <1>; + csc-scaling-factor = <2>; + csc-coefficients { + a1 = <0x0B37>; + a2 = <0x0800>; + a3 = <0x0000>; + a4 = <0x1A86>; + b1 = <0x1A49>; + b2 = <0x0800>; + b3 = <0x1D3F>; + b4 = <0x0422>; + c1 = <0x0000>; + c2 = <0x0800>; + c3 = <0x0E2D>; + c4 = <0x1914>; + }; + }; + }; + }; + + i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + eeprom@54 { + compatible = "at,24c08"; + reg = <0x54>; + }; + }; + + i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + gpio@21 { + compatible = "ti,tca6416"; + reg = <0x21>; + gpio-controller; + #gpio-cells = <2>; + }; + }; + + i2c@4 { + #address-cells = <1>; + #size-cells = <0>; + reg = <4>; + rtc@54 { + compatible = "nxp,pcf8563"; + reg = <0x51>; + }; + }; + + i2c@5{ + #address-cells = <1>; + #size-cells = <0>; + reg = <5>; + eeprom@50 { + compatible = "at,24c02"; + reg = <0x50>; + }; + }; + + i2c@6{ + #address-cells = <1>; + #size-cells = <0>; + reg = <6>; + eeprom@50 { + compatible = "at,24c02"; + reg = <0x50>; + }; + }; + + i2c@7 { + #address-cells = <1>; + #size-cells = <0>; + reg = <7>; + hwmon@52 { + compatible = "pmbus,ucd9248"; + reg = <52>; + }; + hwmon@53 { + compatible = "pmbus,ucd9248"; + reg = <53>; + }; + hwmon@54 { + compatible = "pmbus,ucd9248"; + reg = <54>; + }; + }; + }; + }; + + i2c1: i2c@e0005000 { + compatible = "xlnx,ps7-i2c-1.00.a"; + clocks = <&clkc 39>; + reg = <0xE0005000 0x1000>; + interrupts = <0 48 4>; + interrupt-parent = <&gic>; + bus-id = <1>; + input-clk = <111111111>; + i2c-clk = <100000>; + + #address-cells = <1>; + #size-cells = <0>; + i2cswitch@70 { + compatible = "nxp,pca9546"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x70>; + + i2c_adv7611: i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + }; + + i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + ioexp: gpio@20 { + compatible = "nxp,pca9534"; + reg = <0x20>; + gpio-controller; + #gpio-cells = <2>; + }; + }; + }; + }; + + sdhci@e0100000 { + compatible = "xlnx,ps7-sdhci-1.00.a"; + clocks = <&clkc 21>, <&clkc 32>; + clock-names = "ref_clk", "aper_clk"; + reg = <0xe0100000 0x1000>; + xlnx,has-cd = <0x1>; + interrupts = <0 24 4>; + interrupt-parent = <&gic>; + clock-frequency = <33333000>; + }; + + usb@e0002000 { + compatible = "xlnx,ps7-usb-1.00.a"; + clocks = <&clkc 28>; + reg = <0xe0002000 0x1000>; + interrupts = <0 21 4>; + interrupt-parent = <&gic>; + dr_mode = "host"; + phy_type = "ulpi"; + }; + + gpio@e000a000 { + compatible = "xlnx,ps7-gpio-1.00.a"; + clocks = <&clkc 42>; + reg = <0xe000a000 0x1000>; + interrupts = <0 20 4>; + interrupt-parent = <&gic>; + }; + + qspi0: spi@e000d000 { + compatible = "xlnx,ps7-qspi-1.00.a"; + clocks = <&clkc 10>, <&clkc 43>; + clock-names = "ref_clk", "aper_clk"; + reg = <0xE000D000 0x1000>; + interrupts = <0 19 4>; + interrupt-parent = <&gic>; + speed-hz = <200000000>; + num-chip-select = <1>; + #address-cells = <1>; + #size-cells = <0>; + is-dual = <0>; + flash@0 { + compatible = "n25q128"; + reg = <0x0>; + spi-max-frequency = <50000000>; + #address-cells = <1>; + #size-cells = <1>; + partition@qspi-fsbl-uboot { + label = "qspi-fsbl-uboot"; + reg = <0x0 0x100000>; + }; + partition@qspi-linux { + label = "qspi-linux"; + reg = <0x100000 0x500000>; + }; + partition@qspi-device-tree { + label = "qspi-device-tree"; + reg = <0x600000 0x20000>; + }; + partition@qspi-rootfs { + label = "qspi-rootfs"; + reg = <0x620000 0x5E0000>; + }; + partition@qspi-bitstream { + label = "qspi-bitstream"; + reg = <0xC00000 0x400000>; + }; + }; + }; + + devcfg@f8007000 { + compatible = "xlnx,ps7-dev-cfg-1.00.a"; + clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>; + clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3"; + reg = <0xf8007000 0x100>; + interrupts = <0 8 4>; + interrupt-parent = <&gic>; + }; + + xadc@f8007100 { + compatible = "xlnx,ps7-xadc-1.00.a"; + clocks = <&clkc 12>; + reg = <0xf8007100 0x20>; + interrupts = <0 7 4>; + interrupt-parent = <&gic>; + }; + + ps7_dma_s: ps7-dma@f8003000 { + #dma-cells = <1>; + #dma-channels = <8>; + #dma-requests = <4>; + arm,primecell-periphid = <0x41330>; + compatible = "xlnx,ps7-dma-1.00.a", "arm,primecell", "arm,pl330"; + clocks = <&clkc 27>; + interrupt-parent = <&gic>; + interrupts = <0 13 4 0 14 4 0 15 4 0 16 4 0 17 4 0 40 4 0 41 4 0 42 4 0 43 4>; + reg = <0xf8003000 0x1000>; + }; + + axi_sobel_0: axi-sobel@0x400D0000 { + compatible = "generic-uio"; + reg = <0x400D0000 0x10000>; + interrupts = <0 55 4>; + interrupt-parent = <&gic>; + }; + + yuv2rgb_0: v-ycrcb2rgb@0x40050000 { + compatible = "generic-uio"; + reg = <0x40050000 0x10000>; + }; + + tpg_0: v-tpg@40080000 { + compatible = "generic-uio"; + reg = <0x40080000 0x10000>; + }; + + cresample_0: v-cresample@40040000 { + compatible = "generic-uio"; + reg = <0x40040000 0x10000>; + }; + + vtc_0: v-tc@40070000 { + compatible = "generic-uio"; + reg = <0x40070000 0x10000>; + }; + + perf_mon_hp0_hp2: axi-perf-mon@400f0000 { + compatible = "generic-uio"; + reg = <0x400f0000 0x10000>; + }; + + axi_vdma_0: axivdma@0x40090000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "xlnx,axi-vdma"; + ranges = <0x40090000 0x40090000 0x10000>; + reg = <0x40090000 0x10000>; + xlnx,flush-fsync = <0x1>; + xlnx,include-sg = <0x0>; + xlnx,num-fstores = <0x3>; + xlnx,family = "zynq-770"; + dma-channel@0x40090000 { + compatible = "xlnx,axi-vdma-s2mm-channel"; + interrupt-parent = <&gic>; + interrupts = <0 58 4>; + xlnx,datawidth = <0x08>; + xlnx,genlock-mode = <0x1>; + xlnx,include-dre = <0x1>; + xlnx,device-id = <0x0>; + }; + }; + + axi_vdma_1: axivdma@0x400B0000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "xlnx,axi-vdma"; + ranges = <0x400B0000 0x400B0000 0x10000>; + reg = <0x400B0000 0x10000>; + xlnx,flush-fsync = <0x1>; + xlnx,include-sg = <0x0>; + xlnx,num-fstores = <0x3>; + xlnx,family = "zynq-770"; + dma-s2mmchannel@0x400B0000 { + compatible = "xlnx,axi-vdma-s2mm-channel"; + interrupt-parent = <&gic>; + interrupts = <0 57 4>; + xlnx,datawidth = <0x08>; + xlnx,genlock-mode = <0x1>; + xlnx,include-dre = <0x1>; + xlnx,device-id = <0x1>; + }; + dma-mm2schannel@0x400B0000 { + compatible = "xlnx,axi-vdma-mm2s-channel"; + interrupt-parent = <&gic>; + interrupts = <0 56 4>; + xlnx,datawidth = <0x08>; + xlnx,genlock-mode = <0x1>; + xlnx,include-dre = <0x1>; + xlnx,device-id = <0x1>; + }; + }; + + logicvc0: logicvc@40030000 { + compatible = "xylon,logicvc-3.00.a"; + reg = <0x40030000 0x6000>; + interrupt-parent = <&gic>; + interrupts = <0 59 4>; + + xlnx,display-interface = <0>; + xlnx,display-color-space = <1>; + xlnx,ip-license-type = <0>; + xlnx,ip-major-revision = <3>; + xlnx,ip-minor-revision = <0>; + xlnx,ip-patch-level = <0>; + xlnx,num-of-layers = <3>; + xlnx,layer-0-type = <0>; + xlnx,layer-0-alpha-mode = <0>; + xlnx,layer-0-data-width = <16>; + xlnx,layer-0-offset = <0>; + xlnx,layer-1-type = <0>; + xlnx,layer-1-alpha-mode = <0>; + xlnx,layer-1-data-width = <24>; + xlnx,layer-1-offset = <1620>; + xlnx,layer-2-type = <0>; + xlnx,layer-2-alpha-mode = <0>; + xlnx,layer-2-data-width = <24>; + xlnx,layer-2-offset = <6480>; + xlnx,layer-3-type = <0>; + xlnx,layer-3-alpha-mode = <0>; + xlnx,layer-3-data-width = <24>; + xlnx,layer-3-offset = <9720>; + xlnx,layer-4-type = <0>; + xlnx,layer-4-alpha-mode = <0>; + xlnx,layer-4-data-width = <24>; + xlnx,layer-4-offset = <12960>; + xlnx,buffer-0-offset = <1080>; + xlnx,buffer-1-offset = <1080>; + xlnx,buffer-2-offset = <1080>; + xlnx,buffer-3-offset = <1080>; + xlnx,buffer-4-offset = <1080>; + xlnx,little-endian = <1>; + xlnx,readable-regs = <1>; + xlnx,row-stride = <2048>; + xlnx,use-background = <1>; + xlnx,use-size-position = <1>; + xlnx,vmem-baseaddr = <0x30000000>; + xlnx,vmem-highaddr = <0x3FFFFFFF>; + + //0-EXT; 1-ZynqPS; 2-logiCLK; 3-SI570 + pixel-clock-source = <3>; + pixel-data-invert = <0>; + pixel-clock-active-high = <1>; + pixel-component-format = "ARGB"; + pixel-component-layer = <0>,<1>,<2>; + active-layer = <0>; + videomode = "1920x1080"; + edid { + preffered-videomode = <1>; + display-data = <0>; + }; + }; + + xylon-video-params { + 800x480_TM050RBH01 { + name = "800x480_TM050RBH01"; + refresh = <60>; + xres = <800>; + yres = <480>; + pixclock-khz = <30000>; + left-margin = <40>; + right-margin = <40>; + upper-margin = <29>; + lower-margin = <13>; + hsync-len = <48>; + vsync-len = <3>; + sync = <0>; + vmode = <0>; + }; + 1280x720 { + name = "1280x720"; + refresh = <60>; + xres = <1280>; + yres = <720>; + pixclock-khz = <74250>; + left-margin = <220>; + right-margin = <110>; + upper-margin = <20>; + lower-margin = <5>; + hsync-len = <40>; + vsync-len = <5>; + sync = <0>; + vmode = <0>; + }; + 1680x1050 { + name = "1680x1050"; + refresh = <60>; + xres = <1680>; + yres = <1050>; + pixclock-khz = <119000>; + left-margin = <80>; + right-margin = <48>; + upper-margin = <21>; + lower-margin = <3>; + hsync-len = <32>; + vsync-len = <6>; + sync = <0>; + vmode = <0>; + }; + 1920x1080 { + name = "1920x1080"; + refresh = <60>; + xres = <1920>; + yres = <1080>; + pixclock-khz = <148500>; + left-margin = <148>; + right-margin = <88>; + upper-margin = <36>; + lower-margin = <4>; + hsync-len = <44>; + vsync-len = <5>; + sync = <0>; + vmode = <0>; + }; + }; + }; +}; |