mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 01:55:35 +07:00
7b9334215f
The Broadcom BCM3368 Cable Modem SoC is extremely similar to the existing BCM63xx DSL SoCs, in particular BCM6358, therefore little effort in the existing code base is required to get it supported. This patch adds support for the following on-chip peripherals: - two UARTS - GPIO - Ethernet - SPI - PCI - NOR Flash The most noticeable difference with 3368 is that it has its peripheral register at 0xfff8_0000 we check that separately in ioremap.h. Since 3368 is identical to 6358 for its clock and reset bits, we use them verbatim. Signed-off-by: Florian Fainelli <florian@openwrt.org> Cc: linux-mips@linux-mips.org Cc: cernekee@gmail.com Cc: jogo@openwrt.org Patchwork: https://patchwork.linux-mips.org/patch/5499/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
35 lines
599 B
C
35 lines
599 B
C
#ifndef BCM63XX_GPIO_H
|
|
#define BCM63XX_GPIO_H
|
|
|
|
#include <linux/init.h>
|
|
#include <bcm63xx_cpu.h>
|
|
|
|
int __init bcm63xx_gpio_init(void);
|
|
|
|
static inline unsigned long bcm63xx_gpio_count(void)
|
|
{
|
|
switch (bcm63xx_get_cpu_id()) {
|
|
case BCM6328_CPU_ID:
|
|
return 32;
|
|
case BCM3368_CPU_ID:
|
|
case BCM6358_CPU_ID:
|
|
return 40;
|
|
case BCM6338_CPU_ID:
|
|
return 8;
|
|
case BCM6345_CPU_ID:
|
|
return 16;
|
|
case BCM6362_CPU_ID:
|
|
return 48;
|
|
case BCM6368_CPU_ID:
|
|
return 38;
|
|
case BCM6348_CPU_ID:
|
|
default:
|
|
return 37;
|
|
}
|
|
}
|
|
|
|
#define BCM63XX_GPIO_DIR_OUT 0x0
|
|
#define BCM63XX_GPIO_DIR_IN 0x1
|
|
|
|
#endif /* !BCM63XX_GPIO_H */
|