Created
January 19, 2017 23:37
-
-
Save aimeemikaelac/2eaeee6f118901520bc5c21ff7707332 to your computer and use it in GitHub Desktop.
basic zedboard device tree with UIO
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/dts-v1/; | |
/ { | |
compatible = "xlnx,zynq-7000"; | |
#address-cells = <0x1>; | |
#size-cells = <0x1>; | |
interrupt-parent = <0x1>; | |
model = "Xilinx Zynq ZED"; | |
aliases { | |
ethernet0 = "/amba@0/eth@e000b000"; | |
serial0 = "/amba@0/uart@e0001000"; | |
}; | |
cpus { | |
#address-cells = <0x1>; | |
#size-cells = <0x0>; | |
cpu@0 { | |
bus-handle = <0x2>; | |
clock-latency = <0x3e8>; | |
clocks = <0x3 0x3>; | |
compatible = "arm,cortex-a9"; | |
device_type = "cpu"; | |
interrupt-handle = <0x1>; | |
operating-points = <0xa2c2b 0xf4240 0x51616 0xf4240 0x3640f 0xf4240>; | |
reg = <0x0>; | |
}; | |
cpu@1 { | |
bus-handle = <0x2>; | |
clocks = <0x3 0x3>; | |
compatible = "arm,cortex-a9"; | |
device_type = "cpu"; | |
interrupt-handle = <0x1>; | |
reg = <0x1>; | |
}; | |
}; | |
pmu { | |
compatible = "arm,cortex-a9-pmu"; | |
interrupts = <0x0 0x5 0x4 0x0 0x6 0x4>; | |
interrupt-parent = <0x1>; | |
reg = <0xf8891000 0x1000 0xf8893000 0x1000>; | |
reg-names = "cpu0", "cpu1"; | |
}; | |
amba@0 { | |
compatible = "simple-bus"; | |
#address-cells = <0x1>; | |
#size-cells = <0x1>; | |
ranges; | |
linux,phandle = <0x2>; | |
phandle = <0x2>; | |
intc@f8f01000 { | |
interrupt-controller; | |
compatible = "arm,cortex-a9-gic"; | |
#interrupt-cells = <0x3>; | |
reg = <0xf8f01000 0x1000 0xf8f00100 0x100>; | |
linux,phandle = <0x1>; | |
phandle = <0x1>; | |
}; | |
pl310@f8f02000 { | |
compatible = "arm,pl310-cache"; | |
cache-unified; | |
cache-level = <0x2>; | |
reg = <0xf8f02000 0x1000>; | |
arm,data-latency = <0x3 0x2 0x2>; | |
arm,tag-latency = <0x2 0x2 0x2>; | |
}; | |
uart@e0000000 { | |
compatible = "xlnx,xuartps"; | |
status = "disabled"; | |
reg = <0xe0000000 0x1000>; | |
interrupts = <0x0 0x1b 0x4>; | |
interrupt-parent = <0x1>; | |
clock-names = "ref_clk", "aper_clk"; | |
clocks = <0x3 0x17 0x3 0x28>; | |
port-number = <0x0>; | |
current-speed = <0x1c200>; | |
device_type = "serial"; | |
}; | |
uart@e0001000 { | |
compatible = "xlnx,xuartps"; | |
reg = <0xe0001000 0x1000>; | |
interrupts = <0x0 0x32 0x4>; | |
interrupt-parent = <0x1>; | |
clock-names = "ref_clk", "aper_clk"; | |
clocks = <0x3 0x18 0x3 0x29>; | |
port-number = <0x0>; | |
current-speed = <0x1c200>; | |
device_type = "serial"; | |
}; | |
ps7-dma@f8003000 { | |
#dma-cells = <0x1>; | |
#dma-channels = <0x8>; | |
#dma-requests = <0x4>; | |
compatible = "arm,primecell", "arm,pl330"; | |
interrupt-parent = <0x1>; | |
interrupts = <0x0 0xd 0x4 0x0 0xe 0x4 0x0 0xf 0x4 0x0 0x10 0x4 0x0 0x11 0x4 0x0 0x28 0x4 0x0 0x29 0x4 0x0 0x2a 0x4 0x0 0x2b 0x4>; | |
reg = <0xf8003000 0x1000>; | |
clocks = <0x3 0x1b>; | |
clock-names = "apb_pclk"; | |
linux,phandle = <0x9>; | |
phandle = <0x9>; | |
}; | |
slcr@f8000000 { | |
#address-cells = <0x1>; | |
#size-cells = <0x1>; | |
compatible = "xlnx,zynq-slcr", "syscon"; | |
reg = <0xf8000000 0x1000>; | |
ranges; | |
clkc { | |
#clock-cells = <0x1>; | |
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"; | |
compatible = "xlnx,ps7-clkc"; | |
ps-clk-frequency = <0x1fca055>; | |
fclk-enable = <0xf>; | |
reg = <0x100 0x100>; | |
linux,phandle = <0x3>; | |
phandle = <0x3>; | |
}; | |
}; | |
timer@0xf8001000 { | |
compatible = "cdns,ttc"; | |
reg = <0xf8001000 0x1000>; | |
interrupts = <0x0 0xa 0x4 0x0 0xb 0x4 0x0 0xc 0x4>; | |
interrupt-parent = <0x1>; | |
clocks = <0x3 0x6>; | |
}; | |
timer@f8f00600 { | |
compatible = "arm,cortex-a9-twd-timer"; | |
reg = <0xf8f00600 0x20>; | |
interrupts = <0x1 0xd 0x301>; | |
clocks = <0x3 0x4>; | |
interrupt-parent = <0x1>; | |
}; | |
swdt@f8005000 { | |
device_type = "watchdog"; | |
compatible = "xlnx,ps7-wdt-1.00.a", "xlnx,zynq-wdt-1.00.a"; | |
reg = <0xf8005000 0x100>; | |
interrupts = <0x0 0x9 0x4>; | |
interrupt-parent = <0x1>; | |
clocks = <0x3 0x2d>; | |
reset = <0x0>; | |
timeout = <0xa>; | |
}; | |
scuwdt@f8f00620 { | |
device_type = "watchdog"; | |
compatible = "arm,mpcore_wdt"; | |
reg = <0xf8f00620 0x20>; | |
clocks = <0x3 0x4>; | |
reset = <0x1>; | |
}; | |
eth@e000b000 { | |
compatible = "xlnx,ps7-ethernet-1.00.a"; | |
reg = <0xe000b000 0x1000>; | |
interrupts = <0x0 0x16 0x4>; | |
interrupt-parent = <0x1>; | |
#address-cells = <0x1>; | |
#size-cells = <0x0>; | |
clock-names = "ref_clk", "aper_clk"; | |
clocks = <0x3 0xd 0x3 0x1e>; | |
xlnx,enet-clk-freq-hz = <0x17d7840>; | |
xlnx,enet-reset = "MIO 11"; | |
xlnx,enet-slcr-1000mbps-div0 = <0x8>; | |
xlnx,enet-slcr-1000mbps-div1 = <0x1>; | |
xlnx,enet-slcr-100mbps-div0 = <0x8>; | |
xlnx,enet-slcr-100mbps-div1 = <0x5>; | |
xlnx,enet-slcr-10mbps-div0 = <0x8>; | |
xlnx,enet-slcr-10mbps-div1 = <0x32>; | |
xlnx,eth-mode = <0x1>; | |
xlnx,has-mdio = <0x1>; | |
xlnx,ptp-enet-clock = <0x69f6bcb>; | |
phy-handle = <0x4>; | |
phy-mode = "rgmii-id"; | |
phy@0 { | |
compatible = "marvell,88e1510"; | |
device_type = "ethernet-phy"; | |
reg = <0x0>; | |
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>; | |
linux,phandle = <0x4>; | |
phandle = <0x4>; | |
}; | |
}; | |
gpio@e000a000 { | |
compatible = "xlnx,ps7-gpio-1.00.a", "xlnx,zynq-gpio-1.00.a", "xlnx,zynq-gpio-1.0"; | |
reg = <0xe000a000 0x1000>; | |
interrupts = <0x0 0x14 0x4>; | |
interrupt-parent = <0x1>; | |
clocks = <0x3 0x2a>; | |
gpio-controller; | |
#gpio-cells = <0x2>; | |
interrupt-controller; | |
#interrupt-cells = <0x2>; | |
linux,phandle = <0x5>; | |
phandle = <0x5>; | |
}; | |
sdhci@e0100000 { | |
compatible = "xlnx,ps7-sdio-1.00.a", "arasan,sdhci-8.9a"; | |
reg = <0xe0100000 0x1000>; | |
interrupts = <0x0 0x18 0x4>; | |
interrupt-parent = <0x1>; | |
clock-names = "clk_xin", "clk_ahb"; | |
clocks = <0x3 0x15 0x3 0x20>; | |
xlnx,has-cd = <0x1>; | |
clock-frequency = <0x2faf080>; | |
}; | |
usb@e0002000 { | |
compatible = "xlnx,ps7-usb-1.00.a", "xlnx,zynq-usb-1.00.a"; | |
reg = <0xe0002000 0x1000>; | |
interrupts = <0x0 0x15 0x4>; | |
interrupt-parent = <0x1>; | |
clocks = <0x3 0x1c>; | |
dr_mode = "host"; | |
phy_type = "ulpi"; | |
xlnx,phy-reset-gpio = <0x5 0x55 0x0>; | |
}; | |
spi@e0006000 { | |
compatible = "cdns,spi-r1p6", "xlnx,zynq-spi-1.00.a", "xlnx,ps7-spi-1.00.a"; | |
interrupt-parent = <0x1>; | |
interrupts = <0x0 0x1a 0x4>; | |
clock-names = "ref_clk", "aper_clk", "pclk"; | |
clocks = <0x3 0x19 0x3 0x22 0x3 0x22>; | |
num-chip-select = <0x4>; | |
reg = <0xe0006000 0x1000>; | |
speed-hz = <0x5f5e100>; | |
#address-cells = <0x1>; | |
#size-cells = <0x0>; | |
status = "disabled"; | |
}; | |
spi@e0007000 { | |
compatible = "cdns,spi-r1p6", "xlnx,zynq-spi-1.00.a", "xlnx,ps7-spi-1.00.a"; | |
interrupt-parent = <0x1>; | |
interrupts = <0x0 0x31 0x4>; | |
clock-names = "ref_clk", "aper_clk", "pclk"; | |
clocks = <0x3 0x1a 0x3 0x23 0x3 0x23>; | |
num-chip-select = <0x4>; | |
reg = <0xe0007000 0x1000>; | |
speed-hz = <0x5f5e100>; | |
#address-cells = <0x1>; | |
#size-cells = <0x0>; | |
status = "disabled"; | |
}; | |
qspi@e000d000 { | |
#address-cells = <0x1>; | |
#size-cells = <0x0>; | |
bus-num = <0x0>; | |
compatible = "xlnx,zynq-qspi-1.00.a", "xlnx,ps7-qspi-1.00.a"; | |
interrupt-parent = <0x1>; | |
interrupts = <0x0 0x13 0x4>; | |
clock-names = "ref_clk", "aper_clk"; | |
clocks = <0x3 0xa 0x3 0x2b>; | |
is-dual = <0x0>; | |
num-chip-select = <0x1>; | |
reg = <0xe000d000 0x1000>; | |
xlnx,fb-clk = <0x1>; | |
xlnx,qspi-clk-freq-hz = <0xbebc200>; | |
xlnx,qspi-mode = <0x0>; | |
ps7-qspi@0 { | |
#address-cells = <0x1>; | |
#size-cells = <0x1>; | |
compatible = "st,m25p80"; | |
reg = <0x0>; | |
spi-max-frequency = <0x2faf080>; | |
partition@0x00000000 { | |
label = "boot"; | |
reg = <0x0 0x500000>; | |
}; | |
partition@0x00500000 { | |
label = "bootenv"; | |
reg = <0x500000 0x20000>; | |
}; | |
partition@0x00520000 { | |
label = "config"; | |
reg = <0x520000 0x20000>; | |
}; | |
partition@0x00540000 { | |
label = "image"; | |
reg = <0x540000 0xa80000>; | |
}; | |
partition@0x00fc0000 { | |
label = "spare"; | |
reg = <0xfc0000 0x0>; | |
}; | |
}; | |
}; | |
devcfg@f8007000 { | |
compatible = "xlnx,zynq-devcfg-1.0"; | |
reg = <0xf8007000 0x100>; | |
interrupts = <0x0 0x8 0x4>; | |
interrupt-parent = <0x1>; | |
clocks = <0x3 0xc 0x3 0xf 0x3 0x10 0x3 0x11 0x3 0x12>; | |
clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3"; | |
}; | |
xadc@f8007100 { | |
compatible = "xlnx,zynq-xadc-1.00.a", "xlnx,ps7-xadc-1.00.a"; | |
reg = <0xf8007100 0x20>; | |
interrupts = <0x0 0x7 0x4>; | |
interrupt-parent = <0x1>; | |
clocks = <0x3 0xc>; | |
}; | |
ps7-ddrc@f8006000 { | |
compatible = "xlnx,zynq-ddrc-a05", "xlnx,ps7-ddrc-1.00.a", "xlnx,ps7-ddrc", "xlnx,zynq-ddrc-1.0"; | |
reg = <0xf8006000 0x1000>; | |
xlnx,has-ecc = <0x0>; | |
}; | |
ps7-ocm@f800c000 { | |
compatible = "xlnx,ps7-ocmc-1.00.a", "xlnx,zynq-ocmc-1.0"; | |
interrupt-parent = <0x1>; | |
interrupts = <0x0 0x3 0x4>; | |
reg = <0xf800c000 0x1000>; | |
}; | |
}; | |
memory { | |
device_type = "memory"; | |
reg = <0x0 0x20000000>; | |
}; | |
chosen { | |
bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait mem=500M memmap=8M$500M uio_pdrv_genirq.of_id=\"generic-uio\""; | |
linux,stdout-path = "/amba@0/uart@E0001000"; | |
}; | |
aes-qam@43c00000 { | |
compatible = "generic-uio"; | |
reg = <0x43c00000 0x10000>; | |
}; | |
axi-reset@43c10000 { | |
compatible = "generic-uio"; | |
reg = <0x43c10000 0x10000>; | |
}; | |
memory-scanner@43c20000 { | |
compatible = "generic-uio"; | |
reg = <0x43c20000 0x10000>; | |
}; | |
triple-aes@43c30000 { | |
compatible = "generic-uio"; | |
reg = <0x43c30000 0x10000>; | |
}; | |
fpga-axi@0 { | |
compatible = "simple-bus"; | |
#address-cells = <0x1>; | |
#size-cells = <0x1>; | |
ranges; | |
i2c@41600000 { | |
compatible = "xlnx,axi-iic-1.01.b", "xlnx,xps-iic-2.00.a"; | |
interrupt-parent = <0x1>; | |
interrupts = <0x0 0x3a 0x4>; | |
reg = <0x41600000 0x10000>; | |
#size-cells = <0x0>; | |
#address-cells = <0x1>; | |
adv7511@39 { | |
compatible = "adi,adv7511"; | |
reg = <0x39>; | |
adi,input-style = <0x2>; | |
adi,input-id = <0x1>; | |
adi,input-color-depth = <0x3>; | |
adi,sync-pulse = <0x3>; | |
adi,bit-justification = <0x1>; | |
adi,up-conversion = <0x0>; | |
adi,timing-generation-sequence = <0x0>; | |
adi,vsync-polarity = <0x2>; | |
adi,hsync-polarity = <0x2>; | |
adi,tdms-clock-inversion; | |
adi,clock-delay = <0x3>; | |
linux,phandle = <0x6>; | |
phandle = <0x6>; | |
}; | |
adau1761@3b { | |
compatible = "adi,adau1761"; | |
reg = <0x3b>; | |
linux,phandle = <0xc>; | |
phandle = <0xc>; | |
}; | |
}; | |
axivdma@43000000 { | |
compatible = "xlnx,axi-vdma"; | |
#address-cells = <0x1>; | |
#size-cells = <0x1>; | |
#dma-cells = <0x1>; | |
#dma-channels = <0x1>; | |
reg = <0x43000000 0x1000>; | |
xlnx,include-sg = <0x0>; | |
xlnx,num-fstores = <0x3>; | |
linux,phandle = <0x7>; | |
phandle = <0x7>; | |
dma-channel@43000000 { | |
compatible = "xlnx,axi-vdma-mm2s-channel"; | |
interrupts = <0x0 0x3b 0x4>; | |
xlnx,datawidth = <0x40>; | |
xlnx,genlock-mode = <0x0>; | |
xlnx,include-dre = <0x0>; | |
}; | |
}; | |
axi-clkgen@79000000 { | |
compatible = "adi,axi-clkgen-2.00.a"; | |
reg = <0x79000000 0x10000>; | |
#clock-cells = <0x0>; | |
clocks = <0x3 0x10>; | |
linux,phandle = <0x8>; | |
phandle = <0x8>; | |
}; | |
axi_hdmi@70e00000 { | |
compatible = "adi,axi-hdmi-tx-1.00.a"; | |
reg = <0x70e00000 0x10000>; | |
encoder-slave = <0x6>; | |
dmas = <0x7 0x0>; | |
dma-names = "video"; | |
clocks = <0x8>; | |
}; | |
audio_clock { | |
compatible = "fixed-clock"; | |
#clock-cells = <0x0>; | |
clock-frequency = <0xbb8000>; | |
linux,phandle = <0xa>; | |
phandle = <0xa>; | |
}; | |
axi-spdif-tx@0x75c00000 { | |
compatible = "adi,axi-spdif-tx-1.00.a"; | |
reg = <0x75c00000 0x1000>; | |
dmas = <0x9 0x0>; | |
dma-names = "tx"; | |
clocks = <0x3 0xf 0xa 0xa>; | |
clock-names = "axi", "ref", "spdif"; | |
linux,phandle = <0xb>; | |
phandle = <0xb>; | |
}; | |
adv7511_hdmi_snd { | |
compatible = "adv7511-hdmi-snd"; | |
audio-codec = <0x6>; | |
cpu-dai = <0xb>; | |
}; | |
axi-i2s@0x77600000 { | |
compatible = "adi,axi-i2s-1.00.a"; | |
reg = <0x77600000 0x1000>; | |
dmas = <0x9 0x1 0x9 0x2>; | |
dma-names = "tx", "rx"; | |
clocks = <0x3 0xf 0xa 0xa>; | |
clock-names = "axi", "ref", "i2s"; | |
linux,phandle = <0xd>; | |
phandle = <0xd>; | |
}; | |
zed_sound { | |
compatible = "digilent,zed-sound"; | |
audio-codec = <0xc>; | |
cpu-dai = <0xd>; | |
}; | |
}; | |
leds { | |
compatible = "gpio-leds"; | |
ld0 { | |
label = "ld0:red"; | |
gpios = <0x5 0x49 0x0>; | |
}; | |
ld1 { | |
label = "ld1:red"; | |
gpios = <0x5 0x4a 0x0>; | |
}; | |
ld2 { | |
label = "ld2:red"; | |
gpios = <0x5 0x4b 0x0>; | |
}; | |
ld3 { | |
label = "ld3:red"; | |
gpios = <0x5 0x4c 0x0>; | |
}; | |
ld4 { | |
label = "ld4:red"; | |
gpios = <0x5 0x4d 0x0>; | |
}; | |
ld5 { | |
label = "ld5:red"; | |
gpios = <0x5 0x4e 0x0>; | |
}; | |
ld6 { | |
label = "ld6:red"; | |
gpios = <0x5 0x4f 0x0>; | |
}; | |
ld7 { | |
label = "ld7:red"; | |
gpios = <0x5 0x50 0x0>; | |
}; | |
}; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment