diff options
Diffstat (limited to 'roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx')
-rw-r--r-- | roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/gpio.h | 32 | ||||
-rw-r--r-- | roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/soc.h | 74 |
2 files changed, 106 insertions, 0 deletions
diff --git a/roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/gpio.h b/roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/gpio.h new file mode 100644 index 000000000..8a6896e62 --- /dev/null +++ b/roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/gpio.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ + +#ifndef _MPC83XX_GPIO_H_ +#define _MPC83XX_GPIO_H_ + +/* + * The MCP83xx's 1-2 GPIO controllers each with 32 bits. + */ +#if defined(CONFIG_ARCH_MPC8313) || defined(CONFIG_ARCH_MPC8308) || \ + defined(CONFIG_ARCH_MPC8315) +#define MPC83XX_GPIO_CTRLRS 1 +#elif defined(CONFIG_ARCH_MPC834X) || defined(CONFIG_ARCH_MPC837X) || \ + defined(CONFIG_ARCH_MPC8309) +#define MPC83XX_GPIO_CTRLRS 2 +#else +#define MPC83XX_GPIO_CTRLRS 0 +#endif + +#define MAX_NUM_GPIOS (32 * MPC83XX_GPIO_CTRLRS) + +struct mpc8xxx_gpio_plat { + ulong addr; + unsigned long size; + uint ngpios; +}; + +#ifndef DM_GPIO +void mpc83xx_gpio_init_f(void); +void mpc83xx_gpio_init_r(void); +#endif /* DM_GPIO */ + +#endif /* MPC83XX_GPIO_H_ */ diff --git a/roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/soc.h b/roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/soc.h new file mode 100644 index 000000000..39bf7d5a7 --- /dev/null +++ b/roms/u-boot/arch/powerpc/include/asm/arch-mpc83xx/soc.h @@ -0,0 +1,74 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2018 + * Mario Six, Guntermann & Drunck GmbH, mario.six@gdsys.cc + */ + +#ifndef _MPC83XX_SOC_H_ +#define _MPC83XX_SOC_H_ + +enum soc_type { + SOC_MPC8308, + SOC_MPC8309, + SOC_MPC8313, + SOC_MPC8315, + SOC_MPC832X, + SOC_MPC8349, + SOC_MPC8360, + SOC_MPC8379, +}; + +bool mpc83xx_has_sdhc(int type) +{ + return (type == SOC_MPC8308) || + (type == SOC_MPC8309) || + (type == SOC_MPC8379); +} + +bool mpc83xx_has_tsec(int type) +{ + return (type == SOC_MPC8308) || + (type == SOC_MPC8313) || + (type == SOC_MPC8315) || + (type == SOC_MPC8349) || + (type == SOC_MPC8379); +} + +bool mpc83xx_has_pcie1(int type) +{ + return (type == SOC_MPC8308) || + (type == SOC_MPC8315) || + (type == SOC_MPC8379); +} + +bool mpc83xx_has_pcie2(int type) +{ + return (type == SOC_MPC8315) || + (type == SOC_MPC8379); +} + +bool mpc83xx_has_sata(int type) +{ + return (type == SOC_MPC8315) || + (type == SOC_MPC8379); +} + +bool mpc83xx_has_pci(int type) +{ + return type != SOC_MPC8308; +} + +bool mpc83xx_has_second_i2c(int type) +{ + return (type != SOC_MPC8315) && + (type != SOC_MPC832X); +} + +bool mpc83xx_has_quicc_engine(int type) +{ + return (type == SOC_MPC8309) || + (type == SOC_MPC832X) || + (type == SOC_MPC8360); +} + +#endif /* _MPC83XX_SOC_H_ */ |