Hi, I'm trying to bring the primary Ethernet interface up on my 8272-based board running 2.6.27.
Previously, I had this same hardware working with 2.6.14 using the following driver: linux-2.6.14/arch/ppc/8260_io/fcc_enet.c This doesn't exist anymore in 2.6.27. From reading the code comments, I think the new driver I should be using is: linux-2.6.27/drivers/net/fs_enet/fs_enet-main.c The PHY is an Intel LXT972. I have selected the closest-matching Kernel config option 'LXT970'. The primary ethernet uses FCC2. Here are the relevant boot messages: OF: ** translation for device /s...@f0000000 ** OF: bus is default (na=1, ns=1) on / OF: translating address: f0000000 OF: reached root node OF: ** translation for device /s...@f0000000/c...@119c0/mu...@0/d...@0 ** OF: bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0/mu...@0 OF: translating address: 00000000 OF: parent bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0 OF: walking ranges... OF: default map, cp=0, s=10000, da=0 OF: parent translation for: 00000000 OF: with offset: 0 OF: one level translation: 00000000 OF: parent bus is default (na=1, ns=1) on /s...@f0000000 OF: no ranges, 1:1 translation OF: parent translation for: 00000000 OF: with offset: 0 OF: one level translation: 00000000 OF: parent bus is default (na=1, ns=1) on / OF: walking ranges... OF: default map, cp=0, s=53000, da=0 OF: parent translation for: f0000000 OF: with offset: 0 OF: one level translation: f0000000 OF: reached root node OF: ** translation for device /s...@f0000000/c...@119c0/mu...@0/d...@0 ** OF: bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0/mu...@0 OF: translating address: 00000000 OF: parent bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0 OF: walking ranges... OF: default map, cp=0, s=10000, da=0 OF: parent translation for: 00000000 OF: with offset: 0 OF: one level translation: 00000000 OF: parent bus is default (na=1, ns=1) on /s...@f0000000 OF: no ranges, 1:1 translation OF: parent translation for: 00000000 OF: with offset: 0 OF: one level translation: 00000000 OF: parent bus is default (na=1, ns=1) on / OF: walking ranges... OF: default map, cp=0, s=53000, da=0 OF: parent translation for: f0000000 OF: with offset: 0 OF: one level translation: f0000000 OF: reached root node OF: ** translation for device /s...@f0000000/c...@119c0/mu...@0/d...@0 ** OF: bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0/mu...@0 OF: translating address: 00009800 OF: parent bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0 OF: walking ranges... OF: default map, cp=0, s=10000, da=9800 OF: parent translation for: 00000000 OF: with offset: 9800 OF: one level translation: 00009800 OF: parent bus is default (na=1, ns=1) on /s...@f0000000 OF: no ranges, 1:1 translation OF: parent translation for: 00000000 OF: with offset: 9800 OF: one level translation: 00009800 OF: parent bus is default (na=1, ns=1) on / OF: walking ranges... OF: default map, cp=0, s=53000, da=9800 OF: parent translation for: f0000000 OF: with offset: 9800 OF: one level translation: f0009800 OF: reached root node hpxred_setup_arch(), finished arch: exit .... Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.8:/tftpboot/192.168.1.75/ro otfs ip=192.168.1.75:192.168.1.8::255.255.255.0:hpx800:eth2:off mtdparts=flash:256K (uboot),128K(env1),128K(env2),1536K(linux1),6144K(root1),4096K(app1),1536K(linux2), 6144K(root2),4096K(app2),1536K(usr),-(usb) panic=1 console=ttyCPM0 mem=32M usbid=1 hpxred_pic_init() irq: Allocated host of type 2 @0xc03163a0 hpxred_pic_init(), finished PID hash table entries: 128 (order: 7, 512 bytes) time_init: decrementer frequency = 16.500000 MHz time_init: processor frequency = 330.000000 MHz clocksource: timebase mult[f26c9b2] shift[22] registered clockevent: decrementer mult[439] shift[16] cpu[0] Console: colour dummy device 80x25 cpm_uart_init_port() OF: ** translation for device /s...@f0000000/c...@119c0/ser...@11a00 ** OF: bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0 OF: translating address: 00011a00 OF: parent bus is default (na=1, ns=1) on /s...@f0000000 OF: no ranges, 1:1 translation OF: parent translation for: 00000000 OF: with offset: 11a00 OF: one level translation: 00011a00 OF: parent bus is default (na=1, ns=1) on / OF: walking ranges... OF: default map, cp=0, s=53000, da=11a00 OF: parent translation for: f0000000 OF: with offset: 11a00 OF: one level translation: f0011a00 OF: reached root node OF: ** translation for device /s...@f0000000/c...@119c0/ser...@11a00 ** OF: bus is default (na=1, ns=1) on /s...@f0000000/c...@119c0 OF: translating address: 00008000 OF: parent bus is default (na=1, ns=1) on /s...@f0000000 OF: no ranges, 1:1 translation OF: parent translation for: 00000000 OF: with offset: 8000 OF: one level translation: 00008000 OF: parent bus is default (na=1, ns=1) on / OF: walking ranges... OF: default map, cp=0, s=53000, da=8000 OF: parent translation for: f0000000 OF: with offset: 8000 OF: one level translation: f0008000 OF: reached root node of_irq_map_one: dev=/s...@f0000000/c...@119c0/ser...@11a00, index=0 intsize=2 intlen=2 of_irq_map_raw: par=/s...@f0000000/interrupt-control...@10c00,intspec=[0x00000028 0x 00000008...],ointsize=2 of_irq_map_raw: ipar=/s...@f0000000/interrupt-control...@10c00, size=2 -> addrsize=1 -> got it ! irq: irq_create_mapping(0xc03163a0, 0x28) irq: -> using host @c03163a0 irq: -> obtained virq 40 cpm2_pic_host_map(40, 0x28) of_get_gpio exited with status -2 of_get_gpio exited with status -2 of_get_gpio exited with status -2 of_get_gpio exited with status -2 of_get_gpio exited with status -2 of_get_gpio exited with status -2 cpm_uart_request_port() CPM uart[þDentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 29564k/32768k available (2636k kernel code, 3204k reserved, 104k data, 129k bss, 120k init) ... kobject: 'fs_enet' (c1810900): kobject_add_internal: parent: 'module', set: 'module' .... bus: 'mdio_bus': add driver LXT970 kobject: 'LXT970' (c1817900): kobject_add_internal: parent: 'drivers', set: 'driver s' LXT970: Registered new driver bus: 'mdio_bus': add driver LXT971 kobject: 'LXT971' (c1817960): kobject_add_internal: parent: 'drivers', set: 'driver s' LXT971: Registered new driver Registering platform device 'Fixed MDIO bus.0'. Parent at platform device: 'Fixed MDIO bus.0': device_add kobject: 'Fixed MDIO bus.0' (c1946470): kobject_add_internal: parent: 'platform', s et: 'devices' bus: 'platform': add device Fixed MDIO bus.0 Fixed MDIO Bus: probed bus: 'of_platform': add driver mdio-gpio kobject: 'mdio-gpio' (c18179c0): kobject_add_internal: parent: 'drivers', set: 'dri vers' .... bus: 'of_platform': add driver fs_enet kobject: 'fs_enet' (c1817a80): kobject_add_internal: parent: 'drivers', set: 'drive rs' bus: 'of_platform': add driver fsl-bb-mdio kobject: 'fsl-bb-mdio' (c1817ae0): kobject_add_internal: parent: 'drivers', set: 'd rivers' .... IP-Config: Device `eth2' not found. driver_probe_done: probe_count = 0 The fs_enet probe() function doesn't seem to get called (I had put a panic() in it). Should it? I also tried searching for 'eth0' and 'eth1' but got the same result. 'eth2' was what I used with 2.6.14. Here's the relevant parts of the Device Tree: s...@f0000000 { #address-cells = <1>; #size-cells = <1>; device_type = "soc"; compatible = "fsl,mpc8272", "fsl,pq2-soc"; ranges = <0x0 0xf0000000 0x53000>; // Temporary -- will go away once kernel uses ranges for get_immrbase(). reg = <0xf0000000 0x53000>; c...@119c0 { #address-cells = <1>; #size-cells = <1>; #interrupt-cells = <2>; compatible = "fsl,mpc8272-cpm", "fsl,cpm2"; reg = <0x119c0 0x30>; ranges; mu...@0 { #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0x10000>; d...@0 { compatible = "fsl,cpm-muram-data"; reg = <0x0 0x2000 0x9800 0x800>; }; }; b...@119f0 { compatible = "fsl,mpc8272-brg", "fsl,cpm2-brg"; reg = <0x119f0 0x10 0x115f0 0x10>; clock-frequency = <0>; }; ser...@11a00 { device_type = "serial"; compatible = "fsl,mpc8272-scc-uart", "fsl,cpm2-scc-uart"; reg = <0x11a00 0x20 0x8000 0x100>; interrupts = <40 8>; interrupt-parent = <&PIC>; fsl,cpm-brg = <0>; fsl,cpm-command = <0x800000>; }; ether...@11320 { device_type = "network"; compatible = "fsl,mpc8272-fcc-enet", "fsl,cpm2-fcc-enet"; // FCC2- reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>; local-mac-address = [ 00 00 00 00 00 00 ]; interrupts = <33 8>; interrupt-parent = <&PIC>; phy-handle = <&PHY0>; linux,network-index = <0>; fsl,cpm-command = <0x12000300>; }; m...@10d40 { device_type = "mdio"; compatible = "fsl,mpc8272ads-mdio-bitbang", "fsl,mpc8272-mdio-bitbang", "fsl,cpm2-mdio-bitbang"; reg = <0x10d40 0x14>; #address-cells = <1>; #size-cells = <0>; fsl,mdio-pin = <5>; fsl,mdc-pin = <19>; PHY0: ethernet-...@0 { interrupt-parenn = <&PIC>; interrupts = <23 8>; reg = <0x0>; device_type = "ethernet-phy"; }; }; }; PIC: interrupt-control...@10c00 { #interrupt-cells = <2>; interrupt-controller; reg = <0x10c00 0x80>; compatible = "fsl,mpc8272-pic", "fsl,cpm2-pic"; }; }; Cheers, Daniel _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev