aboutsummaryrefslogtreecommitdiffstats
path: root/conf/machine/boards/zc702/zynq-zc702-base-trd.dts
diff options
context:
space:
mode:
Diffstat (limited to 'conf/machine/boards/zc702/zynq-zc702-base-trd.dts')
-rw-r--r--conf/machine/boards/zc702/zynq-zc702-base-trd.dts652
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>;
+ };
+ };
+ };
+};