diff options
Diffstat (limited to 'arch/arm/mach-shmobile/include/mach')
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/clock.h | 39 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 57 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/irqs.h | 5 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a73a4.h | 8 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7740.h | 83 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7778.h | 32 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7779.h | 336 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/r8a7790.h | 9 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/sh7372.h | 41 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/sh73a0.h | 372 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/uncompress.h | 2 | 
11 files changed, 269 insertions, 715 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/clock.h b/arch/arm/mach-shmobile/include/mach/clock.h new file mode 100644 index 00000000000..76ac61292e4 --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/clock.h @@ -0,0 +1,39 @@ +#ifndef CLOCK_H +#define CLOCK_H + +unsigned long shmobile_fixed_ratio_clk_recalc(struct clk *clk); +extern struct sh_clk_ops shmobile_fixed_ratio_clk_ops; + +/* clock ratio */ +struct clk_ratio { +	int mul; +	int div; +}; + +#define SH_CLK_RATIO(name, m, d)		\ +static struct clk_ratio name ##_ratio = {	\ +	.mul = m,				\ +	.div = d,				\ +} + +#define SH_FIXED_RATIO_CLKg(name, p, r)	\ +struct clk name = {			\ +	.parent	= &p,				\ +	.ops	= &shmobile_fixed_ratio_clk_ops,\ +	.priv	= &r ## _ratio,			\ +} + +#define SH_FIXED_RATIO_CLK(name, p, r)		\ +static SH_FIXED_RATIO_CLKg(name, p, r); + +#define SH_FIXED_RATIO_CLK_SET(name, p, m, d)	\ +	SH_CLK_RATIO(name, m, d);		\ +	SH_FIXED_RATIO_CLK(name, p, name); + +#define SH_CLK_SET_RATIO(p, m, d)	\ +{			\ +	(p)->mul = m;	\ +	(p)->div = d;	\ +} + +#endif diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index dfeca79e9e9..4634a5d4b63 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h @@ -2,63 +2,20 @@  #define __ARCH_MACH_COMMON_H  extern void shmobile_earlytimer_init(void); -extern struct sys_timer shmobile_timer; +extern void shmobile_timer_init(void);  extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz,  			 unsigned int mult, unsigned int div);  struct twd_local_timer;  extern void shmobile_setup_console(void);  extern void shmobile_secondary_vector(void); +extern void shmobile_secondary_vector_scu(void);  struct clk;  extern int shmobile_clk_init(void);  extern void shmobile_handle_irq_intc(struct pt_regs *);  extern struct platform_suspend_ops shmobile_suspend_ops;  struct cpuidle_driver; -struct cpuidle_device; -extern int shmobile_enter_wfi(struct cpuidle_device *dev, -			      struct cpuidle_driver *drv, int index);  extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv); -extern void sh7372_init_irq(void); -extern void sh7372_map_io(void); -extern void sh7372_add_early_devices(void); -extern void sh7372_add_standard_devices(void); -extern void sh7372_clock_init(void); -extern void sh7372_pinmux_init(void); -extern void sh7372_pm_init(void); -extern void sh7372_resume_core_standby_sysc(void); -extern int sh7372_do_idle_sysc(unsigned long sleep_mode); -extern struct clk sh7372_extal1_clk; -extern struct clk sh7372_extal2_clk; - -extern void sh73a0_init_irq(void); -extern void sh73a0_map_io(void); -extern void sh73a0_add_early_devices(void); -extern void sh73a0_add_standard_devices(void); -extern void sh73a0_clock_init(void); -extern void sh73a0_pinmux_init(void); -extern struct clk sh73a0_extal1_clk; -extern struct clk sh73a0_extal2_clk; -extern struct clk sh73a0_extcki_clk; -extern struct clk sh73a0_extalr_clk; - -extern void r8a7740_init_irq(void); -extern void r8a7740_map_io(void); -extern void r8a7740_add_early_devices(void); -extern void r8a7740_add_standard_devices(void); -extern void r8a7740_clock_init(u8 md_ck); -extern void r8a7740_pinmux_init(void); - -extern void r8a7779_init_irq(void); -extern void r8a7779_map_io(void); -extern void r8a7779_add_early_devices(void); -extern void r8a7779_add_standard_devices(void); -extern void r8a7779_clock_init(void); -extern void r8a7779_pinmux_init(void); -extern void r8a7779_pm_init(void); -extern void r8a7740_meram_workaround(void); - -extern void r8a7779_register_twd(void); -  #ifdef CONFIG_SUSPEND  int shmobile_suspend_init(void);  #else @@ -71,15 +28,7 @@ int shmobile_cpuidle_init(void);  static inline int shmobile_cpuidle_init(void) { return 0; }  #endif -extern void shmobile_cpu_die(unsigned int cpu); -extern int shmobile_cpu_disable(unsigned int cpu); - -#ifdef CONFIG_HOTPLUG_CPU -extern int shmobile_cpu_is_dead(unsigned int cpu); -#else -static inline int shmobile_cpu_is_dead(unsigned int cpu) { return 1; } -#endif - +extern void __iomem *shmobile_scu_base;  extern void shmobile_smp_init_cpus(unsigned int ncores);  static inline void __init shmobile_init_late(void) diff --git a/arch/arm/mach-shmobile/include/mach/irqs.h b/arch/arm/mach-shmobile/include/mach/irqs.h index 06a5da3c305..b2074e2acb1 100644 --- a/arch/arm/mach-shmobile/include/mach/irqs.h +++ b/arch/arm/mach-shmobile/include/mach/irqs.h @@ -5,10 +5,15 @@  /* GIC */  #define gic_spi(nr)		((nr) + 32) +#define gic_iid(nr)		(nr) /* ICCIAR / interrupt ID */  /* INTCS */  #define INTCS_VECT_BASE		0x3400  #define INTCS_VECT(n, vect)	INTC_VECT((n), INTCS_VECT_BASE + (vect))  #define intcs_evt2irq(evt)	evt2irq(INTCS_VECT_BASE + (evt)) +/* External IRQ pins */ +#define IRQPIN_BASE		2000 +#define irq_pin(nr)		((nr) + IRQPIN_BASE) +  #endif /* __ASM_MACH_IRQS_H */ diff --git a/arch/arm/mach-shmobile/include/mach/r8a73a4.h b/arch/arm/mach-shmobile/include/mach/r8a73a4.h new file mode 100644 index 00000000000..f043103e32c --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/r8a73a4.h @@ -0,0 +1,8 @@ +#ifndef __ASM_R8A73A4_H__ +#define __ASM_R8A73A4_H__ + +void r8a73a4_add_standard_devices(void); +void r8a73a4_clock_init(void); +void r8a73a4_pinmux_init(void); + +#endif /* __ASM_R8A73A4_H__ */ diff --git a/arch/arm/mach-shmobile/include/mach/r8a7740.h b/arch/arm/mach-shmobile/include/mach/r8a7740.h index 59d252f4cf9..abdc4d4efa2 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7740.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7740.h @@ -241,48 +241,9 @@ enum {  	/* LCD0 */  	GPIO_FN_LCDC0_SELECT, -	GPIO_FN_LCD0_D0,	GPIO_FN_LCD0_D1,	GPIO_FN_LCD0_D2, -	GPIO_FN_LCD0_D3,	GPIO_FN_LCD0_D4,	GPIO_FN_LCD0_D5, -	GPIO_FN_LCD0_D6,	GPIO_FN_LCD0_D7,	GPIO_FN_LCD0_D8, -	GPIO_FN_LCD0_D9,	GPIO_FN_LCD0_D10,	GPIO_FN_LCD0_D11, -	GPIO_FN_LCD0_D12,	GPIO_FN_LCD0_D13,	GPIO_FN_LCD0_D14, -	GPIO_FN_LCD0_D15,	GPIO_FN_LCD0_D16,	GPIO_FN_LCD0_D17, -	GPIO_FN_LCD0_DON,	GPIO_FN_LCD0_VCPWC,	GPIO_FN_LCD0_VEPWC, - -	GPIO_FN_LCD0_DCK,	GPIO_FN_LCD0_VSYN, /* for RGB */ -	GPIO_FN_LCD0_HSYN,	GPIO_FN_LCD0_DISP, /* for RGB */ - -	GPIO_FN_LCD0_WR,	GPIO_FN_LCD0_RD, /* for SYS */ -	GPIO_FN_LCD0_CS,	GPIO_FN_LCD0_RS, /* for SYS */ - -	GPIO_FN_LCD0_D18_PORT163,	GPIO_FN_LCD0_D19_PORT162, -	GPIO_FN_LCD0_D20_PORT161,	GPIO_FN_LCD0_D21_PORT158, -	GPIO_FN_LCD0_D22_PORT160,	GPIO_FN_LCD0_D23_PORT159, -	GPIO_FN_LCD0_LCLK_PORT165,	 /* MSEL5CR_6_1 */ - -	GPIO_FN_LCD0_D18_PORT40,	GPIO_FN_LCD0_D19_PORT4, -	GPIO_FN_LCD0_D20_PORT3,		GPIO_FN_LCD0_D21_PORT2, -	GPIO_FN_LCD0_D22_PORT0,		GPIO_FN_LCD0_D23_PORT1, -	GPIO_FN_LCD0_LCLK_PORT102,	/* MSEL5CR_6_0 */  	/* LCD1 */  	GPIO_FN_LCDC1_SELECT, -	GPIO_FN_LCD1_D0,	GPIO_FN_LCD1_D1,	GPIO_FN_LCD1_D2, -	GPIO_FN_LCD1_D3,	GPIO_FN_LCD1_D4,	GPIO_FN_LCD1_D5, -	GPIO_FN_LCD1_D6,	GPIO_FN_LCD1_D7,	GPIO_FN_LCD1_D8, -	GPIO_FN_LCD1_D9,	GPIO_FN_LCD1_D10,	GPIO_FN_LCD1_D11, -	GPIO_FN_LCD1_D12,	GPIO_FN_LCD1_D13,	GPIO_FN_LCD1_D14, -	GPIO_FN_LCD1_D15,	GPIO_FN_LCD1_D16,	GPIO_FN_LCD1_D17, -	GPIO_FN_LCD1_D18,	GPIO_FN_LCD1_D19,	GPIO_FN_LCD1_D20, -	GPIO_FN_LCD1_D21,	GPIO_FN_LCD1_D22,	GPIO_FN_LCD1_D23, -	GPIO_FN_LCD1_DON,	GPIO_FN_LCD1_VCPWC, -	GPIO_FN_LCD1_LCLK,	GPIO_FN_LCD1_VEPWC, - -	GPIO_FN_LCD1_DCK,	GPIO_FN_LCD1_VSYN, /* for RGB */ -	GPIO_FN_LCD1_HSYN,	GPIO_FN_LCD1_DISP, /* for RGB */ - -	GPIO_FN_LCD1_WR,	GPIO_FN_LCD1_RD, /* for SYS */ -	GPIO_FN_LCD1_CS,	GPIO_FN_LCD1_RS, /* for SYS */  	/* RSPI */  	GPIO_FN_RSPI_SSL0_A,	GPIO_FN_RSPI_SSL1_A, @@ -346,26 +307,6 @@ enum {  	GPIO_FN_SIM_D_PORT22, /* SIM_D  Port 22/199 */  	GPIO_FN_SIM_D_PORT199, -	/* SDHI0 */ -	GPIO_FN_SDHI0_D0,	GPIO_FN_SDHI0_D1,	GPIO_FN_SDHI0_D2, -	GPIO_FN_SDHI0_D3,	GPIO_FN_SDHI0_CD,	GPIO_FN_SDHI0_WP, -	GPIO_FN_SDHI0_CMD,	GPIO_FN_SDHI0_CLK, - -	/* SDHI1 */ -	GPIO_FN_SDHI1_D0,	GPIO_FN_SDHI1_D1,	GPIO_FN_SDHI1_D2, -	GPIO_FN_SDHI1_D3,	GPIO_FN_SDHI1_CD,	GPIO_FN_SDHI1_WP, -	GPIO_FN_SDHI1_CMD,	GPIO_FN_SDHI1_CLK, - -	/* SDHI2 */ -	GPIO_FN_SDHI2_D0,	GPIO_FN_SDHI2_D1,	GPIO_FN_SDHI2_D2, -	GPIO_FN_SDHI2_D3,	GPIO_FN_SDHI2_CLK,	GPIO_FN_SDHI2_CMD, - -	GPIO_FN_SDHI2_CD_PORT24, /* MSEL5CR_19_0 */ -	GPIO_FN_SDHI2_WP_PORT25, - -	GPIO_FN_SDHI2_WP_PORT177, /* MSEL5CR_19_1 */ -	GPIO_FN_SDHI2_CD_PORT202, -  	/* MSIOF2 */  	GPIO_FN_MSIOF2_TXD,	GPIO_FN_MSIOF2_RXD,	GPIO_FN_MSIOF2_TSCK,  	GPIO_FN_MSIOF2_SS2,	GPIO_FN_MSIOF2_TSYNC,	GPIO_FN_MSIOF2_SS1, @@ -417,21 +358,6 @@ enum {  	GPIO_FN_MEMC_DREQ1,  	GPIO_FN_MEMC_A0, -	/* MMC */ -	GPIO_FN_MMC0_D0_PORT68,		GPIO_FN_MMC0_D1_PORT69, -	GPIO_FN_MMC0_D2_PORT70,		GPIO_FN_MMC0_D3_PORT71, -	GPIO_FN_MMC0_D4_PORT72,		GPIO_FN_MMC0_D5_PORT73, -	GPIO_FN_MMC0_D6_PORT74,		GPIO_FN_MMC0_D7_PORT75, -	GPIO_FN_MMC0_CLK_PORT66, -	GPIO_FN_MMC0_CMD_PORT67,	/* MSEL4CR_15_0 */ - -	GPIO_FN_MMC1_D0_PORT149,	GPIO_FN_MMC1_D1_PORT148, -	GPIO_FN_MMC1_D2_PORT147,	GPIO_FN_MMC1_D3_PORT146, -	GPIO_FN_MMC1_D4_PORT145,	GPIO_FN_MMC1_D5_PORT144, -	GPIO_FN_MMC1_D6_PORT143,	GPIO_FN_MMC1_D7_PORT142, -	GPIO_FN_MMC1_CLK_PORT103, -	GPIO_FN_MMC1_CMD_PORT104,	/* MSEL4CR_15_1 */ -  	/* MSIOF0 */  	GPIO_FN_MSIOF0_SS1,	GPIO_FN_MSIOF0_SS2,  	GPIO_FN_MSIOF0_RXD,	GPIO_FN_MSIOF0_TXD, @@ -606,6 +532,15 @@ enum {  	SHDMA_SLAVE_USBHS_RX,  }; +extern void r8a7740_meram_workaround(void); +extern void r8a7740_init_irq(void); +extern void r8a7740_map_io(void); +extern void r8a7740_add_early_devices(void); +extern void r8a7740_add_standard_devices(void); +extern void r8a7740_clock_init(u8 md_ck); +extern void r8a7740_pinmux_init(void); +extern void r8a7740_pm_init(void); +  #ifdef CONFIG_PM  extern void __init r8a7740_init_pm_domains(void);  #else diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h new file mode 100644 index 00000000000..951149e6bcc --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2013  Renesas Solutions Corp. + * Copyright (C) 2013  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA + */ +#ifndef __ASM_R8A7778_H__ +#define __ASM_R8A7778_H__ + +#include <linux/sh_eth.h> + +extern void r8a7778_add_standard_devices(void); +extern void r8a7778_add_standard_devices_dt(void); +extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); +extern void r8a7778_init_delay(void); +extern void r8a7778_init_irq(void); +extern void r8a7778_init_irq_dt(void); +extern void r8a7778_clock_init(void); +extern void r8a7778_init_irq_extpin(int irlm); + +#endif /* __ASM_R8A7778_H__ */ diff --git a/arch/arm/mach-shmobile/include/mach/r8a7779.h b/arch/arm/mach-shmobile/include/mach/r8a7779.h index 8ab0cd6ad6b..188b295938a 100644 --- a/arch/arm/mach-shmobile/include/mach/r8a7779.h +++ b/arch/arm/mach-shmobile/include/mach/r8a7779.h @@ -3,327 +3,7 @@  #include <linux/sh_clk.h>  #include <linux/pm_domain.h> - -/* Pin Function Controller: - * GPIO_FN_xx - GPIO used to select pin function - * GPIO_GP_x_x - GPIO mapped to real I/O pin on CPU - */ -enum { -	GPIO_GP_0_0, GPIO_GP_0_1, GPIO_GP_0_2, GPIO_GP_0_3, -	GPIO_GP_0_4, GPIO_GP_0_5, GPIO_GP_0_6, GPIO_GP_0_7, -	GPIO_GP_0_8, GPIO_GP_0_9, GPIO_GP_0_10, GPIO_GP_0_11, -	GPIO_GP_0_12, GPIO_GP_0_13, GPIO_GP_0_14, GPIO_GP_0_15, -	GPIO_GP_0_16, GPIO_GP_0_17, GPIO_GP_0_18, GPIO_GP_0_19, -	GPIO_GP_0_20, GPIO_GP_0_21, GPIO_GP_0_22, GPIO_GP_0_23, -	GPIO_GP_0_24, GPIO_GP_0_25, GPIO_GP_0_26, GPIO_GP_0_27, -	GPIO_GP_0_28, GPIO_GP_0_29, GPIO_GP_0_30, GPIO_GP_0_31, - -	GPIO_GP_1_0, GPIO_GP_1_1, GPIO_GP_1_2, GPIO_GP_1_3, -	GPIO_GP_1_4, GPIO_GP_1_5, GPIO_GP_1_6, GPIO_GP_1_7, -	GPIO_GP_1_8, GPIO_GP_1_9, GPIO_GP_1_10, GPIO_GP_1_11, -	GPIO_GP_1_12, GPIO_GP_1_13, GPIO_GP_1_14, GPIO_GP_1_15, -	GPIO_GP_1_16, GPIO_GP_1_17, GPIO_GP_1_18, GPIO_GP_1_19, -	GPIO_GP_1_20, GPIO_GP_1_21, GPIO_GP_1_22, GPIO_GP_1_23, -	GPIO_GP_1_24, GPIO_GP_1_25, GPIO_GP_1_26, GPIO_GP_1_27, -	GPIO_GP_1_28, GPIO_GP_1_29, GPIO_GP_1_30, GPIO_GP_1_31, - -	GPIO_GP_2_0, GPIO_GP_2_1, GPIO_GP_2_2, GPIO_GP_2_3, -	GPIO_GP_2_4, GPIO_GP_2_5, GPIO_GP_2_6, GPIO_GP_2_7, -	GPIO_GP_2_8, GPIO_GP_2_9, GPIO_GP_2_10, GPIO_GP_2_11, -	GPIO_GP_2_12, GPIO_GP_2_13, GPIO_GP_2_14, GPIO_GP_2_15, -	GPIO_GP_2_16, GPIO_GP_2_17, GPIO_GP_2_18, GPIO_GP_2_19, -	GPIO_GP_2_20, GPIO_GP_2_21, GPIO_GP_2_22, GPIO_GP_2_23, -	GPIO_GP_2_24, GPIO_GP_2_25, GPIO_GP_2_26, GPIO_GP_2_27, -	GPIO_GP_2_28, GPIO_GP_2_29, GPIO_GP_2_30, GPIO_GP_2_31, - -	GPIO_GP_3_0, GPIO_GP_3_1, GPIO_GP_3_2, GPIO_GP_3_3, -	GPIO_GP_3_4, GPIO_GP_3_5, GPIO_GP_3_6, GPIO_GP_3_7, -	GPIO_GP_3_8, GPIO_GP_3_9, GPIO_GP_3_10, GPIO_GP_3_11, -	GPIO_GP_3_12, GPIO_GP_3_13, GPIO_GP_3_14, GPIO_GP_3_15, -	GPIO_GP_3_16, GPIO_GP_3_17, GPIO_GP_3_18, GPIO_GP_3_19, -	GPIO_GP_3_20, GPIO_GP_3_21, GPIO_GP_3_22, GPIO_GP_3_23, -	GPIO_GP_3_24, GPIO_GP_3_25, GPIO_GP_3_26, GPIO_GP_3_27, -	GPIO_GP_3_28, GPIO_GP_3_29, GPIO_GP_3_30, GPIO_GP_3_31, - -	GPIO_GP_4_0, GPIO_GP_4_1, GPIO_GP_4_2, GPIO_GP_4_3, -	GPIO_GP_4_4, GPIO_GP_4_5, GPIO_GP_4_6, GPIO_GP_4_7, -	GPIO_GP_4_8, GPIO_GP_4_9, GPIO_GP_4_10, GPIO_GP_4_11, -	GPIO_GP_4_12, GPIO_GP_4_13, GPIO_GP_4_14, GPIO_GP_4_15, -	GPIO_GP_4_16, GPIO_GP_4_17, GPIO_GP_4_18, GPIO_GP_4_19, -	GPIO_GP_4_20, GPIO_GP_4_21, GPIO_GP_4_22, GPIO_GP_4_23, -	GPIO_GP_4_24, GPIO_GP_4_25, GPIO_GP_4_26, GPIO_GP_4_27, -	GPIO_GP_4_28, GPIO_GP_4_29, GPIO_GP_4_30, GPIO_GP_4_31, - -	GPIO_GP_5_0, GPIO_GP_5_1, GPIO_GP_5_2, GPIO_GP_5_3, -	GPIO_GP_5_4, GPIO_GP_5_5, GPIO_GP_5_6, GPIO_GP_5_7, -	GPIO_GP_5_8, GPIO_GP_5_9, GPIO_GP_5_10, GPIO_GP_5_11, -	GPIO_GP_5_12, GPIO_GP_5_13, GPIO_GP_5_14, GPIO_GP_5_15, -	GPIO_GP_5_16, GPIO_GP_5_17, GPIO_GP_5_18, GPIO_GP_5_19, -	GPIO_GP_5_20, GPIO_GP_5_21, GPIO_GP_5_22, GPIO_GP_5_23, -	GPIO_GP_5_24, GPIO_GP_5_25, GPIO_GP_5_26, GPIO_GP_5_27, -	GPIO_GP_5_28, GPIO_GP_5_29, GPIO_GP_5_30, GPIO_GP_5_31, - -	GPIO_GP_6_0, GPIO_GP_6_1, GPIO_GP_6_2, GPIO_GP_6_3, -	GPIO_GP_6_4, GPIO_GP_6_5, GPIO_GP_6_6, GPIO_GP_6_7, -	GPIO_GP_6_8, - -	GPIO_FN_AVS1, GPIO_FN_AVS2, GPIO_FN_A17, GPIO_FN_A18, -	GPIO_FN_A19, - -	/* IPSR0 */ -	GPIO_FN_USB_PENC2, GPIO_FN_SCK0, GPIO_FN_PWM1, GPIO_FN_PWMFSW0, -	GPIO_FN_SCIF_CLK, GPIO_FN_TCLK0_C, GPIO_FN_BS, GPIO_FN_SD1_DAT2, -	GPIO_FN_MMC0_D2, GPIO_FN_FD2, GPIO_FN_ATADIR0, GPIO_FN_SDSELF, -	GPIO_FN_HCTS1, GPIO_FN_TX4_C, GPIO_FN_A0, GPIO_FN_SD1_DAT3, -	GPIO_FN_MMC0_D3, GPIO_FN_FD3, GPIO_FN_A20, GPIO_FN_TX5_D, -	GPIO_FN_HSPI_TX2_B, GPIO_FN_A21, GPIO_FN_SCK5_D, GPIO_FN_HSPI_CLK2_B, -	GPIO_FN_A22, GPIO_FN_RX5_D, GPIO_FN_HSPI_RX2_B, GPIO_FN_VI1_R0, -	GPIO_FN_A23, GPIO_FN_FCLE, GPIO_FN_HSPI_CLK2, GPIO_FN_VI1_R1, -	GPIO_FN_A24, GPIO_FN_SD1_CD, GPIO_FN_MMC0_D4, GPIO_FN_FD4, -	GPIO_FN_HSPI_CS2, GPIO_FN_VI1_R2, GPIO_FN_SSI_WS78_B, GPIO_FN_A25, -	GPIO_FN_SD1_WP, GPIO_FN_MMC0_D5, GPIO_FN_FD5, GPIO_FN_HSPI_RX2, -	GPIO_FN_VI1_R3, GPIO_FN_TX5_B, GPIO_FN_SSI_SDATA7_B, GPIO_FN_CTS0_B, -	GPIO_FN_CLKOUT, GPIO_FN_TX3C_IRDA_TX_C, GPIO_FN_PWM0_B, GPIO_FN_CS0, -	GPIO_FN_HSPI_CS2_B, GPIO_FN_CS1_A26, GPIO_FN_HSPI_TX2, -	GPIO_FN_SDSELF_B, GPIO_FN_RD_WR, GPIO_FN_FWE, GPIO_FN_ATAG0, -	GPIO_FN_VI1_R7, GPIO_FN_HRTS1, GPIO_FN_RX4_C, - -	/* IPSR1 */ -	GPIO_FN_EX_CS0, GPIO_FN_RX3_C_IRDA_RX_C, GPIO_FN_MMC0_D6, -	GPIO_FN_FD6, GPIO_FN_EX_CS1, GPIO_FN_MMC0_D7, GPIO_FN_FD7, -	GPIO_FN_EX_CS2, GPIO_FN_SD1_CLK, GPIO_FN_MMC0_CLK, GPIO_FN_FALE, -	GPIO_FN_ATACS00, GPIO_FN_EX_CS3, GPIO_FN_SD1_CMD, GPIO_FN_MMC0_CMD, -	GPIO_FN_FRE, GPIO_FN_ATACS10, GPIO_FN_VI1_R4, GPIO_FN_RX5_B, -	GPIO_FN_HSCK1, GPIO_FN_SSI_SDATA8_B, GPIO_FN_RTS0_B_TANS_B, -	GPIO_FN_SSI_SDATA9, GPIO_FN_EX_CS4, GPIO_FN_SD1_DAT0, GPIO_FN_MMC0_D0, -	GPIO_FN_FD0, GPIO_FN_ATARD0, GPIO_FN_VI1_R5, GPIO_FN_SCK5_B, -	GPIO_FN_HTX1, GPIO_FN_TX2_E, GPIO_FN_TX0_B, GPIO_FN_SSI_SCK9, -	GPIO_FN_EX_CS5, GPIO_FN_SD1_DAT1, GPIO_FN_MMC0_D1, GPIO_FN_FD1, -	GPIO_FN_ATAWR0, GPIO_FN_VI1_R6, GPIO_FN_HRX1, GPIO_FN_RX2_E, -	GPIO_FN_RX0_B, GPIO_FN_SSI_WS9, GPIO_FN_MLB_CLK, GPIO_FN_PWM2, -	GPIO_FN_SCK4, GPIO_FN_MLB_SIG, GPIO_FN_PWM3, GPIO_FN_TX4, -	GPIO_FN_MLB_DAT, GPIO_FN_PWM4, GPIO_FN_RX4, GPIO_FN_HTX0, -	GPIO_FN_TX1, GPIO_FN_SDATA, GPIO_FN_CTS0_C, GPIO_FN_SUB_TCK, -	GPIO_FN_CC5_STATE2, GPIO_FN_CC5_STATE10, GPIO_FN_CC5_STATE18, -	GPIO_FN_CC5_STATE26, GPIO_FN_CC5_STATE34, - -	/* IPSR2 */ -	GPIO_FN_HRX0, GPIO_FN_RX1, GPIO_FN_SCKZ, GPIO_FN_RTS0_C_TANS_C, -	GPIO_FN_SUB_TDI, GPIO_FN_CC5_STATE3, GPIO_FN_CC5_STATE11, -	GPIO_FN_CC5_STATE19, GPIO_FN_CC5_STATE27, GPIO_FN_CC5_STATE35, -	GPIO_FN_HSCK0, GPIO_FN_SCK1, GPIO_FN_MTS, GPIO_FN_PWM5, -	GPIO_FN_SCK0_C, GPIO_FN_SSI_SDATA9_B, GPIO_FN_SUB_TDO, -	GPIO_FN_CC5_STATE0, GPIO_FN_CC5_STATE8, GPIO_FN_CC5_STATE16, -	GPIO_FN_CC5_STATE24, GPIO_FN_CC5_STATE32, GPIO_FN_HCTS0, GPIO_FN_CTS1, -	GPIO_FN_STM, GPIO_FN_PWM0_D, GPIO_FN_RX0_C, GPIO_FN_SCIF_CLK_C, -	GPIO_FN_SUB_TRST, GPIO_FN_TCLK1_B, GPIO_FN_CC5_OSCOUT, GPIO_FN_HRTS0, -	GPIO_FN_RTS1_TANS, GPIO_FN_MDATA, GPIO_FN_TX0_C, GPIO_FN_SUB_TMS, -	GPIO_FN_CC5_STATE1, GPIO_FN_CC5_STATE9, GPIO_FN_CC5_STATE17, -	GPIO_FN_CC5_STATE25, GPIO_FN_CC5_STATE33, GPIO_FN_DU0_DR0, -	GPIO_FN_LCDOUT0, GPIO_FN_DREQ0, GPIO_FN_GPS_CLK_B, GPIO_FN_AUDATA0, -	GPIO_FN_TX5_C, GPIO_FN_DU0_DR1,	GPIO_FN_LCDOUT1, GPIO_FN_DACK0, -	GPIO_FN_DRACK0, GPIO_FN_GPS_SIGN_B, GPIO_FN_AUDATA1, GPIO_FN_RX5_C, -	GPIO_FN_DU0_DR2, GPIO_FN_LCDOUT2, GPIO_FN_DU0_DR3, GPIO_FN_LCDOUT3, -	GPIO_FN_DU0_DR4, GPIO_FN_LCDOUT4, GPIO_FN_DU0_DR5, GPIO_FN_LCDOUT5, -	GPIO_FN_DU0_DR6, GPIO_FN_LCDOUT6, GPIO_FN_DU0_DR7, GPIO_FN_LCDOUT7, -	GPIO_FN_DU0_DG0, GPIO_FN_LCDOUT8, GPIO_FN_DREQ1, GPIO_FN_SCL2, -	GPIO_FN_AUDATA2, - -	/* IPSR3 */ -	GPIO_FN_DU0_DG1, GPIO_FN_LCDOUT9, GPIO_FN_DACK1, GPIO_FN_SDA2, -	GPIO_FN_AUDATA3, GPIO_FN_DU0_DG2, GPIO_FN_LCDOUT10, GPIO_FN_DU0_DG3, -	GPIO_FN_LCDOUT11, GPIO_FN_DU0_DG4, GPIO_FN_LCDOUT12, GPIO_FN_DU0_DG5, -	GPIO_FN_LCDOUT13, GPIO_FN_DU0_DG6, GPIO_FN_LCDOUT14, GPIO_FN_DU0_DG7, -	GPIO_FN_LCDOUT15, GPIO_FN_DU0_DB0, GPIO_FN_LCDOUT16, GPIO_FN_EX_WAIT1, -	GPIO_FN_SCL1, GPIO_FN_TCLK1, GPIO_FN_AUDATA4, GPIO_FN_DU0_DB1, -	GPIO_FN_LCDOUT17, GPIO_FN_EX_WAIT2, GPIO_FN_SDA1, GPIO_FN_GPS_MAG_B, -	GPIO_FN_AUDATA5, GPIO_FN_SCK5_C, GPIO_FN_DU0_DB2, GPIO_FN_LCDOUT18, -	GPIO_FN_DU0_DB3, GPIO_FN_LCDOUT19, GPIO_FN_DU0_DB4, GPIO_FN_LCDOUT20, -	GPIO_FN_DU0_DB5, GPIO_FN_LCDOUT21, GPIO_FN_DU0_DB6, GPIO_FN_LCDOUT22, -	GPIO_FN_DU0_DB7, GPIO_FN_LCDOUT23, GPIO_FN_DU0_DOTCLKIN, -	GPIO_FN_QSTVA_QVS, GPIO_FN_TX3_D_IRDA_TX_D, GPIO_FN_SCL3_B, -	GPIO_FN_DU0_DOTCLKOUT0, GPIO_FN_QCLK, GPIO_FN_DU0_DOTCLKOUT1, -	GPIO_FN_QSTVB_QVE, GPIO_FN_RX3_D_IRDA_RX_D, GPIO_FN_SDA3_B, -	GPIO_FN_SDA2_C, GPIO_FN_DACK0_B, GPIO_FN_DRACK0_B, -	GPIO_FN_DU0_EXHSYNC_DU0_HSYNC, GPIO_FN_QSTH_QHS, -	GPIO_FN_DU0_EXVSYNC_DU0_VSYNC, GPIO_FN_QSTB_QHE, -	GPIO_FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, GPIO_FN_QCPV_QDE, -	GPIO_FN_CAN1_TX, GPIO_FN_TX2_C, GPIO_FN_SCL2_C, GPIO_FN_REMOCON, - -	/* IPSR4 */ -	GPIO_FN_DU0_DISP, GPIO_FN_QPOLA, GPIO_FN_CAN_CLK_C, GPIO_FN_SCK2_C, -	GPIO_FN_DU0_CDE, GPIO_FN_QPOLB, GPIO_FN_CAN1_RX, GPIO_FN_RX2_C, -	GPIO_FN_DREQ0_B, GPIO_FN_SSI_SCK78_B, GPIO_FN_SCK0_B, GPIO_FN_DU1_DR0, -	GPIO_FN_VI2_DATA0_VI2_B0, GPIO_FN_PWM6, GPIO_FN_SD3_CLK, -	GPIO_FN_TX3_E_IRDA_TX_E, GPIO_FN_AUDCK, GPIO_FN_PWMFSW0_B, -	GPIO_FN_DU1_DR1, GPIO_FN_VI2_DATA1_VI2_B1, GPIO_FN_PWM0, -	GPIO_FN_SD3_CMD, GPIO_FN_RX3_E_IRDA_RX_E, GPIO_FN_AUDSYNC, -	GPIO_FN_CTS0_D, GPIO_FN_DU1_DR2, GPIO_FN_VI2_G0, GPIO_FN_DU1_DR3, -	GPIO_FN_VI2_G1, GPIO_FN_DU1_DR4, GPIO_FN_VI2_G2, GPIO_FN_DU1_DR5, -	GPIO_FN_VI2_G3, GPIO_FN_DU1_DR6, GPIO_FN_VI2_G4, GPIO_FN_DU1_DR7, -	GPIO_FN_VI2_G5, GPIO_FN_DU1_DG0, GPIO_FN_VI2_DATA2_VI2_B2, -	GPIO_FN_SCL1_B, GPIO_FN_SD3_DAT2, GPIO_FN_SCK3_E, GPIO_FN_AUDATA6, -	GPIO_FN_TX0_D, GPIO_FN_DU1_DG1, GPIO_FN_VI2_DATA3_VI2_B3, -	GPIO_FN_SDA1_B, GPIO_FN_SD3_DAT3, GPIO_FN_SCK5, GPIO_FN_AUDATA7, -	GPIO_FN_RX0_D, GPIO_FN_DU1_DG2,	GPIO_FN_VI2_G6, GPIO_FN_DU1_DG3, -	GPIO_FN_VI2_G7, GPIO_FN_DU1_DG4, GPIO_FN_VI2_R0, GPIO_FN_DU1_DG5, -	GPIO_FN_VI2_R1, GPIO_FN_DU1_DG6, GPIO_FN_VI2_R2, GPIO_FN_DU1_DG7, -	GPIO_FN_VI2_R3, GPIO_FN_DU1_DB0, GPIO_FN_VI2_DATA4_VI2_B4, -	GPIO_FN_SCL2_B, GPIO_FN_SD3_DAT0, GPIO_FN_TX5, GPIO_FN_SCK0_D, - -	/* IPSR5 */ -	GPIO_FN_DU1_DB1, GPIO_FN_VI2_DATA5_VI2_B5, GPIO_FN_SDA2_B, -	GPIO_FN_SD3_DAT1, GPIO_FN_RX5, GPIO_FN_RTS0_D_TANS_D, -	GPIO_FN_DU1_DB2, GPIO_FN_VI2_R4, GPIO_FN_DU1_DB3, GPIO_FN_VI2_R5, -	GPIO_FN_DU1_DB4, GPIO_FN_VI2_R6, GPIO_FN_DU1_DB5, GPIO_FN_VI2_R7, -	GPIO_FN_DU1_DB6, GPIO_FN_SCL2_D, GPIO_FN_DU1_DB7, GPIO_FN_SDA2_D, -	GPIO_FN_DU1_DOTCLKIN, GPIO_FN_VI2_CLKENB, GPIO_FN_HSPI_CS1, -	GPIO_FN_SCL1_D, GPIO_FN_DU1_DOTCLKOUT, GPIO_FN_VI2_FIELD, -	GPIO_FN_SDA1_D, GPIO_FN_DU1_EXHSYNC_DU1_HSYNC, GPIO_FN_VI2_HSYNC, -	GPIO_FN_VI3_HSYNC, GPIO_FN_DU1_EXVSYNC_DU1_VSYNC, GPIO_FN_VI2_VSYNC, -	GPIO_FN_VI3_VSYNC, GPIO_FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, -	GPIO_FN_VI2_CLK, GPIO_FN_TX3_B_IRDA_TX_B, GPIO_FN_SD3_CD, -	GPIO_FN_HSPI_TX1, GPIO_FN_VI1_CLKENB, GPIO_FN_VI3_CLKENB, -	GPIO_FN_AUDIO_CLKC, GPIO_FN_TX2_D, GPIO_FN_SPEEDIN, -	GPIO_FN_GPS_SIGN_D, GPIO_FN_DU1_DISP, GPIO_FN_VI2_DATA6_VI2_B6, -	GPIO_FN_TCLK0, GPIO_FN_QSTVA_B_QVS_B, GPIO_FN_HSPI_CLK1, -	GPIO_FN_SCK2_D, GPIO_FN_AUDIO_CLKOUT_B, GPIO_FN_GPS_MAG_D, -	GPIO_FN_DU1_CDE, GPIO_FN_VI2_DATA7_VI2_B7, GPIO_FN_RX3_B_IRDA_RX_B, -	GPIO_FN_SD3_WP, GPIO_FN_HSPI_RX1, GPIO_FN_VI1_FIELD, GPIO_FN_VI3_FIELD, -	GPIO_FN_AUDIO_CLKOUT, GPIO_FN_RX2_D, GPIO_FN_GPS_CLK_C, -	GPIO_FN_GPS_CLK_D, GPIO_FN_AUDIO_CLKA, GPIO_FN_CAN_TXCLK, -	GPIO_FN_AUDIO_CLKB, GPIO_FN_USB_OVC2, GPIO_FN_CAN_DEBUGOUT0, -	GPIO_FN_MOUT0, - -	/* IPSR6 */ -	GPIO_FN_SSI_SCK0129, GPIO_FN_CAN_DEBUGOUT1, GPIO_FN_MOUT1, -	GPIO_FN_SSI_WS0129, GPIO_FN_CAN_DEBUGOUT2, GPIO_FN_MOUT2, -	GPIO_FN_SSI_SDATA0, GPIO_FN_CAN_DEBUGOUT3, GPIO_FN_MOUT5, -	GPIO_FN_SSI_SDATA1, GPIO_FN_CAN_DEBUGOUT4, GPIO_FN_MOUT6, -	GPIO_FN_SSI_SDATA2, GPIO_FN_CAN_DEBUGOUT5, GPIO_FN_SSI_SCK34, -	GPIO_FN_CAN_DEBUGOUT6, GPIO_FN_CAN0_TX_B, GPIO_FN_IERX, -	GPIO_FN_SSI_SCK9_C, GPIO_FN_SSI_WS34, GPIO_FN_CAN_DEBUGOUT7, -	GPIO_FN_CAN0_RX_B, GPIO_FN_IETX, GPIO_FN_SSI_WS9_C, -	GPIO_FN_SSI_SDATA3, GPIO_FN_PWM0_C, GPIO_FN_CAN_DEBUGOUT8, -	GPIO_FN_CAN_CLK_B, GPIO_FN_IECLK, GPIO_FN_SCIF_CLK_B, GPIO_FN_TCLK0_B, -	GPIO_FN_SSI_SDATA4, GPIO_FN_CAN_DEBUGOUT9, GPIO_FN_SSI_SDATA9_C, -	GPIO_FN_SSI_SCK5, GPIO_FN_ADICLK, GPIO_FN_CAN_DEBUGOUT10, -	GPIO_FN_SCK3, GPIO_FN_TCLK0_D, GPIO_FN_SSI_WS5, GPIO_FN_ADICS_SAMP, -	GPIO_FN_CAN_DEBUGOUT11, GPIO_FN_TX3_IRDA_TX, GPIO_FN_SSI_SDATA5, -	GPIO_FN_ADIDATA, GPIO_FN_CAN_DEBUGOUT12, GPIO_FN_RX3_IRDA_RX, -	GPIO_FN_SSI_SCK6, GPIO_FN_ADICHS0, GPIO_FN_CAN0_TX, GPIO_FN_IERX_B, - -	/* IPSR7 */ -	GPIO_FN_SSI_WS6, GPIO_FN_ADICHS1, GPIO_FN_CAN0_RX, GPIO_FN_IETX_B, -	GPIO_FN_SSI_SDATA6, GPIO_FN_ADICHS2, GPIO_FN_CAN_CLK, GPIO_FN_IECLK_B, -	GPIO_FN_SSI_SCK78, GPIO_FN_CAN_DEBUGOUT13, GPIO_FN_IRQ0_B, -	GPIO_FN_SSI_SCK9_B, GPIO_FN_HSPI_CLK1_C, GPIO_FN_SSI_WS78, -	GPIO_FN_CAN_DEBUGOUT14, GPIO_FN_IRQ1_B, GPIO_FN_SSI_WS9_B, -	GPIO_FN_HSPI_CS1_C, GPIO_FN_SSI_SDATA7, GPIO_FN_CAN_DEBUGOUT15, -	GPIO_FN_IRQ2_B, GPIO_FN_TCLK1_C, GPIO_FN_HSPI_TX1_C, -	GPIO_FN_SSI_SDATA8, GPIO_FN_VSP, GPIO_FN_IRQ3_B, GPIO_FN_HSPI_RX1_C, -	GPIO_FN_SD0_CLK, GPIO_FN_ATACS01, GPIO_FN_SCK1_B, GPIO_FN_SD0_CMD, -	GPIO_FN_ATACS11, GPIO_FN_TX1_B, GPIO_FN_CC5_TDO, GPIO_FN_SD0_DAT0, -	GPIO_FN_ATADIR1, GPIO_FN_RX1_B, GPIO_FN_CC5_TRST, GPIO_FN_SD0_DAT1, -	GPIO_FN_ATAG1, GPIO_FN_SCK2_B, GPIO_FN_CC5_TMS, GPIO_FN_SD0_DAT2, -	GPIO_FN_ATARD1,	GPIO_FN_TX2_B, GPIO_FN_CC5_TCK, GPIO_FN_SD0_DAT3, -	GPIO_FN_ATAWR1,	GPIO_FN_RX2_B, GPIO_FN_CC5_TDI, GPIO_FN_SD0_CD, -	GPIO_FN_DREQ2,	GPIO_FN_RTS1_B_TANS_B, GPIO_FN_SD0_WP, GPIO_FN_DACK2, -	GPIO_FN_CTS1_B, - -	/* IPSR8 */ -	GPIO_FN_HSPI_CLK0, GPIO_FN_CTS0, GPIO_FN_USB_OVC0, GPIO_FN_AD_CLK, -	GPIO_FN_CC5_STATE4, GPIO_FN_CC5_STATE12, GPIO_FN_CC5_STATE20, -	GPIO_FN_CC5_STATE28, GPIO_FN_CC5_STATE36, GPIO_FN_HSPI_CS0, -	GPIO_FN_RTS0_TANS, GPIO_FN_USB_OVC1, GPIO_FN_AD_DI, -	GPIO_FN_CC5_STATE5, GPIO_FN_CC5_STATE13, GPIO_FN_CC5_STATE21, -	GPIO_FN_CC5_STATE29, GPIO_FN_CC5_STATE37, GPIO_FN_HSPI_TX0, -	GPIO_FN_TX0, GPIO_FN_CAN_DEBUG_HW_TRIGGER, GPIO_FN_AD_DO, -	GPIO_FN_CC5_STATE6, GPIO_FN_CC5_STATE14, GPIO_FN_CC5_STATE22, -	GPIO_FN_CC5_STATE30, GPIO_FN_CC5_STATE38, GPIO_FN_HSPI_RX0, -	GPIO_FN_RX0, GPIO_FN_CAN_STEP0, GPIO_FN_AD_NCS, GPIO_FN_CC5_STATE7, -	GPIO_FN_CC5_STATE15, GPIO_FN_CC5_STATE23, GPIO_FN_CC5_STATE31, -	GPIO_FN_CC5_STATE39, GPIO_FN_FMCLK, GPIO_FN_RDS_CLK, GPIO_FN_PCMOE, -	GPIO_FN_BPFCLK, GPIO_FN_PCMWE, GPIO_FN_FMIN, GPIO_FN_RDS_DATA, -	GPIO_FN_VI0_CLK, GPIO_FN_MMC1_CLK, GPIO_FN_VI0_CLKENB, GPIO_FN_TX1_C, -	GPIO_FN_HTX1_B, GPIO_FN_MT1_SYNC, GPIO_FN_VI0_FIELD, GPIO_FN_RX1_C, -	GPIO_FN_HRX1_B, GPIO_FN_VI0_HSYNC, GPIO_FN_VI0_DATA0_B_VI0_B0_B, -	GPIO_FN_CTS1_C, GPIO_FN_TX4_D, GPIO_FN_MMC1_CMD, GPIO_FN_HSCK1_B, -	GPIO_FN_VI0_VSYNC, GPIO_FN_VI0_DATA1_B_VI0_B1_B, -	GPIO_FN_RTS1_C_TANS_C, GPIO_FN_RX4_D, GPIO_FN_PWMFSW0_C, - -	/* IPSR9 */ -	GPIO_FN_VI0_DATA0_VI0_B0, GPIO_FN_HRTS1_B, GPIO_FN_MT1_VCXO, -	GPIO_FN_VI0_DATA1_VI0_B1, GPIO_FN_HCTS1_B, GPIO_FN_MT1_PWM, -	GPIO_FN_VI0_DATA2_VI0_B2, GPIO_FN_MMC1_D0, GPIO_FN_VI0_DATA3_VI0_B3, -	GPIO_FN_MMC1_D1, GPIO_FN_VI0_DATA4_VI0_B4, GPIO_FN_MMC1_D2, -	GPIO_FN_VI0_DATA5_VI0_B5, GPIO_FN_MMC1_D3, GPIO_FN_VI0_DATA6_VI0_B6, -	GPIO_FN_MMC1_D4, GPIO_FN_ARM_TRACEDATA_0, GPIO_FN_VI0_DATA7_VI0_B7, -	GPIO_FN_MMC1_D5, GPIO_FN_ARM_TRACEDATA_1, GPIO_FN_VI0_G0, -	GPIO_FN_SSI_SCK78_C, GPIO_FN_IRQ0, GPIO_FN_ARM_TRACEDATA_2, -	GPIO_FN_VI0_G1, GPIO_FN_SSI_WS78_C, GPIO_FN_IRQ1, -	GPIO_FN_ARM_TRACEDATA_3, GPIO_FN_VI0_G2, GPIO_FN_ETH_TXD1, -	GPIO_FN_MMC1_D6, GPIO_FN_ARM_TRACEDATA_4, GPIO_FN_TS_SPSYNC0, -	GPIO_FN_VI0_G3, GPIO_FN_ETH_CRS_DV, GPIO_FN_MMC1_D7, -	GPIO_FN_ARM_TRACEDATA_5, GPIO_FN_TS_SDAT0, GPIO_FN_VI0_G4, -	GPIO_FN_ETH_TX_EN, GPIO_FN_SD2_DAT0_B, GPIO_FN_ARM_TRACEDATA_6, -	GPIO_FN_VI0_G5,	GPIO_FN_ETH_RX_ER, GPIO_FN_SD2_DAT1_B, -	GPIO_FN_ARM_TRACEDATA_7, GPIO_FN_VI0_G6, GPIO_FN_ETH_RXD0, -	GPIO_FN_SD2_DAT2_B, GPIO_FN_ARM_TRACEDATA_8, GPIO_FN_VI0_G7, -	GPIO_FN_ETH_RXD1, GPIO_FN_SD2_DAT3_B, GPIO_FN_ARM_TRACEDATA_9, - -	/* IPSR10 */ -	GPIO_FN_VI0_R0, GPIO_FN_SSI_SDATA7_C, GPIO_FN_SCK1_C, GPIO_FN_DREQ1_B, -	GPIO_FN_ARM_TRACEDATA_10, GPIO_FN_DREQ0_C, GPIO_FN_VI0_R1, -	GPIO_FN_SSI_SDATA8_C, GPIO_FN_DACK1_B, GPIO_FN_ARM_TRACEDATA_11, -	GPIO_FN_DACK0_C, GPIO_FN_DRACK0_C, GPIO_FN_VI0_R2, GPIO_FN_ETH_LINK, -	GPIO_FN_SD2_CLK_B, GPIO_FN_IRQ2, GPIO_FN_ARM_TRACEDATA_12, -	GPIO_FN_VI0_R3, GPIO_FN_ETH_MAGIC, GPIO_FN_SD2_CMD_B, GPIO_FN_IRQ3, -	GPIO_FN_ARM_TRACEDATA_13, GPIO_FN_VI0_R4, GPIO_FN_ETH_REFCLK, -	GPIO_FN_SD2_CD_B, GPIO_FN_HSPI_CLK1_B, GPIO_FN_ARM_TRACEDATA_14, -	GPIO_FN_MT1_CLK, GPIO_FN_TS_SCK0, GPIO_FN_VI0_R5, GPIO_FN_ETH_TXD0, -	GPIO_FN_SD2_WP_B, GPIO_FN_HSPI_CS1_B, GPIO_FN_ARM_TRACEDATA_15, -	GPIO_FN_MT1_D, GPIO_FN_TS_SDEN0, GPIO_FN_VI0_R6, GPIO_FN_ETH_MDC, -	GPIO_FN_DREQ2_C, GPIO_FN_HSPI_TX1_B, GPIO_FN_TRACECLK, -	GPIO_FN_MT1_BEN, GPIO_FN_PWMFSW0_D, GPIO_FN_VI0_R7, GPIO_FN_ETH_MDIO, -	GPIO_FN_DACK2_C, GPIO_FN_HSPI_RX1_B, GPIO_FN_SCIF_CLK_D, -	GPIO_FN_TRACECTL, GPIO_FN_MT1_PEN, GPIO_FN_VI1_CLK, GPIO_FN_SIM_D, -	GPIO_FN_SDA3, GPIO_FN_VI1_HSYNC, GPIO_FN_VI3_CLK, GPIO_FN_SSI_SCK4, -	GPIO_FN_GPS_SIGN_C, GPIO_FN_PWMFSW0_E, GPIO_FN_VI1_VSYNC, -	GPIO_FN_AUDIO_CLKOUT_C, GPIO_FN_SSI_WS4, GPIO_FN_SIM_CLK, -	GPIO_FN_GPS_MAG_C, GPIO_FN_SPV_TRST, GPIO_FN_SCL3, - -	/* IPSR11 */ -	GPIO_FN_VI1_DATA0_VI1_B0, GPIO_FN_SD2_DAT0, GPIO_FN_SIM_RST, -	GPIO_FN_SPV_TCK, GPIO_FN_ADICLK_B, GPIO_FN_VI1_DATA1_VI1_B1, -	GPIO_FN_SD2_DAT1, GPIO_FN_MT0_CLK, GPIO_FN_SPV_TMS, -	GPIO_FN_ADICS_B_SAMP_B, GPIO_FN_VI1_DATA2_VI1_B2, GPIO_FN_SD2_DAT2, -	GPIO_FN_MT0_D, GPIO_FN_SPVTDI, GPIO_FN_ADIDATA_B, -	GPIO_FN_VI1_DATA3_VI1_B3, GPIO_FN_SD2_DAT3, GPIO_FN_MT0_BEN, -	GPIO_FN_SPV_TDO, GPIO_FN_ADICHS0_B, GPIO_FN_VI1_DATA4_VI1_B4, -	GPIO_FN_SD2_CLK, GPIO_FN_MT0_PEN, GPIO_FN_SPA_TRST, -	GPIO_FN_HSPI_CLK1_D, GPIO_FN_ADICHS1_B, GPIO_FN_VI1_DATA5_VI1_B5, -	GPIO_FN_SD2_CMD, GPIO_FN_MT0_SYNC, GPIO_FN_SPA_TCK, -	GPIO_FN_HSPI_CS1_D, GPIO_FN_ADICHS2_B, GPIO_FN_VI1_DATA6_VI1_B6, -	GPIO_FN_SD2_CD, GPIO_FN_MT0_VCXO, GPIO_FN_SPA_TMS, GPIO_FN_HSPI_TX1_D, -	GPIO_FN_VI1_DATA7_VI1_B7, GPIO_FN_SD2_WP, GPIO_FN_MT0_PWM, -	GPIO_FN_SPA_TDI, GPIO_FN_HSPI_RX1_D, GPIO_FN_VI1_G0, GPIO_FN_VI3_DATA0, -	GPIO_FN_DU1_DOTCLKOUT1, GPIO_FN_TS_SCK1, GPIO_FN_DREQ2_B, GPIO_FN_TX2, -	GPIO_FN_SPA_TDO, GPIO_FN_HCTS0_B, GPIO_FN_VI1_G1, GPIO_FN_VI3_DATA1, -	GPIO_FN_SSI_SCK1, GPIO_FN_TS_SDEN1, GPIO_FN_DACK2_B, GPIO_FN_RX2, -	GPIO_FN_HRTS0_B, - -	/* IPSR12 */ -	GPIO_FN_VI1_G2, GPIO_FN_VI3_DATA2, GPIO_FN_SSI_WS1, GPIO_FN_TS_SPSYNC1, -	GPIO_FN_SCK2, GPIO_FN_HSCK0_B, GPIO_FN_VI1_G3, GPIO_FN_VI3_DATA3, -	GPIO_FN_SSI_SCK2, GPIO_FN_TS_SDAT1, GPIO_FN_SCL1_C, GPIO_FN_HTX0_B, -	GPIO_FN_VI1_G4, GPIO_FN_VI3_DATA4, GPIO_FN_SSI_WS2, GPIO_FN_SDA1_C, -	GPIO_FN_SIM_RST_B, GPIO_FN_HRX0_B, GPIO_FN_VI1_G5, GPIO_FN_VI3_DATA5, -	GPIO_FN_GPS_CLK, GPIO_FN_FSE, GPIO_FN_TX4_B, GPIO_FN_SIM_D_B, -	GPIO_FN_VI1_G6, GPIO_FN_VI3_DATA6, GPIO_FN_GPS_SIGN, GPIO_FN_FRB, -	GPIO_FN_RX4_B, GPIO_FN_SIM_CLK_B, GPIO_FN_VI1_G7, GPIO_FN_VI3_DATA7, -	GPIO_FN_GPS_MAG, GPIO_FN_FCE, GPIO_FN_SCK4_B, -}; +#include <linux/sh_eth.h>  struct platform_device; @@ -343,6 +23,20 @@ static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d)  	return &container_of(d, struct r8a7779_pm_domain, genpd)->ch;  } +extern void r8a7779_init_delay(void); +extern void r8a7779_init_irq(void); +extern void r8a7779_init_irq_extpin(int irlm); +extern void r8a7779_init_irq_dt(void); +extern void r8a7779_map_io(void); +extern void r8a7779_earlytimer_init(void); +extern void r8a7779_add_early_devices(void); +extern void r8a7779_add_standard_devices(void); +extern void r8a7779_add_standard_devices_dt(void); +extern void r8a7779_add_ether_device(struct sh_eth_plat_data *pdata); +extern void r8a7779_clock_init(void); +extern void r8a7779_pinmux_init(void); +extern void r8a7779_pm_init(void); +extern void r8a7779_register_twd(void);  extern int r8a7779_sysc_power_down(struct r8a7779_pm_ch *r8a7779_ch);  extern int r8a7779_sysc_power_up(struct r8a7779_pm_ch *r8a7779_ch); diff --git a/arch/arm/mach-shmobile/include/mach/r8a7790.h b/arch/arm/mach-shmobile/include/mach/r8a7790.h new file mode 100644 index 00000000000..2e919e61fa0 --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/r8a7790.h @@ -0,0 +1,9 @@ +#ifndef __ASM_R8A7790_H__ +#define __ASM_R8A7790_H__ + +void r8a7790_add_standard_devices(void); +void r8a7790_clock_init(void); +void r8a7790_pinmux_init(void); +void r8a7790_timer_init(void); + +#endif /* __ASM_R8A7790_H__ */ diff --git a/arch/arm/mach-shmobile/include/mach/sh7372.h b/arch/arm/mach-shmobile/include/mach/sh7372.h index b582facc1cf..fd7cba024c3 100644 --- a/arch/arm/mach-shmobile/include/mach/sh7372.h +++ b/arch/arm/mach-shmobile/include/mach/sh7372.h @@ -294,21 +294,6 @@ enum {  	GPIO_FN_D12_NAF12,	GPIO_FN_D13_NAF13,	GPIO_FN_D14_NAF14,  	GPIO_FN_D15_NAF15, -	/* -	 * MMCIF(1)		(PORT 84, 85, 86, 87, 88, 89, -	 *			      90, 91, 92, 99) -	 */ -	GPIO_FN_MMCD0_0,	GPIO_FN_MMCD0_1,	GPIO_FN_MMCD0_2, -	GPIO_FN_MMCD0_3,	GPIO_FN_MMCD0_4,	GPIO_FN_MMCD0_5, -	GPIO_FN_MMCD0_6,	GPIO_FN_MMCD0_7, -	GPIO_FN_MMCCMD0,	GPIO_FN_MMCCLK0, - -	/* MMCIF(2)		(PORT 54, 55, 56, 57, 58, 59, 60, 61, 66, 67) */ -	GPIO_FN_MMCD1_0,	GPIO_FN_MMCD1_1,	GPIO_FN_MMCD1_2, -	GPIO_FN_MMCD1_3,	GPIO_FN_MMCD1_4,	GPIO_FN_MMCD1_5, -	GPIO_FN_MMCD1_6,	GPIO_FN_MMCD1_7, -	GPIO_FN_MMCCLK1,	GPIO_FN_MMCCMD1, -  	/* SPU2		(PORT 65) */  	GPIO_FN_VINT_I, @@ -416,20 +401,6 @@ enum {  	/* HDMI		(PORT 169, 170) */  	GPIO_FN_HDMI_HPD,	GPIO_FN_HDMI_CEC, -	/* SDHI0	(PORT 171, 172, 173, 174, 175, 176, 177, 178) */ -	GPIO_FN_SDHICLK0,	GPIO_FN_SDHICD0, -	GPIO_FN_SDHICMD0,	GPIO_FN_SDHIWP0, -	GPIO_FN_SDHID0_0,	GPIO_FN_SDHID0_1, -	GPIO_FN_SDHID0_2,	GPIO_FN_SDHID0_3, - -	/* SDHI1	(PORT 179, 180, 181, 182, 183, 184) */ -	GPIO_FN_SDHICLK1,	GPIO_FN_SDHICMD1,	GPIO_FN_SDHID1_0, -	GPIO_FN_SDHID1_1,	GPIO_FN_SDHID1_2,	GPIO_FN_SDHID1_3, - -	/* SDHI2	(PORT 185, 186, 187, 188, 189, 190) */ -	GPIO_FN_SDHICLK2,	GPIO_FN_SDHICMD2,	GPIO_FN_SDHID2_0, -	GPIO_FN_SDHID2_1,	GPIO_FN_SDHID2_2,	GPIO_FN_SDHID2_3, -  	/* SDENC	see MSEL4CR 19 */  	GPIO_FN_SDENC_CPG,  	GPIO_FN_SDENC_DV_CLKI, @@ -478,6 +449,18 @@ extern struct clk sh7372_dv_clki_clk;  extern struct clk sh7372_dv_clki_div2_clk;  extern struct clk sh7372_pllc2_clk; +extern void sh7372_init_irq(void); +extern void sh7372_map_io(void); +extern void sh7372_earlytimer_init(void); +extern void sh7372_add_early_devices(void); +extern void sh7372_add_standard_devices(void); +extern void sh7372_add_early_devices_dt(void); +extern void sh7372_add_standard_devices_dt(void); +extern void sh7372_clock_init(void); +extern void sh7372_pinmux_init(void); +extern void sh7372_pm_init(void); +extern void sh7372_resume_core_standby_sysc(void); +extern int  sh7372_do_idle_sysc(unsigned long sleep_mode);  extern void sh7372_intcs_suspend(void);  extern void sh7372_intcs_resume(void);  extern void sh7372_intca_suspend(void); diff --git a/arch/arm/mach-shmobile/include/mach/sh73a0.h b/arch/arm/mach-shmobile/include/mach/sh73a0.h index 606d31d02a4..eb7a4320d48 100644 --- a/arch/arm/mach-shmobile/include/mach/sh73a0.h +++ b/arch/arm/mach-shmobile/include/mach/sh73a0.h @@ -94,8 +94,7 @@ enum {  	GPIO_PORT305, GPIO_PORT306, GPIO_PORT307, GPIO_PORT308, GPIO_PORT309,  	/* Table 25-1 (Function 0-7) */ -	GPIO_FN_VBUS_0, -	GPIO_FN_GPI0, +	GPIO_FN_GPI0 = 310,  	GPIO_FN_GPI1,  	GPIO_FN_GPI2,  	GPIO_FN_GPI3, @@ -103,15 +102,11 @@ enum {  	GPIO_FN_GPI5,  	GPIO_FN_GPI6,  	GPIO_FN_GPI7, -	GPIO_FN_SCIFA7_RXD, -	GPIO_FN_SCIFA7_CTS_,  	GPIO_FN_GPO7, GPIO_FN_MFG0_OUT2,  	GPIO_FN_GPO6, GPIO_FN_MFG1_OUT2, -	GPIO_FN_GPO5, GPIO_FN_SCIFA0_SCK, GPIO_FN_FSICOSLDT3, \ +	GPIO_FN_GPO5,  	GPIO_FN_PORT16_VIO_CKOR, -	GPIO_FN_SCIFA0_TXD, -	GPIO_FN_SCIFA7_TXD, -	GPIO_FN_SCIFA7_RTS_, GPIO_FN_PORT19_VIO_CKO2, +	GPIO_FN_PORT19_VIO_CKO2,  	GPIO_FN_GPO0,  	GPIO_FN_GPO1,  	GPIO_FN_GPO2, GPIO_FN_STATUS0, @@ -119,83 +114,44 @@ enum {  	GPIO_FN_GPO4, GPIO_FN_STATUS2,  	GPIO_FN_VINT,  	GPIO_FN_TCKON, -	GPIO_FN_XDVFS1, GPIO_FN_PORT27_I2C_SCL2, GPIO_FN_PORT27_I2C_SCL3, \ +	GPIO_FN_XDVFS1,  	GPIO_FN_MFG0_OUT1, GPIO_FN_PORT27_IROUT, -	GPIO_FN_XDVFS2, GPIO_FN_PORT28_I2C_SDA2, GPIO_FN_PORT28_I2C_SDA3, \ +	GPIO_FN_XDVFS2,  	GPIO_FN_PORT28_TPU1TO1,  	GPIO_FN_SIM_RST, GPIO_FN_PORT29_TPU1TO1,  	GPIO_FN_SIM_CLK, GPIO_FN_PORT30_VIO_CKOR,  	GPIO_FN_SIM_D, GPIO_FN_PORT31_IROUT, -	GPIO_FN_SCIFA4_TXD, -	GPIO_FN_SCIFA4_RXD, GPIO_FN_XWUP, -	GPIO_FN_SCIFA4_RTS_, -	GPIO_FN_SCIFA4_CTS_, -	GPIO_FN_FSIBOBT, GPIO_FN_FSIBIBT, -	GPIO_FN_FSIBOLR, GPIO_FN_FSIBILR, -	GPIO_FN_FSIBOSLD, -	GPIO_FN_FSIBISLD, +	GPIO_FN_XWUP,  	GPIO_FN_VACK,  	GPIO_FN_XTAL1L, -	GPIO_FN_SCIFA0_RTS_, GPIO_FN_FSICOSLDT2, -	GPIO_FN_SCIFA0_RXD, -	GPIO_FN_SCIFA0_CTS_, GPIO_FN_FSICOSLDT1, -	GPIO_FN_FSICOBT, GPIO_FN_FSICIBT, GPIO_FN_FSIDOBT, GPIO_FN_FSIDIBT, -	GPIO_FN_FSICOLR, GPIO_FN_FSICILR, GPIO_FN_FSIDOLR, GPIO_FN_FSIDILR, -	GPIO_FN_FSICOSLD, GPIO_FN_PORT47_FSICSPDIF, -	GPIO_FN_FSICISLD, GPIO_FN_FSIDISLD, -	GPIO_FN_FSIACK, GPIO_FN_PORT49_IRDA_OUT, GPIO_FN_PORT49_IROUT, \ -	GPIO_FN_FSIAOMC, -	GPIO_FN_FSIAOLR, GPIO_FN_BBIF2_TSYNC2, GPIO_FN_TPU2TO2, GPIO_FN_FSIAILR, +	GPIO_FN_PORT49_IROUT, +	GPIO_FN_BBIF2_TSYNC2, GPIO_FN_TPU2TO2, -	GPIO_FN_FSIAOBT, GPIO_FN_BBIF2_TSCK2, GPIO_FN_TPU2TO3, GPIO_FN_FSIAIBT, -	GPIO_FN_FSIAOSLD, GPIO_FN_BBIF2_TXD2, -	GPIO_FN_FSIASPDIF, GPIO_FN_PORT53_IRDA_IN, GPIO_FN_TPU3TO3, \ -	GPIO_FN_FSIBSPDIF, GPIO_FN_PORT53_FSICSPDIF, -	GPIO_FN_FSIBCK, GPIO_FN_PORT54_IRDA_FIRSEL, GPIO_FN_TPU3TO2, \ -	GPIO_FN_FSIBOMC, GPIO_FN_FSICCK, GPIO_FN_FSICOMC, -	GPIO_FN_FSIAISLD, GPIO_FN_TPU0TO0, +	GPIO_FN_BBIF2_TSCK2, GPIO_FN_TPU2TO3, +	GPIO_FN_BBIF2_TXD2, +	GPIO_FN_TPU3TO3, +	GPIO_FN_TPU3TO2, +	GPIO_FN_TPU0TO0,  	GPIO_FN_A0, GPIO_FN_BS_, -	GPIO_FN_A12, GPIO_FN_PORT58_KEYOUT7, GPIO_FN_TPU4TO2, -	GPIO_FN_A13, GPIO_FN_PORT59_KEYOUT6, GPIO_FN_TPU0TO1, -	GPIO_FN_A14, GPIO_FN_KEYOUT5, -	GPIO_FN_A15, GPIO_FN_KEYOUT4, -	GPIO_FN_A16, GPIO_FN_KEYOUT3, GPIO_FN_MSIOF0_SS1, -	GPIO_FN_A17, GPIO_FN_KEYOUT2, GPIO_FN_MSIOF0_TSYNC, -	GPIO_FN_A18, GPIO_FN_KEYOUT1, GPIO_FN_MSIOF0_TSCK, -	GPIO_FN_A19, GPIO_FN_KEYOUT0, GPIO_FN_MSIOF0_TXD, -	GPIO_FN_A20, GPIO_FN_KEYIN0, GPIO_FN_MSIOF0_RSCK, -	GPIO_FN_A21, GPIO_FN_KEYIN1, GPIO_FN_MSIOF0_RSYNC, -	GPIO_FN_A22, GPIO_FN_KEYIN2, GPIO_FN_MSIOF0_MCK0, -	GPIO_FN_A23, GPIO_FN_KEYIN3, GPIO_FN_MSIOF0_MCK1, -	GPIO_FN_A24, GPIO_FN_KEYIN4, GPIO_FN_MSIOF0_RXD, -	GPIO_FN_A25, GPIO_FN_KEYIN5, GPIO_FN_MSIOF0_SS2, -	GPIO_FN_A26, GPIO_FN_KEYIN6, -	GPIO_FN_KEYIN7, -	GPIO_FN_D0_NAF0, -	GPIO_FN_D1_NAF1, -	GPIO_FN_D2_NAF2, -	GPIO_FN_D3_NAF3, -	GPIO_FN_D4_NAF4, -	GPIO_FN_D5_NAF5, -	GPIO_FN_D6_NAF6, -	GPIO_FN_D7_NAF7, -	GPIO_FN_D8_NAF8, -	GPIO_FN_D9_NAF9, -	GPIO_FN_D10_NAF10, -	GPIO_FN_D11_NAF11, -	GPIO_FN_D12_NAF12, -	GPIO_FN_D13_NAF13, -	GPIO_FN_D14_NAF14, -	GPIO_FN_D15_NAF15, -	GPIO_FN_CS4_, -	GPIO_FN_CS5A_, GPIO_FN_PORT91_RDWR, -	GPIO_FN_CS5B_, GPIO_FN_FCE1_, -	GPIO_FN_CS6B_, GPIO_FN_DACK0, -	GPIO_FN_FCE0_, GPIO_FN_CS6A_, +	GPIO_FN_A12, GPIO_FN_TPU4TO2, +	GPIO_FN_A13, GPIO_FN_TPU0TO1, +	GPIO_FN_A14, +	GPIO_FN_A15, +	GPIO_FN_A16, GPIO_FN_MSIOF0_SS1, +	GPIO_FN_A17, GPIO_FN_MSIOF0_TSYNC, +	GPIO_FN_A18, GPIO_FN_MSIOF0_TSCK, +	GPIO_FN_A19, GPIO_FN_MSIOF0_TXD, +	GPIO_FN_A20, GPIO_FN_MSIOF0_RSCK, +	GPIO_FN_A21, GPIO_FN_MSIOF0_RSYNC, +	GPIO_FN_A22, GPIO_FN_MSIOF0_MCK0, +	GPIO_FN_A23, GPIO_FN_MSIOF0_MCK1, +	GPIO_FN_A24, GPIO_FN_MSIOF0_RXD, +	GPIO_FN_A25, GPIO_FN_MSIOF0_SS2, +	GPIO_FN_A26, +	GPIO_FN_FCE1_, +	GPIO_FN_DACK0, +	GPIO_FN_FCE0_,  	GPIO_FN_WAIT_, GPIO_FN_DREQ0, -	GPIO_FN_RD__FSC, -	GPIO_FN_WE0__FWE, GPIO_FN_RDWR_FWE, -	GPIO_FN_WE1_,  	GPIO_FN_FRB,  	GPIO_FN_CKO,  	GPIO_FN_NBRSTOUT_, @@ -204,145 +160,118 @@ enum {  	GPIO_FN_BBIF2_RXD,  	GPIO_FN_BBIF2_SYNC,  	GPIO_FN_BBIF2_SCK, -	GPIO_FN_SCIFA3_CTS_, GPIO_FN_MFG3_IN2, -	GPIO_FN_SCIFA3_RXD, GPIO_FN_MFG3_IN1, -	GPIO_FN_BBIF1_SS2, GPIO_FN_SCIFA3_RTS_, GPIO_FN_MFG3_OUT1, -	GPIO_FN_SCIFA3_TXD, +	GPIO_FN_MFG3_IN2, +	GPIO_FN_MFG3_IN1, +	GPIO_FN_BBIF1_SS2, GPIO_FN_MFG3_OUT1,  	GPIO_FN_HSI_RX_DATA, GPIO_FN_BBIF1_RXD,  	GPIO_FN_HSI_TX_WAKE, GPIO_FN_BBIF1_TSCK,  	GPIO_FN_HSI_TX_DATA, GPIO_FN_BBIF1_TSYNC,  	GPIO_FN_HSI_TX_READY, GPIO_FN_BBIF1_TXD, -	GPIO_FN_HSI_RX_READY, GPIO_FN_BBIF1_RSCK, GPIO_FN_PORT115_I2C_SCL2, \ -	GPIO_FN_PORT115_I2C_SCL3, -	GPIO_FN_HSI_RX_WAKE, GPIO_FN_BBIF1_RSYNC, GPIO_FN_PORT116_I2C_SDA2, \ -	GPIO_FN_PORT116_I2C_SDA3, +	GPIO_FN_HSI_RX_READY, GPIO_FN_BBIF1_RSCK, +	GPIO_FN_HSI_RX_WAKE, GPIO_FN_BBIF1_RSYNC,  	GPIO_FN_HSI_RX_FLAG, GPIO_FN_BBIF1_SS1, GPIO_FN_BBIF1_FLOW,  	GPIO_FN_HSI_TX_FLAG, -	GPIO_FN_VIO_VD, GPIO_FN_PORT128_LCD2VSYN, GPIO_FN_VIO2_VD, \ -	GPIO_FN_LCD2D0, +	GPIO_FN_VIO_VD, GPIO_FN_VIO2_VD, -	GPIO_FN_VIO_HD, GPIO_FN_PORT129_LCD2HSYN, GPIO_FN_PORT129_LCD2CS_, \ -	GPIO_FN_VIO2_HD, GPIO_FN_LCD2D1, -	GPIO_FN_VIO_D0, GPIO_FN_PORT130_MSIOF2_RXD, GPIO_FN_LCD2D10, -	GPIO_FN_VIO_D1, GPIO_FN_PORT131_KEYOUT6, GPIO_FN_PORT131_MSIOF2_SS1, \ -	GPIO_FN_PORT131_KEYOUT11, GPIO_FN_LCD2D11, -	GPIO_FN_VIO_D2, GPIO_FN_PORT132_KEYOUT7, GPIO_FN_PORT132_MSIOF2_SS2, \ -	GPIO_FN_PORT132_KEYOUT10, GPIO_FN_LCD2D12, -	GPIO_FN_VIO_D3, GPIO_FN_MSIOF2_TSYNC, GPIO_FN_LCD2D13, -	GPIO_FN_VIO_D4, GPIO_FN_MSIOF2_TXD, GPIO_FN_LCD2D14, -	GPIO_FN_VIO_D5, GPIO_FN_MSIOF2_TSCK, GPIO_FN_LCD2D15, -	GPIO_FN_VIO_D6, GPIO_FN_PORT136_KEYOUT8, GPIO_FN_LCD2D16, -	GPIO_FN_VIO_D7, GPIO_FN_PORT137_KEYOUT9, GPIO_FN_LCD2D17, -	GPIO_FN_VIO_D8, GPIO_FN_PORT138_KEYOUT8, GPIO_FN_VIO2_D0, \ -	GPIO_FN_LCD2D6, -	GPIO_FN_VIO_D9, GPIO_FN_PORT139_KEYOUT9, GPIO_FN_VIO2_D1, \ -	GPIO_FN_LCD2D7, -	GPIO_FN_VIO_D10, GPIO_FN_TPU0TO2, GPIO_FN_VIO2_D2, GPIO_FN_LCD2D8, -	GPIO_FN_VIO_D11, GPIO_FN_TPU0TO3, GPIO_FN_VIO2_D3, GPIO_FN_LCD2D9, -	GPIO_FN_VIO_D12, GPIO_FN_PORT142_KEYOUT10, GPIO_FN_VIO2_D4, \ -	GPIO_FN_LCD2D2, -	GPIO_FN_VIO_D13, GPIO_FN_PORT143_KEYOUT11, GPIO_FN_PORT143_KEYOUT6, \ -	GPIO_FN_VIO2_D5, GPIO_FN_LCD2D3, -	GPIO_FN_VIO_D14, GPIO_FN_PORT144_KEYOUT7, GPIO_FN_VIO2_D6, \ -	GPIO_FN_LCD2D4, -	GPIO_FN_VIO_D15, GPIO_FN_TPU1TO3, GPIO_FN_PORT145_LCD2DISP, \ -	GPIO_FN_PORT145_LCD2RS, GPIO_FN_VIO2_D7, GPIO_FN_LCD2D5, -	GPIO_FN_VIO_CLK, GPIO_FN_LCD2DCK, GPIO_FN_PORT146_LCD2WR_, \ -	GPIO_FN_VIO2_CLK, GPIO_FN_LCD2D18, -	GPIO_FN_VIO_FIELD, GPIO_FN_LCD2RD_, GPIO_FN_VIO2_FIELD, GPIO_FN_LCD2D19, +	GPIO_FN_VIO_HD, +	GPIO_FN_VIO2_HD, +	GPIO_FN_VIO_D0, GPIO_FN_PORT130_MSIOF2_RXD, +	GPIO_FN_VIO_D1, GPIO_FN_PORT131_MSIOF2_SS1, +	GPIO_FN_VIO_D2, GPIO_FN_PORT132_MSIOF2_SS2, +	GPIO_FN_VIO_D3, GPIO_FN_MSIOF2_TSYNC, +	GPIO_FN_VIO_D4, GPIO_FN_MSIOF2_TXD, +	GPIO_FN_VIO_D5, GPIO_FN_MSIOF2_TSCK, +	GPIO_FN_VIO_D6, +	GPIO_FN_VIO_D7, +	GPIO_FN_VIO_D8, GPIO_FN_VIO2_D0, +	GPIO_FN_VIO_D9, GPIO_FN_VIO2_D1, +	GPIO_FN_VIO_D10, GPIO_FN_TPU0TO2, GPIO_FN_VIO2_D2, +	GPIO_FN_VIO_D11, GPIO_FN_TPU0TO3, GPIO_FN_VIO2_D3, +	GPIO_FN_VIO_D12, GPIO_FN_VIO2_D4, +	GPIO_FN_VIO_D13, +	GPIO_FN_VIO2_D5, +	GPIO_FN_VIO_D14, GPIO_FN_VIO2_D6, +	GPIO_FN_VIO_D15, GPIO_FN_TPU1TO3, +	GPIO_FN_VIO2_D7, +	GPIO_FN_VIO_CLK, +	GPIO_FN_VIO2_CLK, +	GPIO_FN_VIO_FIELD, GPIO_FN_VIO2_FIELD,  	GPIO_FN_VIO_CKO, -	GPIO_FN_A27, GPIO_FN_PORT149_RDWR, GPIO_FN_MFG0_IN1, \ -	GPIO_FN_PORT149_KEYOUT9, +	GPIO_FN_A27, GPIO_FN_MFG0_IN1,  	GPIO_FN_MFG0_IN2,  	GPIO_FN_TS_SPSYNC3, GPIO_FN_MSIOF2_RSCK,  	GPIO_FN_TS_SDAT3, GPIO_FN_MSIOF2_RSYNC,  	GPIO_FN_TPU1TO2, GPIO_FN_TS_SDEN3, GPIO_FN_PORT153_MSIOF2_SS1, -	GPIO_FN_SCIFA2_TXD1, GPIO_FN_MSIOF2_MCK0, -	GPIO_FN_SCIFA2_RXD1, GPIO_FN_MSIOF2_MCK1, -	GPIO_FN_SCIFA2_RTS1_, GPIO_FN_PORT156_MSIOF2_SS2, -	GPIO_FN_SCIFA2_CTS1_, GPIO_FN_PORT157_MSIOF2_RXD, -	GPIO_FN_DINT_, GPIO_FN_SCIFA2_SCK1, GPIO_FN_TS_SCK3, -	GPIO_FN_PORT159_SCIFB_SCK, GPIO_FN_PORT159_SCIFA5_SCK, GPIO_FN_NMI, -	GPIO_FN_PORT160_SCIFB_TXD, GPIO_FN_PORT160_SCIFA5_TXD, -	GPIO_FN_PORT161_SCIFB_CTS_, GPIO_FN_PORT161_SCIFA5_CTS_, -	GPIO_FN_PORT162_SCIFB_RXD, GPIO_FN_PORT162_SCIFA5_RXD, -	GPIO_FN_PORT163_SCIFB_RTS_, GPIO_FN_PORT163_SCIFA5_RTS_, \ +	GPIO_FN_MSIOF2_MCK0, +	GPIO_FN_MSIOF2_MCK1, +	GPIO_FN_PORT156_MSIOF2_SS2, +	GPIO_FN_PORT157_MSIOF2_RXD, +	GPIO_FN_DINT_, GPIO_FN_TS_SCK3, +	GPIO_FN_NMI,  	GPIO_FN_TPU3TO0, -	GPIO_FN_LCDD0, -	GPIO_FN_LCDD1, GPIO_FN_PORT193_SCIFA5_CTS_, GPIO_FN_BBIF2_TSYNC1, -	GPIO_FN_LCDD2, GPIO_FN_PORT194_SCIFA5_RTS_, GPIO_FN_BBIF2_TSCK1, -	GPIO_FN_LCDD3, GPIO_FN_PORT195_SCIFA5_RXD, GPIO_FN_BBIF2_TXD1, -	GPIO_FN_LCDD4, GPIO_FN_PORT196_SCIFA5_TXD, -	GPIO_FN_LCDD5, GPIO_FN_PORT197_SCIFA5_SCK, GPIO_FN_MFG2_OUT2, \ +	GPIO_FN_BBIF2_TSYNC1, +	GPIO_FN_BBIF2_TSCK1, +	GPIO_FN_BBIF2_TXD1, +	GPIO_FN_MFG2_OUT2,  	GPIO_FN_TPU2TO1, -	GPIO_FN_LCDD6, -	GPIO_FN_LCDD7, GPIO_FN_TPU4TO1, GPIO_FN_MFG4_OUT2, -	GPIO_FN_LCDD8, GPIO_FN_D16, -	GPIO_FN_LCDD9, GPIO_FN_D17, -	GPIO_FN_LCDD10, GPIO_FN_D18, -	GPIO_FN_LCDD11, GPIO_FN_D19, -	GPIO_FN_LCDD12, GPIO_FN_D20, -	GPIO_FN_LCDD13, GPIO_FN_D21, -	GPIO_FN_LCDD14, GPIO_FN_D22, -	GPIO_FN_LCDD15, GPIO_FN_PORT207_MSIOF0L_SS1, GPIO_FN_D23, -	GPIO_FN_LCDD16, GPIO_FN_PORT208_MSIOF0L_SS2, GPIO_FN_D24, -	GPIO_FN_LCDD17, GPIO_FN_D25, -	GPIO_FN_LCDD18, GPIO_FN_DREQ2, GPIO_FN_PORT210_MSIOF0L_SS1, GPIO_FN_D26, -	GPIO_FN_LCDD19, GPIO_FN_PORT211_MSIOF0L_SS2, GPIO_FN_D27, -	GPIO_FN_LCDD20, GPIO_FN_TS_SPSYNC1, GPIO_FN_MSIOF0L_MCK0, GPIO_FN_D28, -	GPIO_FN_LCDD21, GPIO_FN_TS_SDAT1, GPIO_FN_MSIOF0L_MCK1, GPIO_FN_D29, -	GPIO_FN_LCDD22, GPIO_FN_TS_SDEN1, GPIO_FN_MSIOF0L_RSCK, GPIO_FN_D30, -	GPIO_FN_LCDD23, GPIO_FN_TS_SCK1, GPIO_FN_MSIOF0L_RSYNC, GPIO_FN_D31, -	GPIO_FN_LCDDCK, GPIO_FN_LCDWR_, -	GPIO_FN_LCDRD_, GPIO_FN_DACK2, GPIO_FN_PORT217_LCD2RS, \ -	GPIO_FN_MSIOF0L_TSYNC, GPIO_FN_VIO2_FIELD3, GPIO_FN_PORT217_LCD2DISP, -	GPIO_FN_LCDHSYN, GPIO_FN_LCDCS_, GPIO_FN_LCDCS2_, GPIO_FN_DACK3, \ +	GPIO_FN_TPU4TO1, GPIO_FN_MFG4_OUT2, +	GPIO_FN_D16, +	GPIO_FN_D17, +	GPIO_FN_D18, +	GPIO_FN_D19, +	GPIO_FN_D20, +	GPIO_FN_D21, +	GPIO_FN_D22, +	GPIO_FN_PORT207_MSIOF0L_SS1, GPIO_FN_D23, +	GPIO_FN_PORT208_MSIOF0L_SS2, GPIO_FN_D24, +	GPIO_FN_D25, +	GPIO_FN_DREQ2, GPIO_FN_PORT210_MSIOF0L_SS1, GPIO_FN_D26, +	GPIO_FN_PORT211_MSIOF0L_SS2, GPIO_FN_D27, +	GPIO_FN_TS_SPSYNC1, GPIO_FN_MSIOF0L_MCK0, GPIO_FN_D28, +	GPIO_FN_TS_SDAT1, GPIO_FN_MSIOF0L_MCK1, GPIO_FN_D29, +	GPIO_FN_TS_SDEN1, GPIO_FN_MSIOF0L_RSCK, GPIO_FN_D30, +	GPIO_FN_TS_SCK1, GPIO_FN_MSIOF0L_RSYNC, GPIO_FN_D31, +	GPIO_FN_DACK2, +	GPIO_FN_MSIOF0L_TSYNC, GPIO_FN_VIO2_FIELD3, +	GPIO_FN_DACK3,  	GPIO_FN_PORT218_VIO_CKOR, -	GPIO_FN_LCDDISP, GPIO_FN_LCDRS, GPIO_FN_PORT219_LCD2WR_, \  	GPIO_FN_DREQ3, GPIO_FN_MSIOF0L_TSCK, GPIO_FN_VIO2_CLK3, \ -	GPIO_FN_LCD2DCK_2, -	GPIO_FN_LCDVSYN, GPIO_FN_LCDVSYN2, -	GPIO_FN_LCDLCLK, GPIO_FN_DREQ1, GPIO_FN_PORT221_LCD2CS_, \ +	GPIO_FN_DREQ1,  	GPIO_FN_PWEN, GPIO_FN_MSIOF0L_RXD, GPIO_FN_VIO2_HD3, \ -	GPIO_FN_PORT221_LCD2HSYN, -	GPIO_FN_LCDDON, GPIO_FN_LCDDON2, GPIO_FN_DACK1, GPIO_FN_OVCN, \ -	GPIO_FN_MSIOF0L_TXD, GPIO_FN_VIO2_VD3, GPIO_FN_PORT222_LCD2VSYN, +	GPIO_FN_DACK1, GPIO_FN_OVCN, +	GPIO_FN_MSIOF0L_TXD, GPIO_FN_VIO2_VD3, -	GPIO_FN_SCIFA1_TXD, GPIO_FN_OVCN2, -	GPIO_FN_EXTLP, GPIO_FN_SCIFA1_SCK, GPIO_FN_PORT226_VIO_CKO2, -	GPIO_FN_SCIFA1_RTS_, GPIO_FN_IDIN, -	GPIO_FN_SCIFA1_RXD, -	GPIO_FN_SCIFA1_CTS_, GPIO_FN_MFG1_IN1, -	GPIO_FN_MSIOF1_TXD, GPIO_FN_SCIFA2_TXD2, -	GPIO_FN_MSIOF1_TSYNC, GPIO_FN_SCIFA2_CTS2_, -	GPIO_FN_MSIOF1_TSCK, GPIO_FN_SCIFA2_SCK2, -	GPIO_FN_MSIOF1_RXD, GPIO_FN_SCIFA2_RXD2, -	GPIO_FN_MSIOF1_RSCK, GPIO_FN_SCIFA2_RTS2_, GPIO_FN_VIO2_CLK2, \ -	GPIO_FN_LCD2D20, +	GPIO_FN_OVCN2, +	GPIO_FN_EXTLP, GPIO_FN_PORT226_VIO_CKO2, +	GPIO_FN_IDIN, +	GPIO_FN_MFG1_IN1, +	GPIO_FN_MSIOF1_TXD, +	GPIO_FN_MSIOF1_TSYNC, +	GPIO_FN_MSIOF1_TSCK, +	GPIO_FN_MSIOF1_RXD, +	GPIO_FN_MSIOF1_RSCK, GPIO_FN_VIO2_CLK2,  	GPIO_FN_MSIOF1_RSYNC, GPIO_FN_MFG1_IN2, GPIO_FN_VIO2_VD2, \ -	GPIO_FN_LCD2D21, -	GPIO_FN_MSIOF1_MCK0, GPIO_FN_PORT236_I2C_SDA2, -	GPIO_FN_MSIOF1_MCK1, GPIO_FN_PORT237_I2C_SCL2, -	GPIO_FN_MSIOF1_SS1, GPIO_FN_VIO2_FIELD2, GPIO_FN_LCD2D22, -	GPIO_FN_MSIOF1_SS2, GPIO_FN_VIO2_HD2, GPIO_FN_LCD2D23, -	GPIO_FN_SCIFA6_TXD, -	GPIO_FN_PORT241_IRDA_OUT, GPIO_FN_PORT241_IROUT, GPIO_FN_MFG4_OUT1, \ +	GPIO_FN_MSIOF1_MCK0, +	GPIO_FN_MSIOF1_MCK1, +	GPIO_FN_MSIOF1_SS1, GPIO_FN_VIO2_FIELD2, +	GPIO_FN_MSIOF1_SS2, GPIO_FN_VIO2_HD2, +	GPIO_FN_PORT241_IROUT, GPIO_FN_MFG4_OUT1, \  	GPIO_FN_TPU4TO0, -	GPIO_FN_PORT242_IRDA_IN, GPIO_FN_MFG4_IN2, -	GPIO_FN_PORT243_IRDA_FIRSEL, GPIO_FN_PORT243_VIO_CKO2, -	GPIO_FN_PORT244_SCIFA5_CTS_, GPIO_FN_MFG2_IN1, \ -	GPIO_FN_PORT244_SCIFB_CTS_, GPIO_FN_MSIOF2R_RXD, -	GPIO_FN_PORT245_SCIFA5_RTS_, GPIO_FN_MFG2_IN2, \ -	GPIO_FN_PORT245_SCIFB_RTS_, GPIO_FN_MSIOF2R_TXD, -	GPIO_FN_PORT246_SCIFA5_RXD, GPIO_FN_MFG1_OUT1, \ -	GPIO_FN_PORT246_SCIFB_RXD, GPIO_FN_TPU1TO0, -	GPIO_FN_PORT247_SCIFA5_TXD, GPIO_FN_MFG3_OUT2, \ -	GPIO_FN_PORT247_SCIFB_TXD, GPIO_FN_TPU3TO1, -	GPIO_FN_PORT248_SCIFA5_SCK, GPIO_FN_MFG2_OUT1, \ -	GPIO_FN_PORT248_SCIFB_SCK, GPIO_FN_TPU2TO0, \ -	GPIO_FN_PORT248_I2C_SCL3, GPIO_FN_MSIOF2R_TSCK, +	GPIO_FN_MFG4_IN2, +	GPIO_FN_PORT243_VIO_CKO2, +	GPIO_FN_MFG2_IN1, +	GPIO_FN_MSIOF2R_RXD, +	GPIO_FN_MFG2_IN2, +	GPIO_FN_MSIOF2R_TXD, +	GPIO_FN_MFG1_OUT1, +	GPIO_FN_TPU1TO0, +	GPIO_FN_MFG3_OUT2, +	GPIO_FN_TPU3TO1, +	GPIO_FN_MFG2_OUT1, +	GPIO_FN_TPU2TO0, +	GPIO_FN_MSIOF2R_TSCK,  	GPIO_FN_PORT249_IROUT, GPIO_FN_MFG4_IN1, \ -	GPIO_FN_PORT249_I2C_SDA3, GPIO_FN_MSIOF2R_TSYNC, +	GPIO_FN_MSIOF2R_TSYNC,  	GPIO_FN_SDHICLK0,  	GPIO_FN_SDHICD0,  	GPIO_FN_SDHID0_0, @@ -435,54 +364,12 @@ enum {  	GPIO_FN_IRQ9_MEM_INT,  	GPIO_FN_IRQ9_MCP_INT,  	GPIO_FN_A11, -	GPIO_FN_KEYOUT8,  	GPIO_FN_TPU4TO3,  	GPIO_FN_RESETA_N_PU_ON,  	GPIO_FN_RESETA_N_PU_OFF,  	GPIO_FN_EDBGREQ_PD,  	GPIO_FN_EDBGREQ_PU, -	/* Functions with pull-ups */ -	GPIO_FN_KEYIN0_PU, -	GPIO_FN_KEYIN1_PU, -	GPIO_FN_KEYIN2_PU, -	GPIO_FN_KEYIN3_PU, -	GPIO_FN_KEYIN4_PU, -	GPIO_FN_KEYIN5_PU, -	GPIO_FN_KEYIN6_PU, -	GPIO_FN_KEYIN7_PU, -	GPIO_FN_SDHICD0_PU, -	GPIO_FN_SDHID0_0_PU, -	GPIO_FN_SDHID0_1_PU, -	GPIO_FN_SDHID0_2_PU, -	GPIO_FN_SDHID0_3_PU, -	GPIO_FN_SDHICMD0_PU, -	GPIO_FN_SDHIWP0_PU, -	GPIO_FN_SDHID1_0_PU, -	GPIO_FN_SDHID1_1_PU, -	GPIO_FN_SDHID1_2_PU, -	GPIO_FN_SDHID1_3_PU, -	GPIO_FN_SDHICMD1_PU, -	GPIO_FN_SDHID2_0_PU, -	GPIO_FN_SDHID2_1_PU, -	GPIO_FN_SDHID2_2_PU, -	GPIO_FN_SDHID2_3_PU, -	GPIO_FN_SDHICMD2_PU, -	GPIO_FN_MMCCMD0_PU, -	GPIO_FN_MMCCMD1_PU, -	GPIO_FN_MMCD0_0_PU, -	GPIO_FN_MMCD0_1_PU, -	GPIO_FN_MMCD0_2_PU, -	GPIO_FN_MMCD0_3_PU, -	GPIO_FN_MMCD0_4_PU, -	GPIO_FN_MMCD0_5_PU, -	GPIO_FN_MMCD0_6_PU, -	GPIO_FN_MMCD0_7_PU, -	GPIO_FN_FSIACK_PU, -	GPIO_FN_FSIAILR_PU, -	GPIO_FN_FSIAIBT_PU, -	GPIO_FN_FSIAISLD_PU, -  	/* end of GPIO */  	GPIO_NR,  }; @@ -557,6 +444,21 @@ enum {  #define SH73A0_PINT0_IRQ(irq) ((irq) + 700)  #define SH73A0_PINT1_IRQ(irq) ((irq) + 732) +extern void sh73a0_init_delay(void); +extern void sh73a0_init_irq(void); +extern void sh73a0_init_irq_dt(void); +extern void sh73a0_map_io(void); +extern void sh73a0_earlytimer_init(void); +extern void sh73a0_add_early_devices(void); +extern void sh73a0_add_standard_devices(void); +extern void sh73a0_add_standard_devices_dt(void); +extern void sh73a0_clock_init(void); +extern void sh73a0_pinmux_init(void); +extern void sh73a0_pm_init(void); +extern struct clk sh73a0_extal1_clk; +extern struct clk sh73a0_extal2_clk; +extern struct clk sh73a0_extcki_clk; +extern struct clk sh73a0_extalr_clk;  extern struct smp_operations sh73a0_smp_ops;  #endif /* __ASM_SH73A0_H__ */ diff --git a/arch/arm/mach-shmobile/include/mach/uncompress.h b/arch/arm/mach-shmobile/include/mach/uncompress.h index 0bd7556b138..f1aee56781e 100644 --- a/arch/arm/mach-shmobile/include/mach/uncompress.h +++ b/arch/arm/mach-shmobile/include/mach/uncompress.h @@ -16,6 +16,4 @@ static void arch_decomp_setup(void)  {  } -#define arch_decomp_wdog() -  #endif /* __ASM_MACH_UNCOMPRESS_H */  |