Doubt in Device tree entry for USB on Powerpc based board

mahendra varman mahendravarman15 at gmail.com
Sat Feb 23 00:33:07 EST 2008


Hello All

Iam using Powerpc 7448 processor along with TSI 109 system controller.
On PCI interface of TSI 109 a PCI to PCI bridge(6520) is connected in which
an usb controller(Philips ISP1562) and PMC site is connected.

Iam following the Open Firmware Powerpc architecture and using Linux 2.6.23.
I have framed the device tree for the above architecture with usb entry. But
even though i enable the ohci ppc of in menuconfig the the functions
probe,etc inside ohci ppc of.c are not called when i insert the device in
usb port and hence it is not detecting ohci low/full speed devices.

Please help me in the device tree where to give the device type
compatibility address_cells size cells for the USB (since usb controller is
in pci bridge i have some confusion in where to give the entry for usb)

I have attached the device tree below
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
{    model = "CTP7448";
    compatible = "mpc74xx";
    #address-cells = <1>;
    #size-cells = <1>;

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

        PowerPC,7448 at 0 {
            device_type = "cpu";
            reg = <0>;
            d-cache-line-size = <20>;    // 32 bytes
            i-cache-line-size = <20>;    // 32 bytes
            d-cache-size = <8000>;        // L1, 32K bytes
            i-cache-size = <8000>;        // L1, 32K bytes
            timebase-frequency = <0>;    // 33 MHz, from uboot
            clock-frequency = <0>;        // From U-Boot
            bus-frequency = <0>;        // From U-Boot
            32-bit;
        };
    };

    memory{
        device_type = "memory";
        reg = <00000000 10000000>;    // DDR2   512M at 0
    };

      tsi108 at c0000000 {
        #address-cells = <1>;
        #size-cells = <1>;
        #interrupt-cells = <2>;
        device_type = "tsi-bridge";
        ranges = <00000000 c0000000 00010000
                00000000 f0000000 00008000
                00000000 f1000000 01000000
                00000000 f8000000 01000000>;
        reg = <c0000000 00010000>;
        bus-frequency = <0>;

        rtc at f0000000 {
            device_type = "rtc";
             compatible  = "st,m48t59";
            reg = <f0000000 8000>;

        };
        i2c at 7000 {
            interrupt-parent = <&mpic>;
            interrupts = <E 0>;
            reg = <7000 400>;
            device_type = "i2c";
            compatible  = "tsi108-i2c";
        };

        MDIO: mdio at 6000 {
            device_type = "mdio";
            compatible = "tsi108-mdio";
            reg = <6000 50>;
            #address-cells = <1>;
            #size-cells = <0>;

            phy1: ethernet-phy at 1 {
                interrupt-parent = <&mpic>;
                interrupts = <0 0>;
                reg = <1>;
                device_type = "ethernet-phy";
            };

            phy8: ethernet-phy at 8 {
                interrupt-parent = <&mpic>;
                interrupts = <1 0>;
                reg = <8>;
                device_type = "ethernet-phy";
            };

        };
        ethernet at 6200 {
            #size-cells = <0>;
            device_type = "network";
            compatible = "tsi108-ethernet";
            reg = <6000 200>;
            address = [ 00 03 23 00 00 01 ];
            interrupts = <10 0>;
            interrupt-parent = <&mpic>;
            mdio-handle = <&MDIO>;
            phy-handle = <&phy1>;
        };

        ethernet at 6600 {
            #address-cells = <1>;
            #size-cells = <0>;
            device_type = "network";
            compatible = "tsi108-ethernet";
            reg = <6400 200>;
            address = [ 00 03 23 00 00 02 ];
            interrupts = <11 2>;
            interrupt-parent = <&mpic>;
            mdio-handle = <&MDIO>;
            phy-handle = <&phy8>;
        };

        serial at 7808 {
            device_type = "serial";
            compatible = "ns16550";
            reg = <7808 200>;
            clock-frequency = <3f6b5a00>;
            interrupts = <c 0>;
            interrupt-parent = <&mpic>;
        };

        serial at 7c08 {
            device_type = "serial";
            compatible = "ns16550";
            reg = <7c08 200>;
            clock-frequency = <3f6b5a00>;
            interrupts = <d 0>;
            interrupt-parent = <&mpic>;
        };

          mpic: pic at 7400 {
            clock-frequency = <0>;
            interrupt-controller;
            #address-cells = <0>;
            #interrupt-cells = <2>;
            reg = <7400 400>;
            built-in;
            compatible = "chrp,open-pic";
            device_type = "open-pic";
                           big-endian;
        };
        pci at 1000 {
            compatible = "tsi108-pci";
            device_type = "pci";
            #interrupt-cells = <1>;
            #size-cells = <2>;
            #address-cells = <3>;
            reg = <1000 1000>;
            bus-range = <0 0>;
            ranges = <02000000 0 e0000000 e0000000 0 10000000
                        01000000 0 00000000 f2000000 0 01000000>;
            clock-frequency = <3ef1480>;
            interrupt-parent = <&mpic>;
            interrupts = <17 2>;
            interrupt-map-mask = <f800 0 0 7>;
            interrupt-map = <
                /* IDSEL 0x10 */
                 00000 0 0 1 &RT0 24 0

                /* IDSEL 0x11 */
                00800 0 0 1 &RT0 25 0

                       /* IDSEL 0x12 */
                1000 0 0 1 &RT0 24 0
                1000 0 0 2 &RT0 25 0
                1000 0 0 3 &RT0 26 0
                1000 0 0 4 &RT0 27 0 >;

                      pci_bridge at 12 {
                interrupt-map-mask = <f800 0 0 7>;
                interrupt-map = <

                    /* IDSEL 0x13 (PMC Site) */
                    1800 0 0 1 &RT0 24 0
                    1800 0 0 2 &RT0 25 0
                    1800 0 0 3 &RT0 26 0
                    1800 0 0 4 &RT0 27 0

                    /* IDSEL 0x14 (USB chip) */
                      2000 0 0 1 &RT0 27 0
                      2000 0 0 2 &RT0 27 0
                      2000 0 0 3 &RT0 27 0
                      2000 0 0 4 &RT0 27 0
>;

                reg = <1000 0 0 0 0>;
                #interrupt-cells = <1>;
                #size-cells = <2>;
                #address-cells = <3>;
                ranges = <02000000 0 e0000000 e0000000 0 10000000 01000000 0
00000000 fa000000 0 00010000>;
                clock-frequency = <1f78a40>;

            RT0: router at 1180 {
                clock-frequency = <0>;
                interrupt-controller;
                device_type = "pic-router";
                #address-cells = <0>;
                #interrupt-cells = <2>;
                built-in;
                big-endian;
                interrupts = <17 2>;
                interrupt-parent = <&mpic>;
                                      };
              };

        };
    };

};
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20080222/ad070669/attachment.htm 


More information about the Linuxppc-embedded mailing list