On Tue, Oct 23, 2007 at 06:15:22PM -0700, Stephen Neuendorffer wrote: [snip] > / { > #address-cells = <1>; > #size-cells = <1>; > model = "system.mhs"; > chosen { > bootargs = "root=/dev/xsysace/disc0/part2"; > interrupt-controller = <101>;
interrupt-controller in /chosen is obsolete. Drop it. > } ; > cpus { > #address-cells = <1>; > #cpus = <1>; > #size-cells = <0>; > microblaze,[EMAIL PROTECTED] { > 32-bit; 32-bit was never a specified property. Drop. > clock-frequency = <5f5e1000>; > d-cache-line-size = <10>; > d-cache-size = <4000>; > device_type = "cpu"; > i-cache-line-size = <10>; > i-cache-size = <4000>; > linux,boot-cpu; linux,boot-cpu is long obsolete. Drop. > reg = <0>; > timebase-frequency = <1fca055>; > xlnx,cache-byte-size = <4000>; > xlnx,dcache-baseaddr = <50000000>; > xlnx,dcache-byte-size = <4000>; > xlnx,dcache-highaddr = <5fffffff>; > xlnx,debug-enabled = <1>; > xlnx,div-zero-exception = <1>; > xlnx,dopb-bus-exception = <1>; > xlnx,fpu-exception = <1>; > xlnx,icache-baseaddr = <50000000>; > xlnx,icache-highaddr = <5fffffff>; > xlnx,ill-opcode-exception = <1>; > xlnx,iopb-bus-exception = <1>; > xlnx,number-of-pc-brk = <2>; > xlnx,pvr = <2>; > xlnx,unaligned-exceptions = <1>; > xlnx,use-barrel = <1>; > xlnx,use-dcache = <1>; > xlnx,use-div = <1>; > xlnx,use-fpu = <1>; > xlnx,use-icache = <1>; > xlnx,use-msr-instr = <1>; > xlnx,use-pcmp-instr = <1>; > } ; > } ; > memory { > device_type = "memory"; > reg = < 50000000 10000000 >; > } ; > opb_v20 { Any node with children must have #address-cells and #size-cells properties. This one almost certainly needs 'ranges' too. If it has any bridge control registers, it should have 'reg' also. > compatible = > "xlnx,opb-v20-1.10.c\0xlnx,opb-v20\0ibm,opb"; > [EMAIL PROTECTED] { > compatible = > "xlnx,opb-ethernet-1.04.a\0xlnx,opb-ethernet"; > device_type = "network"; > interrupt-parent = <101>; It would be kind of neat if you could get this to generate labels and references, rather than explicit phandles for the interrupt tree. > interrupts = < 1 0 >; > reg = < 40c00000 10000 >; > xlnx,cam-exist = <0>; > xlnx,dev-blk-id = <0>; > xlnx,dev-mir-enable = <0>; > xlnx,dma-present = <1>; > xlnx,edk-name = "Ethernet_MAC"; > xlnx,include-dev-pencoder = <0>; > xlnx,ipif-rdfifo-depth = <4000>; > xlnx,ipif-wrfifo-depth = <4000>; > xlnx,jumbo-exist = <0>; > xlnx,mac-fifo-depth = <10>; > xlnx,mii-exist = <1>; > xlnx,opb-clk-period-ps = <2710>; > xlnx,reset-present = <1>; > xlnx,rx-dre-type = <0>; > xlnx,rx-include-csum = <0>; > xlnx,tx-dre-type = <0>; > xlnx,tx-include-csum = <0>; > } ; > [EMAIL PROTECTED] { > #interrupt-cells = <2>; > compatible = > "xlnx,opb-intc-1.00.c\0xlnx,opb-intc"; > interrupt-controller; > linux,phandle = <101>; > reg = < 41200000 10000 >; > xlnx,edk-name = "opb_intc_0"; > } ; > [EMAIL PROTECTED] { Ok, I don't really understand why the memory node is duplicated here. It seems to be covering the same range as the top-level /memory node. > compatible = > "xlnx,mch-opb-ddr2-1.02.a\0xlnx,mch-opb-ddr2"; > device_type = "memory"; > reg = < 50000000 10000000 >; > xlnx,ddr-async-support = <1>; > xlnx,ddr-awidth = <d>; > xlnx,ddr-bank-awidth = <2>; > xlnx,ddr-cas-lat = <3>; > xlnx,ddr-col-awidth = <a>; > xlnx,ddr-dwidth = <20>; > xlnx,ddr-tfaw = <c350>; > xlnx,ddr-tmrd = <61a8>; > xlnx,ddr-tras = <15f90>; > xlnx,ddr-trc = <fde8>; > xlnx,ddr-trcd = <61a8>; > xlnx,ddr-trefi = <7704c0>; > xlnx,ddr-trfc = <1c138>; > xlnx,ddr-trp = <4e20>; > xlnx,ddr-trrd = <3a98>; > xlnx,ddr-twr = <3a98>; > xlnx,ddr-twtr = <1>; > xlnx,edk-name = "DDR2_SDRAM_32Mx32"; > xlnx,extra-tsu = <0>; > xlnx,idelayctrl-loc = > "IDELAYCTRL_X0Y5-IDELAYCTRL_X0Y4-IDELAYCTRL_X0Y1-IDELAYCTRL_X0Y0"; > xlnx,include-opb-burst-support = <1>; > xlnx,include-opb-ipif = <1>; > xlnx,mch0-accessbuf-depth = <4>; > xlnx,mch1-accessbuf-depth = <8>; > xlnx,num-banks-mem = <1>; > xlnx,num-channels = <2>; > xlnx,num-clk-pairs = <2>; > xlnx,num-idelayctrl = <4>; > xlnx,reg-dimm = <0>; > xlnx,xcl0-writexfer = <0>; > } ; > [EMAIL PROTECTED] { > compatible = > "xlnx,opb-hwicap-1.10.a\0xlnx,opb-hwicap"; > reg = < 41300000 10000 >; > xlnx,edk-name = "opb_hwicap_0"; > } ; > [EMAIL PROTECTED] { > compatible = > "xlnx,opb-iic-1.02.a\0xlnx,opb-iic"; > interrupt-parent = <101>; > interrupts = < 2 0 >; > reg = < 40800000 10000 >; > xlnx,clk-freq = <5f5e100>; > xlnx,edk-name = "IIC_EEPROM"; > xlnx,iic-freq = <186a0>; > xlnx,ten-bit-adr = <0>; > } ; > [EMAIL PROTECTED] { > compatible = > "xlnx,opb-mdm-2.00.a\0xlnx,opb-mdm"; > reg = < 41400000 10000 >; > xlnx,edk-name = "debug_module"; > xlnx,mb-dbg-ports = <1>; > xlnx,uart-width = <8>; > xlnx,use-uart = <1>; > } ; > [EMAIL PROTECTED] { > compatible = > "xlnx,opb-timer-1.00.b\0xlnx,opb-timer"; > interrupt-parent = <101>; > interrupts = < 0 0 >; > reg = < 41c00000 10000 >; > xlnx,count-width = <20>; > xlnx,edk-name = "opb_timer_1"; > xlnx,one-timer-only = <1>; > } ; > [EMAIL PROTECTED] { > compatible = > "xlnx,opb-uartlite-1.00.b\0xlnx,opb-uartlite"; > device_type = "serial"; > interrupt-parent = <101>; > interrupts = < 3 0 >; > reg = < 40600000 10000 >; > xlnx,baudrate = <2580>; Possibly this should be current-speed, in analogy with ns16550 devices. > xlnx,clk-freq = <5f5e100>; > xlnx,data-bits = <8>; > xlnx,edk-name = "RS232_Uart_1"; > xlnx,odd-parity = <0>; > xlnx,use-parity = <0>; > } ; > } ; > } ; -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev