mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ARM: imx: enable pinctrl dummy states
Enable pinctrl dummy states for imx platforms without pinctrl support. Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
This commit is contained in:
		
							parent
							
								
									69964ea4c7
								
							
						
					
					
						commit
						a2aa65a332
					
				
					 9 changed files with 25 additions and 0 deletions
				
			
		| 
						 | 
					@ -14,6 +14,7 @@
 | 
				
			||||||
#include <linux/irqdomain.h>
 | 
					#include <linux/irqdomain.h>
 | 
				
			||||||
#include <linux/of_irq.h>
 | 
					#include <linux/of_irq.h>
 | 
				
			||||||
#include <linux/of_platform.h>
 | 
					#include <linux/of_platform.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
#include <asm/mach/arch.h>
 | 
					#include <asm/mach/arch.h>
 | 
				
			||||||
#include <asm/mach/time.h>
 | 
					#include <asm/mach/time.h>
 | 
				
			||||||
#include <mach/common.h>
 | 
					#include <mach/common.h>
 | 
				
			||||||
| 
						 | 
					@ -81,6 +82,8 @@ static void __init imx51_dt_init(void)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	of_irq_init(imx51_irq_match);
 | 
						of_irq_init(imx51_irq_match);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	node = of_find_matching_node(NULL, imx51_iomuxc_of_match);
 | 
						node = of_find_matching_node(NULL, imx51_iomuxc_of_match);
 | 
				
			||||||
	if (node) {
 | 
						if (node) {
 | 
				
			||||||
		of_id = of_match_node(imx51_iomuxc_of_match, node);
 | 
							of_id = of_match_node(imx51_iomuxc_of_match, node);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,6 +15,7 @@
 | 
				
			||||||
#include <linux/irqdomain.h>
 | 
					#include <linux/irqdomain.h>
 | 
				
			||||||
#include <linux/of_irq.h>
 | 
					#include <linux/of_irq.h>
 | 
				
			||||||
#include <linux/of_platform.h>
 | 
					#include <linux/of_platform.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
#include <asm/mach/arch.h>
 | 
					#include <asm/mach/arch.h>
 | 
				
			||||||
#include <asm/mach/time.h>
 | 
					#include <asm/mach/time.h>
 | 
				
			||||||
#include <mach/common.h>
 | 
					#include <mach/common.h>
 | 
				
			||||||
| 
						 | 
					@ -88,6 +89,8 @@ static void __init imx53_dt_init(void)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	of_irq_init(imx53_irq_match);
 | 
						of_irq_init(imx53_irq_match);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	node = of_find_matching_node(NULL, imx53_iomuxc_of_match);
 | 
						node = of_find_matching_node(NULL, imx53_iomuxc_of_match);
 | 
				
			||||||
	if (node) {
 | 
						if (node) {
 | 
				
			||||||
		of_id = of_match_node(imx53_iomuxc_of_match, node);
 | 
							of_id = of_match_node(imx53_iomuxc_of_match, node);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@
 | 
				
			||||||
#include <linux/of_address.h>
 | 
					#include <linux/of_address.h>
 | 
				
			||||||
#include <linux/of_irq.h>
 | 
					#include <linux/of_irq.h>
 | 
				
			||||||
#include <linux/of_platform.h>
 | 
					#include <linux/of_platform.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
#include <linux/phy.h>
 | 
					#include <linux/phy.h>
 | 
				
			||||||
#include <linux/micrel_phy.h>
 | 
					#include <linux/micrel_phy.h>
 | 
				
			||||||
#include <asm/smp_twd.h>
 | 
					#include <asm/smp_twd.h>
 | 
				
			||||||
| 
						 | 
					@ -77,6 +78,12 @@ static int ksz9021rn_phy_fixup(struct phy_device *phydev)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void __init imx6q_init_machine(void)
 | 
					static void __init imx6q_init_machine(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
						 * This should be removed when all imx6q boards have pinctrl
 | 
				
			||||||
 | 
						 * states for devices defined in device tree.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (of_machine_is_compatible("fsl,imx6q-sabrelite"))
 | 
						if (of_machine_is_compatible("fsl,imx6q-sabrelite"))
 | 
				
			||||||
		phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK,
 | 
							phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK,
 | 
				
			||||||
					   ksz9021rn_phy_fixup);
 | 
										   ksz9021rn_phy_fixup);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@
 | 
				
			||||||
#include <linux/kernel.h>
 | 
					#include <linux/kernel.h>
 | 
				
			||||||
#include <linux/init.h>
 | 
					#include <linux/init.h>
 | 
				
			||||||
#include <linux/io.h>
 | 
					#include <linux/io.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <asm/mach/map.h>
 | 
					#include <asm/mach/map.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,4 +59,5 @@ void __init imx1_soc_init(void)
 | 
				
			||||||
						MX1_GPIO_INT_PORTC, 0);
 | 
											MX1_GPIO_INT_PORTC, 0);
 | 
				
			||||||
	mxc_register_gpio("imx1-gpio", 3, MX1_GPIO4_BASE_ADDR, SZ_256,
 | 
						mxc_register_gpio("imx1-gpio", 3, MX1_GPIO4_BASE_ADDR, SZ_256,
 | 
				
			||||||
						MX1_GPIO_INT_PORTD, 0);
 | 
											MX1_GPIO_INT_PORTD, 0);
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +20,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <linux/mm.h>
 | 
					#include <linux/mm.h>
 | 
				
			||||||
#include <linux/init.h>
 | 
					#include <linux/init.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
#include <mach/hardware.h>
 | 
					#include <mach/hardware.h>
 | 
				
			||||||
#include <mach/common.h>
 | 
					#include <mach/common.h>
 | 
				
			||||||
#include <mach/devices-common.h>
 | 
					#include <mach/devices-common.h>
 | 
				
			||||||
| 
						 | 
					@ -88,6 +89,7 @@ void __init imx21_soc_init(void)
 | 
				
			||||||
	mxc_register_gpio("imx21-gpio", 4, MX21_GPIO5_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0);
 | 
						mxc_register_gpio("imx21-gpio", 4, MX21_GPIO5_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0);
 | 
				
			||||||
	mxc_register_gpio("imx21-gpio", 5, MX21_GPIO6_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0);
 | 
						mxc_register_gpio("imx21-gpio", 5, MX21_GPIO6_BASE_ADDR, SZ_256, MX21_INT_GPIO, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
	imx_add_imx_dma();
 | 
						imx_add_imx_dma();
 | 
				
			||||||
	platform_device_register_simple("imx21-audmux", 0, imx21_audmux_res,
 | 
						platform_device_register_simple("imx21-audmux", 0, imx21_audmux_res,
 | 
				
			||||||
					ARRAY_SIZE(imx21_audmux_res));
 | 
										ARRAY_SIZE(imx21_audmux_res));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@
 | 
				
			||||||
#include <linux/mm.h>
 | 
					#include <linux/mm.h>
 | 
				
			||||||
#include <linux/init.h>
 | 
					#include <linux/init.h>
 | 
				
			||||||
#include <linux/err.h>
 | 
					#include <linux/err.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <asm/pgtable.h>
 | 
					#include <asm/pgtable.h>
 | 
				
			||||||
#include <asm/mach/map.h>
 | 
					#include <asm/mach/map.h>
 | 
				
			||||||
| 
						 | 
					@ -95,6 +96,7 @@ void __init imx25_soc_init(void)
 | 
				
			||||||
	mxc_register_gpio("imx31-gpio", 2, MX25_GPIO3_BASE_ADDR, SZ_16K, MX25_INT_GPIO3, 0);
 | 
						mxc_register_gpio("imx31-gpio", 2, MX25_GPIO3_BASE_ADDR, SZ_16K, MX25_INT_GPIO3, 0);
 | 
				
			||||||
	mxc_register_gpio("imx31-gpio", 3, MX25_GPIO4_BASE_ADDR, SZ_16K, MX25_INT_GPIO4, 0);
 | 
						mxc_register_gpio("imx31-gpio", 3, MX25_GPIO4_BASE_ADDR, SZ_16K, MX25_INT_GPIO4, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
	/* i.mx25 has the i.mx35 type sdma */
 | 
						/* i.mx25 has the i.mx35 type sdma */
 | 
				
			||||||
	imx_add_imx_sdma("imx35-sdma", MX25_SDMA_BASE_ADDR, MX25_INT_SDMA, &imx25_sdma_pdata);
 | 
						imx_add_imx_sdma("imx35-sdma", MX25_SDMA_BASE_ADDR, MX25_INT_SDMA, &imx25_sdma_pdata);
 | 
				
			||||||
	/* i.mx25 has the i.mx31 type audmux */
 | 
						/* i.mx25 has the i.mx31 type audmux */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +20,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <linux/mm.h>
 | 
					#include <linux/mm.h>
 | 
				
			||||||
#include <linux/init.h>
 | 
					#include <linux/init.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
#include <mach/hardware.h>
 | 
					#include <mach/hardware.h>
 | 
				
			||||||
#include <mach/common.h>
 | 
					#include <mach/common.h>
 | 
				
			||||||
#include <mach/devices-common.h>
 | 
					#include <mach/devices-common.h>
 | 
				
			||||||
| 
						 | 
					@ -89,6 +90,7 @@ void __init imx27_soc_init(void)
 | 
				
			||||||
	mxc_register_gpio("imx21-gpio", 4, MX27_GPIO5_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0);
 | 
						mxc_register_gpio("imx21-gpio", 4, MX27_GPIO5_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0);
 | 
				
			||||||
	mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0);
 | 
						mxc_register_gpio("imx21-gpio", 5, MX27_GPIO6_BASE_ADDR, SZ_256, MX27_INT_GPIO, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
	imx_add_imx_dma();
 | 
						imx_add_imx_dma();
 | 
				
			||||||
	/* imx27 has the imx21 type audmux */
 | 
						/* imx27 has the imx21 type audmux */
 | 
				
			||||||
	platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res,
 | 
						platform_device_register_simple("imx21-audmux", 0, imx27_audmux_res,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@
 | 
				
			||||||
#include <linux/mm.h>
 | 
					#include <linux/mm.h>
 | 
				
			||||||
#include <linux/init.h>
 | 
					#include <linux/init.h>
 | 
				
			||||||
#include <linux/err.h>
 | 
					#include <linux/err.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <asm/pgtable.h>
 | 
					#include <asm/pgtable.h>
 | 
				
			||||||
#include <asm/system_misc.h>
 | 
					#include <asm/system_misc.h>
 | 
				
			||||||
| 
						 | 
					@ -267,6 +268,7 @@ void __init imx35_soc_init(void)
 | 
				
			||||||
	mxc_register_gpio("imx31-gpio", 1, MX35_GPIO2_BASE_ADDR, SZ_16K, MX35_INT_GPIO2, 0);
 | 
						mxc_register_gpio("imx31-gpio", 1, MX35_GPIO2_BASE_ADDR, SZ_16K, MX35_INT_GPIO2, 0);
 | 
				
			||||||
	mxc_register_gpio("imx31-gpio", 2, MX35_GPIO3_BASE_ADDR, SZ_16K, MX35_INT_GPIO3, 0);
 | 
						mxc_register_gpio("imx31-gpio", 2, MX35_GPIO3_BASE_ADDR, SZ_16K, MX35_INT_GPIO3, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
	if (to_version == 1) {
 | 
						if (to_version == 1) {
 | 
				
			||||||
		strncpy(imx35_sdma_pdata.fw_name, "sdma-imx35-to1.bin",
 | 
							strncpy(imx35_sdma_pdata.fw_name, "sdma-imx35-to1.bin",
 | 
				
			||||||
			strlen(imx35_sdma_pdata.fw_name));
 | 
								strlen(imx35_sdma_pdata.fw_name));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@
 | 
				
			||||||
#include <linux/mm.h>
 | 
					#include <linux/mm.h>
 | 
				
			||||||
#include <linux/init.h>
 | 
					#include <linux/init.h>
 | 
				
			||||||
#include <linux/clk.h>
 | 
					#include <linux/clk.h>
 | 
				
			||||||
 | 
					#include <linux/pinctrl/machine.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <asm/system_misc.h>
 | 
					#include <asm/system_misc.h>
 | 
				
			||||||
#include <asm/mach/map.h>
 | 
					#include <asm/mach/map.h>
 | 
				
			||||||
| 
						 | 
					@ -223,6 +224,7 @@ void __init imx53_soc_init(void)
 | 
				
			||||||
	mxc_register_gpio("imx31-gpio", 5, MX53_GPIO6_BASE_ADDR, SZ_16K, MX53_INT_GPIO6_LOW, MX53_INT_GPIO6_HIGH);
 | 
						mxc_register_gpio("imx31-gpio", 5, MX53_GPIO6_BASE_ADDR, SZ_16K, MX53_INT_GPIO6_LOW, MX53_INT_GPIO6_HIGH);
 | 
				
			||||||
	mxc_register_gpio("imx31-gpio", 6, MX53_GPIO7_BASE_ADDR, SZ_16K, MX53_INT_GPIO7_LOW, MX53_INT_GPIO7_HIGH);
 | 
						mxc_register_gpio("imx31-gpio", 6, MX53_GPIO7_BASE_ADDR, SZ_16K, MX53_INT_GPIO7_LOW, MX53_INT_GPIO7_HIGH);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pinctrl_provide_dummies();
 | 
				
			||||||
	/* i.mx53 has the i.mx35 type sdma */
 | 
						/* i.mx53 has the i.mx35 type sdma */
 | 
				
			||||||
	imx_add_imx_sdma("imx35-sdma", MX53_SDMA_BASE_ADDR, MX53_INT_SDMA, &imx53_sdma_pdata);
 | 
						imx_add_imx_sdma("imx35-sdma", MX53_SDMA_BASE_ADDR, MX53_INT_SDMA, &imx53_sdma_pdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue