Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85ed41a7 authored by Viresh Kumar's avatar Viresh Kumar Committed by Arnd Bergmann
Browse files

pinctrl: Add SPEAr13xx pinctrl drivers



This adds pinctrl driver for SPEAr13xx family. SPEAr13xx family supports two
machines: SPEAr1310 and SPEAr1340.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent d1e77afe
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@ Required properties:
- compatible	: "st,spear300-pinmux"
		: "st,spear310-pinmux"
		: "st,spear320-pinmux"
		: "st,spear1310-pinmux"
		: "st,spear1340-pinmux"
- reg		: Address range of the pinctrl registers
- st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others.
	- Its values for SPEAr300:
@@ -89,6 +91,37 @@ For SPEAr320 machines:
	"rmii0_1_grp", "i2c1_8_9_grp", "i2c1_98_99_grp", "i2c2_0_1_grp",
	"i2c2_2_3_grp", "i2c2_19_20_grp", "i2c2_75_76_grp", "i2c2_96_97_grp"

For SPEAr1310 machines:
	"i2c0_grp", "ssp0_grp", "ssp0_cs0_grp", "ssp0_cs1_2_grp", "i2s0_grp",
	"i2s1_grp", "clcd_grp", "clcd_high_res_grp", "arm_gpio_grp",
	"smi_2_chips_grp", "smi_4_chips_grp", "gmii_grp", "rgmii_grp",
	"smii_0_1_2_grp", "ras_mii_txclk_grp", "nand_8bit_grp",
	"nand_16bit_grp", "nand_4_chips_grp", "keyboard_6x6_grp",
	"keyboard_rowcol6_8_grp", "uart0_grp", "uart0_modem_grp",
	"gpt0_tmr0_grp", "gpt0_tmr1_grp", "gpt1_tmr0_grp", "gpt1_tmr1_grp",
	"sdhci_grp", "cf_grp", "xd_grp", "touch_xy_grp",
	"uart1_disable_i2c_grp", "uart1_disable_sd_grp", "uart2_3_grp",
	"uart4_grp", "uart5_grp", "rs485_0_1_tdm_0_1_grp", "i2c_1_2_grp",
	"i2c3_dis_smi_clcd_grp", "i2c3_dis_sd_i2s0_grp", "i2c_4_5_dis_smi_grp",
	"i2c4_dis_sd_grp", "i2c5_dis_sd_grp", "i2c_6_7_dis_kbd_grp",
	"i2c6_dis_sd_grp", "i2c7_dis_sd_grp", "can0_dis_nor_grp",
	"can0_dis_sd_grp", "can1_dis_sd_grp", "can1_dis_kbd_grp", "pcie0_grp",
	"pcie1_grp", "pcie2_grp", "sata0_grp", "sata1_grp", "sata2_grp",
	"ssp1_dis_kbd_grp", "ssp1_dis_sd_grp", "gpt64_grp"

For SPEAr1340 machines:
	"pads_as_gpio_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "fsmc_pnor_grp",
	"keyboard_row_col_grp", "keyboard_col5_grp", "spdif_in_grp",
	"spdif_out_grp", "gpt_0_1_grp", "pwm0_grp", "pwm1_grp", "pwm2_grp",
	"pwm3_grp", "vip_mux_grp", "vip_mux_cam0_grp", "vip_mux_cam1_grp",
	"vip_mux_cam2_grp", "vip_mux_cam3_grp", "cam0_grp", "cam1_grp",
	"cam2_grp", "cam3_grp", "smi_grp", "ssp0_grp", "ssp0_cs1_grp",
	"ssp0_cs2_grp", "ssp0_cs3_grp", "uart0_grp", "uart0_enh_grp",
	"uart1_grp", "i2s_in_grp", "i2s_out_grp", "gmii_grp", "rgmii_grp",
	"rmii_grp", "sgmii_grp", "i2c0_grp", "i2c1_grp", "cec0_grp", "cec1_grp",
	"sdhci_grp", "cf_grp", "xd_grp", "clcd_grp", "arm_trace_grp",
	"miphy_dbg_grp", "pcie_grp", "sata_grp"

Valid values for function names are:
For All SPEAr3xx machines:
	"firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext",
@@ -106,3 +139,17 @@ For SPEAr320 machines:
	"uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen",
	"can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2",
	"mii0_1", "i2c1", "i2c2"


