OT:zynx on zedboard.org hr timer problem with dts
Tim Sander
tim01 at vlsi.informatik.tu-darmstadt.de
Fri Dec 21 09:52:48 EST 2012
Hi Josh
Thanks for your answer.
> A better place to ask questions about the Xilinx tree will likely be on
> their Embedded Linux forum [1].
Probably but as i am running a mixtrue out of xilinx stable and preempt rt
i was in kind of inbetween...
> > I am sure this is an error in the attached dts but i am to knew to this
> > device tree stuff to find the error. So any hint would be apreciated.
>
> On first glance, it looks like you've specified a node for the twd, but
> neglected to specify interrupts. See
> Documentation/devicetree/bindings/arm/twd.txt.
>
> > swdt at f8005000 {
> >
> > device_type = "watchdog";
> > compatible = "arm,cortex-a9-twd-timer";
> > reg = <0xf8005000 0x100>;
> > clock-frequency = <111111111>;
> >
> > };
The missing interrupt was a good find but it was not the crucial part.
To make everyone happy using a search engine, i am appending a version wich
works on 3.6.9-rt22 merged with the xilinx tree.
Best regards
Tim
-------------- next part --------------
/dts-v1/;
/ {
model = "Xilinx Zedboard";
compatible = "xlnx,zynq-zc702";
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
memory {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
chosen {
bootargs = "console=ttyPS0,115200 init=/usr/sbin/init root=/dev/mmcblk0p2 rw ip=192.168.3.4:192.168.3.3:192.168.3.1:255.255.255.0::eth0:none earlyprintk";
linux,stdout-path = "/amba at 0/uart at E0001000";
};
soc {
compatible = "xlnx,zynq";
clock-frequency = <33333333>;
};
amba at 0 {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
gic: intc at f8f01000 {
interrupt-controller;
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
reg = < 0xf8f01000 0x1000 >,
< 0xf8f00100 0x0100 >;
};
pl310 at f8f02000 {
compatible = "arm,pl310-cache";
cache-unified;
cache-level = <2>;
reg = <0xf8f02000 0x1000>;
arm,data-latency = <3 2 2>;
arm,tag-latency = <2 2 2>;
interrupts = <0 34 4>;
};
uart at e0001000 {
compatible = "xlnx,ps7-uart-1.00.a";
reg = <0xe0001000 0x1000>;
interrupts = < 0 50 4 >;
interrupt-parent = <&gic>;
clock = <50000000>;
};
timer at 0xf8001000 {
compatible = "xlnx,ps7-ttc-1.00.a";
reg = <0xf8001000 0x1000>;
interrupts = <0 10 4>,<0 11 4>,<0 12 4>;
interrupt-parent = <&gic>;
clock-frequency-timer0 = <111111111>;
clock-frequency-timer1 = <111111111>;
clock-frequency-timer2 = <111111111>;
};
timer at f8f00600 {
compatible = "arm,cortex-a9-twd-timer";
reg = <0xf8f00600 0x20>;
interrupts = <1 13 0x301>;
interrupt-parent = <&gic>;
};
swdt at f8005000 {
device_type = "watchdog";
compatible = "xlnx,ps7-wdt-1.00.a";
reg = <0xf8005000 0x100>;
clock-frequency = <111111111>;
};
scuwdt at f8f00620 {
device_type = "watchdog";
compatible = "arm,mpcore_wdt";
reg = <0xf8f00620 0x20>;
clock-frequency = <333333333>;
reset = <1>;
};
eth at e000b000 {
compatible = "xlnx,ps7-ethernet-1.00.a";
reg = <0xe000b000 0x1000>;
interrupts = <0 22 4>;
interrupt-parent = <&gic>;
phy-handle = <&phy0>;
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 = <0x1>;
#size-cells = <0x0>;
phy0: phy at 0 {
compatible = "marvell,88e1510";
device_type = "ethernet-phy";
reg = <0x0>;
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>;
};
};
};
sdhci at e0100000 {
compatible = "xlnx,ps7-sdhci-1.00.a";
reg = <0xe0100000 0x1000>;
xlnx,has-cd = <0x1>;
interrupts = <0 24 4>;
interrupt-parent = <&gic>;
clock-frequency = <33333000>;
};
usb at e0002000 {
compatible = "xlnx,ps7-usb-1.00.a";
reg = <0xe0002000 0x1000>;
interrupts = <0 21 4>;
interrupt-parent = <&gic>;
dr_mode = "host";
phy_type = "ulpi";
};
gpio at e000a000 {
compatible = "xlnx,ps7-gpio-1.00.a";
reg = <0xe000a000 0x1000>;
interrupts = <0 20 4>;
interrupt-parent = <&gic>;
};
qspi0: spi at e000d000 {
compatible = "xlnx,ps7-qspi-1.00.a";
reg = <0xE000D000 0x1000>;
interrupts = <0 19 4>;
interrupt-parent = <&gic>;
speed-hz = <200000000>;
bus-num = <1>;
num-chip-select = <1>;
#address-cells = <1>;
#size-cells = <0>;
is-dual = <0>;
flash at 0 {
compatible = "n25q128";
reg = <0x0>;
spi-max-frequency = <50000000>;
#address-cells = <1>;
#size-cells = <1>;
partition at qspi-fsbl {
label = "qspi-fsbl";
reg = <0x0 0x80000>;
};
partition at qspi-u-boot {
label = "qspi-u-boot";
reg = <0x80000 0x80000>;
};
partition at qspi-linux {
label = "qspi-linux";
reg = <0x100000 0x500000>;
};
partition at qspi-device-tree {
label = "qspi-device-tree";
reg = <0x600000 0x20000>;
};
partition at qspi-user {
label = "qspi-user";
reg = <0x620000 0xE0000>;
};
partition at qspi-scratch {
label = "qspi-scratch";
reg = <0x700000 0x100000>;
};
partition at qspi-rootfs {
label = "qspi-rootfs";
reg = <0x800000 0x800000>;
};
};
};
devcfg at f8007000 {
compatible = "xlnx,ps7-dev-cfg-1.00.a";
reg = <0xf8007000 0x100>;
interrupts = <0 8 4>;
interrupt-parent = <&gic>;
};
xadc at f8007100 {
compatible = "xlnx,ps7-xadc-1.00.a";
reg = <0xf8007100 0x20>;
interrupts = <0 7 4>;
interrupt-parent = <&gic>;
};
};
};
More information about the linux-arm-kernel
mailing list