All pastes #837405 Raw Edit

Miscellany

public text v1 · immutable
#837405 ·published 2007-12-29 17:12 UTC
rendered paste body
/*
 * Device Tree Source for IOMEGA StorCenter
 *
 * Copyright 2007 Oyvind Repvik, Jon Loeliger
 *
 * Based on the Kurobox DTS by G. Liakhovetski <g.liakhovetski at gmx.de>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 *
 * build using:
 *    dtc -f -b 0 -I dts -O dtb -o storcenter.dtb storcenter.dts
 */

/ {
        model = "StorCenter";
        compatible = "storcenter";
        #address-cells = <1>;
        #size-cells = <1>;

        cpus {
                #address-cells = <1>;
                #size-cells = <0>;

                PowerPC,603e {                  /* Really 8241 */
                        device_type = "cpu";
                        reg = <0>;
                        /* XXX correct? */
                        clock-frequency = <d# 200000000>;       /* Hz */
                        timebase-frequency = <d# 33333333>;     /* Hz */
                        bus-frequency = <0>;
                        /* Following required by dtc but not used */
                        i-cache-line-size = <0>;
                        d-cache-line-size = <0>;
                        i-cache-size = <4000>;
                        d-cache-size = <4000>;
                };
        };

        memory {
                device_type = "memory";
                reg = <00000000 04000000>;      /* 64MB @ 0x0 */
        };

        flash@ff800000 {
                device_type = "rom";
                compatible = "direct-mapped";
                probe-type = "CFI";
                reg = <ff800000 00800000>;
                bank-width = <1>; 
                /* XXX add protium partitions*/
                partitions = <
                                00000000 0000E000
                                0000E000 00002000
                                00010000 00040000
                                00050000 00200000
                                00250000 004B0000
                                00700000 00020000
                                00720000 00010000
                                00730000 00010000
                                00740000 000B0000
                >;
                /* XXX fix names */
                partition-names = "uboot2env", "dtb", "uboot2",
                                  "emkernel", "emfs", "uboot1",
                                  "empty", "uboot1-env", "SysConf";
        };


        soc10x {
                #address-cells = <1>;
                #size-cells = <1>;
                #interrupt-cells = <2>;
                device_type = "soc";
                compatible = "mpc10x";
                store-gathering = <0>; /* 0 == off, !0 == on */
                reg = <80000000 00100000>;
                ranges = <80000000 80000000 70000000    /* pci mem space */
                          fdf00000 fdf00000 00100000    /* EUMB */
                          fe000000 fe000000 00c00000    /* pci i/o space */
                          fec00000 fec00000 00300000    /* pci cfg regs */
                          fef00000 fef00000 00100000>;  /* pci iack */

                i2c@3000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        device_type = "i2c";
                        compatible = "fsl-i2c";
                        reg = <3000 1000>;
                        interrupts = <5 2>;
                        interrupt-parent = <&mpic>;
                        /* dfsrr; */

                        rtc@68 {
                                compatible = "dallas,ds1337";
                                reg = <68>;
                        };
                };

                serial@4500 {
                        device_type = "serial";
                        compatible = "ns16550";
                        reg = <4500 8>;
                        clock-frequency = <d# 97553800>; /* Hz */
                        current-speed = <d# 115200>;
                        interrupts = <9 2>;
                        interrupt-parent = <&mpic>;
                };

                serial@4600 {
                        device_type = "serial";
                        compatible = "ns16550";
                        reg = <4600 8>;
                        clock-frequency = <d# 97553800>; /* Hz */
                        current-speed = <d# 19200>;
                        interrupts = <a 2>;
                        interrupt-parent = <&mpic>;
                };

                mpic: pic@40000 {
                        #interrupt-cells = <2>;
                        #address-cells = <0>;
                        device_type = "open-pic";
                        compatible = "chrp,open-pic";
                        interrupt-controller;
                        reg = <40000 40000>;
                        built-in;
                };

                pci@fe800000 {
                        #address-cells = <3>;
                        #size-cells = <2>;
                        #interrupt-cells = <1>;
                        device_type = "pci";
                        compatible = "mpc10x-pci";
                        reg = <fe800000 400000>;
                        /* pci_space pci_addr cpu_addr pci_next cpu_next size */
                        /* pci_space>>24==1 : PCI IO space
                           pci_space>>24==2 : PCI MEM space */

                        ranges = <01000000 0        0 fe000000 0 00c00000
                                  02000000 0 80000000 80000000 0 70000000>;
                        bus-range = <0 ff>;
                        clock-frequency = <d# 100000000>; /* Hz */
                        interrupt-parent = <&mpic>;
                        interrupt-map-mask = <f800 0 0 7>;
                        interrupt-map = <
                        /* XXX need ide */
                        /* XXX need usb ohci */
                        /* XXX need usb ohci */
                        /* XXX need usb ehci */
                        /* from iomega8241.c (arch=ppc):
                                static char pci_irq_table[][4] =
                                /*
                                *      PCI IDSEL/INTPIN->INTLINE
                                *         A   B   C   D
                                {
                                {  1,  1,  0,  0 },
                                {  2,  3,  4,  1 },
                                {  0,  0,  4,  4 },
                                {  3,  3,  4,  4 },
                                {  3,  3,  4,  4 },
                                };
                        const long min_idsel = 13, max_idsel = 17, 
                                irqs_per_slot = 4;

                        */

                        >;
                };
        };
        chosen {
                linux,stdout-path = "/soc10x/serial@4500";
                bootargs = "console=ttyS0,115200 netconsole=@172.20.50.77/eth0,@172.20.50.1/00:A0:D1:28:CE:7E ip=172.20.50.77:172.20.50.1:172.20.50.1:255.255.255.0:storcent:eth0:dhcp";
        };
};