For SPEAr1310 machines:
	"i2c0", "ssp0", "i2s0", "i2s1", "clcd", "arm_gpio", "smi", "gmii",
	"rgmii", "smii_0_1_2", "ras_mii_txclk", "nand", "keyboard", "uart0",
	"gpt0", "gpt1", "sdhci", "cf", "xd", "touchscreen", "uart1", "uart2_3",
	"uart4", "uart5", "rs485_0_1_tdm_0_1", "i2c_1_2", "i2c3_i2s1",
	"i2c_4_5", "i2c_6_7", "can0", "can1", "pci", "sata", "ssp1", "gpt64"

For SPEAr1340 machines:
	"pads_as_gpio", "fsmc", "keyboard", "spdif_in", "spdif_out", "gpt_0_1",
	"pwm", "vip", "cam0", "cam1", "cam2", "cam3", "smi", "ssp0", "uart0",
	"uart1", "i2s", "gmac", "i2c0", "i2c1", "cec0", "cec1", "sdhci", "cf",
	"xd", "clcd", "arm_trace", "miphy_dbg", "pcie", "sata"
+2 −0
Original line number Diff line number Diff line
@@ -7,11 +7,13 @@ if ARCH_SPEAR13XX
menu "SPEAr13xx Implementations"
config MACH_SPEAR1310
	bool "SPEAr1310 Machine support with Device Tree"
	select PINCTRL_SPEAR1310
	help
	  Supports ST SPEAr1310 machine configured via the device-tree

config MACH_SPEAR1340
	bool "SPEAr1340 Machine support with Device Tree"
	select PINCTRL_SPEAR1340
	help
	  Supports ST SPEAr1340 machine configured via the device-tree
endmenu
+10 −0
Original line number Diff line number Diff line
@@ -31,4 +31,14 @@ config PINCTRL_SPEAR320
	depends on MACH_SPEAR320
	select PINCTRL_SPEAR3XX

config PINCTRL_SPEAR1310
	bool "ST Microelectronics SPEAr1310 SoC pin controller driver"
	depends on MACH_SPEAR1310
	select PINCTRL_SPEAR

config PINCTRL_SPEAR1340
	bool "ST Microelectronics SPEAr1340 SoC pin controller driver"
	depends on MACH_SPEAR1340
	select PINCTRL_SPEAR

endif
+2 −0
Original line number Diff line number Diff line
@@ -5,3 +5,5 @@ obj-$(CONFIG_PINCTRL_SPEAR3XX) += pinctrl-spear3xx.o
obj-$(CONFIG_PINCTRL_SPEAR300)	+= pinctrl-spear300.o
obj-$(CONFIG_PINCTRL_SPEAR310)	+= pinctrl-spear310.o
obj-$(CONFIG_PINCTRL_SPEAR320)	+= pinctrl-spear320.o
obj-$(CONFIG_PINCTRL_SPEAR1310)	+= pinctrl-spear1310.o
obj-$(CONFIG_PINCTRL_SPEAR1340)	+= pinctrl-spear1340.o
+146 −0
Original line number Diff line number Diff line
@@ -244,4 +244,150 @@ int __devexit spear_pinctrl_remove(struct platform_device *pdev);
	PINCTRL_PIN(100, "PLGPIO100"),	\
	PINCTRL_PIN(101, "PLGPIO101")

