Following on from this:
https://forum.openwrt.org/viewtopic.php?id=53882
posted in 'Developers Only', I am now convinced that the SoC partnum is being correctly reported, and so can be fixed in the kernel at some stage. I did some poking about in the Belkin GPLed factory source to double check.
I have barrier breaker compiling and running (over TFTP), with just a couple of tweaks - my partnum hack as above, and removing 'softdog_vpe.o' from the lantiq Makefile, as it was breaking the build:
linux-lantiq_xway/linux-3.10.49/arch/mips/lantiq/Makefile
However, I only have a few things correctly working in my hacked DTS, namely:
Built-in Ethernet:
/* SoC Ethernet device */
etop@E180000 {
compatible = "lantiq,etop-xway";
reg = <0xE180000 0x40000>;
interrupt-parent = <&icu0>;
interrupts = <73 78>;
phy-mode = "mii";
mac-address = [ 00 11 22 33 44 55 ];
};
PCI (and hence wireless Ethernet):
/* Enable PCI bus */
pci0: pci@E105400 {
status = "okay";
gpio-reset = <&gpio 21 0>;
req-mask = <0x1>;
};
ADSL probably works too, but I can't check here.
I think USB is working, but the port is not being powered on, as I don't know which GPIO line controls this. I have no control over the switch IC, and although the stp@e100bb0 support appears to be working, I don't really understand how it works. I can turn the main power LED on and off through the /sys interface, but nothing else.
The Belkin source tarball has code for an interface in /proc/driver/danube_port, which on the running firmware returns:
Danube Port Settings
3 2 1 0
10987654321098765432109876543210
----------------------------------------
P0-OUT: XXXXXX XXX XX
P1-OUT: XX XXX X XXXX
P0-IN: XXXXXX XXX XX
P1-IN: XXXXXXXXXXXXXX X
P0-DIR: XXXXXXXXXXXXXX X
P1-DIR: XX XXXXXXXXXXX
P0-STO:
P1-STO:
P0-PUDE: X
P1-PUDE: X X XX X
P0-OD: XXXXXXXXXXXXXX X
P1-OD: XXXXXXXXXXXXXXX
P0-PUDS: X
P1-PUDS: X X X X
P0_ALT0: X
P0_ALT1:
P1_ALT0: X XX
P1_ALT1: X
This looks helpful, but again, I'm not sure that I understand what to do with it.
Any pointers?