162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef BCM63XX_GPIO_H 362306a36Sopenharmony_ci#define BCM63XX_GPIO_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/init.h> 662306a36Sopenharmony_ci#include <bcm63xx_cpu.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciint __init bcm63xx_gpio_init(void); 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistatic inline unsigned long bcm63xx_gpio_count(void) 1162306a36Sopenharmony_ci{ 1262306a36Sopenharmony_ci switch (bcm63xx_get_cpu_id()) { 1362306a36Sopenharmony_ci case BCM6328_CPU_ID: 1462306a36Sopenharmony_ci return 32; 1562306a36Sopenharmony_ci case BCM3368_CPU_ID: 1662306a36Sopenharmony_ci return 40; 1762306a36Sopenharmony_ci case BCM6338_CPU_ID: 1862306a36Sopenharmony_ci return 8; 1962306a36Sopenharmony_ci case BCM6345_CPU_ID: 2062306a36Sopenharmony_ci return 16; 2162306a36Sopenharmony_ci case BCM6358_CPU_ID: 2262306a36Sopenharmony_ci case BCM6368_CPU_ID: 2362306a36Sopenharmony_ci return 38; 2462306a36Sopenharmony_ci case BCM6362_CPU_ID: 2562306a36Sopenharmony_ci return 48; 2662306a36Sopenharmony_ci case BCM6348_CPU_ID: 2762306a36Sopenharmony_ci default: 2862306a36Sopenharmony_ci return 37; 2962306a36Sopenharmony_ci } 3062306a36Sopenharmony_ci} 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#define BCM63XX_GPIO_DIR_OUT 0x0 3362306a36Sopenharmony_ci#define BCM63XX_GPIO_DIR_IN 0x1 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#endif /* !BCM63XX_GPIO_H */ 36