GPIO lines can be used to connect devices to the WGT634U, using SPI or I2C protocols, or just to light an LED or listen to a button. People have added SD card readers to WRT54Gs this way.
http://kiel.kool.dk , http://forum.openwrt.org/viewtopic.php?pid=33727 .
I poked at the hardware with CFE:
CFE> d b8000060 10
B8000060: 000000FD 000000FD 000000C3 00000000 ................
CFE> e b8000064
Type '.' to exit, '-' to back up, '=' to dump memory.
B8000064: [000000FD]: ff
B8000068: [000000C3]: ff
B800006C: [00000000]: .
CFE> d b8000060 10
B8000060: 000000FF 000000FF 000000FF 00000000 ................
CFE> e b8000064
B8000064: [000000FF]: 00
B8000068: [000000FF]: .
CFE> d b8000060 10
B8000060: 00000000 00000000 000000FF 00000000 ................
CFE>
The four sequential words are
0xb8000060 | input |
0xb8000064 | output |
0xb8000068 | output enable |
0xb800006c | control (seems that zero activates the I/O line) |
In the sequence above I set the 8 GPIO bits to output mode and commanded them to 1's (+3.3V logic level). Then I set them all to 0's. (I think that the BCM5365 has 16 GPIO lines, but I only looked for 8.)
With a meter I identified 7 of the eight bits:
0x80 | TP1 |
0x40 | TP2 |
0x20 | TP3 |
0x10 | TP4 |
0x08 | U6.13 to yellow Power LED |
0x04 | reset pushbutton on back panel |
0x02 | TP5 |
0x01 | unknown |
The testpoints TP1 - TP5 are little gold pads near the Broadcom chip.
Using the GPIO Pins as output:
To use the GPIO Pins as output you can use the diag module. To add the TP-GPIO lines to show up under "/proc/diag/led" you just need to edit the file "trunk/package/broadcom-diag/src/diag.c" and add the TP as mentioned above:
{ .name = "connected", .gpio = 1 << 0, .polarity = NORMAL },
},
},
/* Netgear */
[WGT634U] = {
.name = "Netgear WGT634U",
.buttons = {
{ .name = "reset", .gpio = 1 << 2 },
},
.leds = {
{ .name = "power", .gpio = 1 << 3, .polarity = REVERSE },
{ .name = "tp1", .gpio = 1 << 7, .polarity = NORMAL },
{ .name = "tp2", .gpio = 1 << 6, .polarity = NORMAL },
{ .name = "tp3", .gpio = 1 << 5, .polarity = NORMAL },
{ .name = "tp4", .gpio = 1 << 4, .polarity = NORMAL },
{ .name = "tp5", .gpio = 1 << 1, .polarity = NORMAL },
},
},
/* Trendware */
[TEW411BRPP] = {
.name = "Trendware TEW411BRP+",
.buttons = {
{ /* No usable buttons */ },
Location of Test Points TP1 to TP5:
Comments (1)
Anonymous said
at 9:35 pm on Feb 16, 2007
Hi,
i don't know how to test the gpio pins without a oscilloscope. So if someone can test the TP6, TP7 and TP8 pins on the bottom of the Board. There are 3 golden Points on this side!
Maybe one of them is the eighth GPIO port. Or two of these pins have the same allocation as the GPIO port three and four on the reset button and the yellow LED.
cu tabas
You don't have permission to comment on this page.