#define SPEAR_PIN_102_TO_245		\
	PINCTRL_PIN(102, "PLGPIO102"),	\
	PINCTRL_PIN(103, "PLGPIO103"),	\
	PINCTRL_PIN(104, "PLGPIO104"),	\
	PINCTRL_PIN(105, "PLGPIO105"),	\
	PINCTRL_PIN(106, "PLGPIO106"),	\
	PINCTRL_PIN(107, "PLGPIO107"),	\
	PINCTRL_PIN(108, "PLGPIO108"),	\
	PINCTRL_PIN(109, "PLGPIO109"),	\
	PINCTRL_PIN(110, "PLGPIO110"),	\
	PINCTRL_PIN(111, "PLGPIO111"),	\
	PINCTRL_PIN(112, "PLGPIO112"),	\
	PINCTRL_PIN(113, "PLGPIO113"),	\
	PINCTRL_PIN(114, "PLGPIO114"),	\
	PINCTRL_PIN(115, "PLGPIO115"),	\
	PINCTRL_PIN(116, "PLGPIO116"),	\
	PINCTRL_PIN(117, "PLGPIO117"),	\
	PINCTRL_PIN(118, "PLGPIO118"),	\
	PINCTRL_PIN(119, "PLGPIO119"),	\
	PINCTRL_PIN(120, "PLGPIO120"),	\
	PINCTRL_PIN(121, "PLGPIO121"),	\
	PINCTRL_PIN(122, "PLGPIO122"),	\
	PINCTRL_PIN(123, "PLGPIO123"),	\
	PINCTRL_PIN(124, "PLGPIO124"),	\
	PINCTRL_PIN(125, "PLGPIO125"),	\
	PINCTRL_PIN(126, "PLGPIO126"),	\
	PINCTRL_PIN(127, "PLGPIO127"),	\
	PINCTRL_PIN(128, "PLGPIO128"),	\
	PINCTRL_PIN(129, "PLGPIO129"),	\
	PINCTRL_PIN(130, "PLGPIO130"),	\
	PINCTRL_PIN(131, "PLGPIO131"),	\
	PINCTRL_PIN(132, "PLGPIO132"),	\
	PINCTRL_PIN(133, "PLGPIO133"),	\
	PINCTRL_PIN(134, "PLGPIO134"),	\
	PINCTRL_PIN(135, "PLGPIO135"),	\
	PINCTRL_PIN(136, "PLGPIO136"),	\
	PINCTRL_PIN(137, "PLGPIO137"),	\
	PINCTRL_PIN(138, "PLGPIO138"),	\
	PINCTRL_PIN(139, "PLGPIO139"),	\
	PINCTRL_PIN(140, "PLGPIO140"),	\
	PINCTRL_PIN(141, "PLGPIO141"),	\
	PINCTRL_PIN(142, "PLGPIO142"),	\
	PINCTRL_PIN(143, "PLGPIO143"),	\
	PINCTRL_PIN(144, "PLGPIO144"),	\
	PINCTRL_PIN(145, "PLGPIO145"),	\
	PINCTRL_PIN(146, "PLGPIO146"),	\
	PINCTRL_PIN(147, "PLGPIO147"),	\
	PINCTRL_PIN(148, "PLGPIO148"),	\
	PINCTRL_PIN(149, "PLGPIO149"),	\
	PINCTRL_PIN(150, "PLGPIO150"),	\
	PINCTRL_PIN(151, "PLGPIO151"),	\
	PINCTRL_PIN(152, "PLGPIO152"),	\
	PINCTRL_PIN(153, "PLGPIO153"),	\
	PINCTRL_PIN(154, "PLGPIO154"),	\
	PINCTRL_PIN(155, "PLGPIO155"),	\
	PINCTRL_PIN(156, "PLGPIO156"),	\
	PINCTRL_PIN(157, "PLGPIO157"),	\
	PINCTRL_PIN(158, "PLGPIO158"),	\
	PINCTRL_PIN(159, "PLGPIO159"),	\
	PINCTRL_PIN(160, "PLGPIO160"),	\
	PINCTRL_PIN(161, "PLGPIO161"),	\
	PINCTRL_PIN(162, "PLGPIO162"),	\
	PINCTRL_PIN(163, "PLGPIO163"),	\
	PINCTRL_PIN(164, "PLGPIO164"),	\
	PINCTRL_PIN(165, "PLGPIO165"),	\
	PINCTRL_PIN(166, "PLGPIO166"),	\
	PINCTRL_PIN(167, "PLGPIO167"),	\
	PINCTRL_PIN(168, "PLGPIO168"),	\
	PINCTRL_PIN(169, "PLGPIO169"),	\
	PINCTRL_PIN(170, "PLGPIO170"),	\
	PINCTRL_PIN(171, "PLGPIO171"),	\
	PINCTRL_PIN(172, "PLGPIO172"),	\
	PINCTRL_PIN(173, "PLGPIO173"),	\
	PINCTRL_PIN(174, "PLGPIO174"),	\
	PINCTRL_PIN(175, "PLGPIO175"),	\
	PINCTRL_PIN(176, "PLGPIO176"),	\
	PINCTRL_PIN(177, "PLGPIO177"),	\
	PINCTRL_PIN(178, "PLGPIO178"),	\
	PINCTRL_PIN(179, "PLGPIO179"),	\
	PINCTRL_PIN(180, "PLGPIO180"),	\
	PINCTRL_PIN(181, "PLGPIO181"),	\
	PINCTRL_PIN(182, "PLGPIO182"),	\
	PINCTRL_PIN(183, "PLGPIO183"),	\
	PINCTRL_PIN(184, "PLGPIO184"),	\
	PINCTRL_PIN(185, "PLGPIO185"),	\
	PINCTRL_PIN(186, "PLGPIO186"),	\
	PINCTRL_PIN(187, "PLGPIO187"),	\
	PINCTRL_PIN(188, "PLGPIO188"),	\
	PINCTRL_PIN(189, "PLGPIO189"),	\
	PINCTRL_PIN(190, "PLGPIO190"),	\
	PINCTRL_PIN(191, "PLGPIO191"),	\
	PINCTRL_PIN(192, "PLGPIO192"),	\
	PINCTRL_PIN(193, "PLGPIO193"),	\
	PINCTRL_PIN(194, "PLGPIO194"),	\
	PINCTRL_PIN(195, "PLGPIO195"),	\
	PINCTRL_PIN(196, "PLGPIO196"),	\
	PINCTRL_PIN(197, "PLGPIO197"),	\
	PINCTRL_PIN(198, "PLGPIO198"),	\
	PINCTRL_PIN(199, "PLGPIO199"),	\
	PINCTRL_PIN(200, "PLGPIO200"),	\
	PINCTRL_PIN(201, "PLGPIO201"),	\
	PINCTRL_PIN(202, "PLGPIO202"),	\
	PINCTRL_PIN(203, "PLGPIO203"),	\
	PINCTRL_PIN(204, "PLGPIO204"),	\
	PINCTRL_PIN(205, "PLGPIO205"),	\
	PINCTRL_PIN(206, "PLGPIO206"),	\
	PINCTRL_PIN(207, "PLGPIO207"),	\
	PINCTRL_PIN(208, "PLGPIO208"),	\
	PINCTRL_PIN(209, "PLGPIO209"),	\
	PINCTRL_PIN(210, "PLGPIO210"),	\
	PINCTRL_PIN(211, "PLGPIO211"),	\
	PINCTRL_PIN(212, "PLGPIO212"),	\
	PINCTRL_PIN(213, "PLGPIO213"),	\
	PINCTRL_PIN(214, "PLGPIO214"),	\
	PINCTRL_PIN(215, "PLGPIO215"),	\
	PINCTRL_PIN(216, "PLGPIO216"),	\
	PINCTRL_PIN(217, "PLGPIO217"),	\
	PINCTRL_PIN(218, "PLGPIO218"),	\
	PINCTRL_PIN(219, "PLGPIO219"),	\
	PINCTRL_PIN(220, "PLGPIO220"),	\
	PINCTRL_PIN(221, "PLGPIO221"),	\
	PINCTRL_PIN(222, "PLGPIO222"),	\
	PINCTRL_PIN(223, "PLGPIO223"),	\
	PINCTRL_PIN(224, "PLGPIO224"),	\
	PINCTRL_PIN(225, "PLGPIO225"),	\
	PINCTRL_PIN(226, "PLGPIO226"),	\
	PINCTRL_PIN(227, "PLGPIO227"),	\
	PINCTRL_PIN(228, "PLGPIO228"),	\
	PINCTRL_PIN(229, "PLGPIO229"),	\
	PINCTRL_PIN(230, "PLGPIO230"),	\
	PINCTRL_PIN(231, "PLGPIO231"),	\
	PINCTRL_PIN(232, "PLGPIO232"),	\
	PINCTRL_PIN(233, "PLGPIO233"),	\
	PINCTRL_PIN(234, "PLGPIO234"),	\
	PINCTRL_PIN(235, "PLGPIO235"),	\
	PINCTRL_PIN(236, "PLGPIO236"),	\
	PINCTRL_PIN(237, "PLGPIO237"),	\
	PINCTRL_PIN(238, "PLGPIO238"),	\
	PINCTRL_PIN(239, "PLGPIO239"),	\
	PINCTRL_PIN(240, "PLGPIO240"),	\
	PINCTRL_PIN(241, "PLGPIO241"),	\
	PINCTRL_PIN(242, "PLGPIO242"),	\
	PINCTRL_PIN(243, "PLGPIO243"),	\
	PINCTRL_PIN(244, "PLGPIO244"),	\
	PINCTRL_PIN(245, "PLGPIO245")

#endif /* __PINMUX_SPEAR_H__ */
Loading