Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| docs:techref:hardware:soc:soc.broadcom.bcm63xx:pinmux [2018/12/18 09:14] – danitool | docs:techref:hardware:soc:soc.broadcom.bcm63xx:pinmux [2020/05/24 22:21] (current) – [BCM6348 GPIO pinmux] danitool | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Size: 4 bytes | Size: 4 bytes | ||
| - | | | + | ^ GPIO ^ GROUP0 |
| - | ^ 0 | + | ^ |
| - | ^ 1 | + | ^ 0 | |
| - | ^ 2 | + | ^ |
| - | ^ 3 | + | ^ |
| - | ^ 4 | + | ^ |
| - | ^ 5 | + | ^ |
| - | ^ 6 | + | ^ |
| - | ^ 7 | | + | ^ |
| - | ^ 8 | + | ^ 7 |
| - | ^ 9 | + | ^ |
| - | ^ 10 | | + | ^ |
| - | ^ 11 | | + | ^ 10 | |
| - | ^ 12 | | + | ^ 11 | |
| - | ^ 13 | | + | ^ 12 | |
| - | ^ 14 | | || | MII TXD2 | UTO TXD2 | || | + | ^ 13 | |
| - | ^ 15 | | + | ^ 14 | |
| - | ^ 16 | | + | ^ 15 | |
| - | ^ 17 | | + | ^ 16 | |
| - | ^ 18 | | + | ^ 17 | |
| - | ^ 19 | | + | ^ 18 | |
| - | ^ 20 | | + | ^ 19 | |
| - | ^ 21 | | + | ^ 20 | |
| - | ^ 22 | | PCCARD READY | UART DCD | + | ^ 21 | |
| - | ^ 23 | | PCCARD CCD1 | UART RI | | + | ^ 22 | | PCCARD READY | UART DCD | |
| - | ^ 24 | | PCCARD CCD2 | UART DSR | + | ^ 23 | | PCCARD CCD1 | UART RI |
| - | ^ 25 | | PCCARD VS1 | UART CTS | + | ^ 24 | | PCCARD CCD2 | UART DSR | |
| - | ^ 26 | | PCCARD VS2 | UART DTR | + | ^ 25 | | PCCARD VS1 | UART CTS | |
| - | ^ 27 | | + | ^ 26 | | PCCARD VS2 | UART DTR | |
| - | ^ 28 | | + | ^ 27 | |
| - | ^ 29 | | SPI SS1 | UTO RXADDR1| | + | ^ 28 | |
| - | ^ 30 | | SPI SS2 | UTO TXADDR0| | + | ^ 29 | | |
| - | ^ 31 | | SPI SS3 | UTO TXADDR1| | + | ^ 30 | | |
| - | ^ 32 | MII MDC | | + | ^ 31 | | |
| - | ^ 32 | EXT IRQ1| || | + | ^ 32 | MII MDC | < |
| - | ^ 33 | EXT IRQ2| || | + | ^ 33 | | <color grey>EXT IRQ1</ |
| - | ^ 34 | EXT IRQ3| || | + | ^ 34 | | <color grey>EXT IRQ2</ |
| - | ^ 35 | EXT IRQ4| || | + | ^ 35 |
| - | ^ 36 | EXT IRQ5| || | + | ^ 36 | | <color grey>EXT IRQ4</ |
| + | |||
| + | **Note**: the EXT IRQs are shared with the GPIO function, they don't need to be enabled by any gpio mode group. | ||
| Code from Broadcom GPL (// | Code from Broadcom GPL (// | ||
| Line 53: | Line 55: | ||
| # | # | ||
| # | # | ||
| - | # | + | # |
| # | # | ||
| - | # | + | # |
| # | # | ||
| # | # | ||
| # | # | ||
| - | # | + | # |
| - | # | + | # |
| # | # | ||
| # | # | ||
| # | # | ||
| - | # | + | # |
| </ | </ | ||
| - | ===== Tags ===== | ||
| - | [[meta: | ||
| - | {{tag> | ||
| + | Code from Broadcom GPL, enabling some GPIO modes. (File '' | ||
| + | |||
| + | <code c>static int __init bcm6348_hw_init(void) | ||
| + | { | ||
| + | unsigned long data; | ||
| + | unsigned short GPIOOverlays; | ||
| + | |||
| + | /* Set MPI clock to 33MHz and Utopia clock to 25MHz */ | ||
| + | data = PERF-> | ||
| + | data &= ~MPI_CLK_MASK; | ||
| + | data |= MPI_CLK_33MHZ; | ||
| + | data &= ~MPI_UTOPIA_MASK; | ||
| + | data |= MPI_UTOPIA_25MHZ; | ||
| + | PERF-> | ||
| + | |||
| + | /* Enable SPI interface */ | ||
| + | PERF-> | ||
| + | |||
| + | GPIO-> | ||
| + | |||
| + | if( BpGetGPIOverlays(& | ||
| + | |||
| + | if (GPIOOverlays & BP_UTOPIA) { | ||
| + | /* Enable UTOPIA interface */ | ||
| + | GPIO-> | ||
| + | PERF-> | ||
| + | } | ||
| + | |||
| + | if (GPIOOverlays & BP_MII2) { | ||
| + | if (GPIOOverlays & BP_UTOPIA) { | ||
| + | printk (" | ||
| + | printk (" | ||
| + | } | ||
| + | /* Enable external MII interface */ | ||
| + | GPIO-> | ||
| + | } | ||
| + | |||
| + | if (GPIOOverlays & BP_SPI_EXT_CS) { | ||
| + | if (GPIOOverlays & BP_UTOPIA) { | ||
| + | printk (" | ||
| + | printk (" | ||
| + | } | ||
| + | /* Enable Extra SPI CS */ | ||
| + | GPIO-> | ||
| + | } | ||
| + | |||
| + | #if defined(CONFIG_PCI) | ||
| + | if (GPIOOverlays & BP_PCI) { | ||
| + | /* Enable PCI interface */ | ||
| + | GPIO-> | ||
| + | |||
| + | mpi_init(); | ||
| + | if (GPIOOverlays & BP_CB) { | ||
| + | mpi_DetectPcCard(); | ||
| + | } | ||
| + | else { | ||
| + | /* | ||
| + | * CardBus support is defaulted to Slot 0 because there is no external | ||
| + | * IDSEL for CardBus. | ||
| + | * card in Slot 0 set the cbus_idsel field to 0x1f. | ||
| + | */ | ||
| + | data = MPI-> | ||
| + | data |= CARDBUS_IDSEL; | ||
| + | MPI-> | ||
| + | } | ||
| + | } | ||
| + | #endif | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Devices ===== | ||
| + | The list of related devices: | ||
| + | {{tagpage> | ||
| + | {{tagpage> | ||
| + | {{tagpage> | ||