瀏覽代碼

Merge tag 'at91-4.4-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into fixes

Merge "Second fixes for 4.4" from Alexandre Belloni:

- fix of a hardware setup that prevents the sd/mmc interface to show up on
  sama5d2.
- proper selection of pinctrl drivers. PIO4 is necessary for the sama5d2 to
  boot.

* tag 'at91-4.4-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: at91: fix pinctrl driver selection
  ARM: at91/dt: add always-on to 1.8V regulator
Arnd Bergmann 9 年之前
父節點
當前提交
9421a14597
共有 3 個文件被更改,包括 12 次插入2 次删除
  1. 1 0
      arch/arm/boot/dts/at91-sama5d2_xplained.dts
  2. 5 1
      arch/arm/mach-at91/Kconfig
  3. 6 1
      arch/arm/mach-at91/pm.c

+ 1 - 0
arch/arm/boot/dts/at91-sama5d2_xplained.dts

@@ -184,6 +184,7 @@
 							regulator-name = "VDD_SDHC_1V8";
 							regulator-name = "VDD_SDHC_1V8";
 							regulator-min-microvolt = <1800000>;
 							regulator-min-microvolt = <1800000>;
 							regulator-max-microvolt = <1800000>;
 							regulator-max-microvolt = <1800000>;
+							regulator-always-on;
 						};
 						};
 					};
 					};
 				};
 				};

+ 5 - 1
arch/arm/mach-at91/Kconfig

@@ -4,7 +4,6 @@ menuconfig ARCH_AT91
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select COMMON_CLK_AT91
 	select COMMON_CLK_AT91
 	select PINCTRL
 	select PINCTRL
-	select PINCTRL_AT91
 	select SOC_BUS
 	select SOC_BUS
 
 
 if ARCH_AT91
 if ARCH_AT91
@@ -17,6 +16,7 @@ config SOC_SAMA5D2
 	select HAVE_AT91_USB_CLK
 	select HAVE_AT91_USB_CLK
 	select HAVE_AT91_H32MX
 	select HAVE_AT91_H32MX
 	select HAVE_AT91_GENERATED_CLK
 	select HAVE_AT91_GENERATED_CLK
+	select PINCTRL_AT91PIO4
 	help
 	help
 	  Select this if ou are using one of Atmel's SAMA5D2 family SoC.
 	  Select this if ou are using one of Atmel's SAMA5D2 family SoC.
 
 
@@ -27,6 +27,7 @@ config SOC_SAMA5D3
 	select HAVE_AT91_UTMI
 	select HAVE_AT91_UTMI
 	select HAVE_AT91_SMD
 	select HAVE_AT91_SMD
 	select HAVE_AT91_USB_CLK
 	select HAVE_AT91_USB_CLK
+	select PINCTRL_AT91
 	help
 	help
 	  Select this if you are using one of Atmel's SAMA5D3 family SoC.
 	  Select this if you are using one of Atmel's SAMA5D3 family SoC.
 	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
 	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
@@ -40,6 +41,7 @@ config SOC_SAMA5D4
 	select HAVE_AT91_SMD
 	select HAVE_AT91_SMD
 	select HAVE_AT91_USB_CLK
 	select HAVE_AT91_USB_CLK
 	select HAVE_AT91_H32MX
 	select HAVE_AT91_H32MX
+	select PINCTRL_AT91
 	help
 	help
 	  Select this if you are using one of Atmel's SAMA5D4 family SoC.
 	  Select this if you are using one of Atmel's SAMA5D4 family SoC.
 
 
@@ -50,6 +52,7 @@ config SOC_AT91RM9200
 	select CPU_ARM920T
 	select CPU_ARM920T
 	select HAVE_AT91_USB_CLK
 	select HAVE_AT91_USB_CLK
 	select MIGHT_HAVE_PCI
 	select MIGHT_HAVE_PCI
+	select PINCTRL_AT91
 	select SOC_SAM_V4_V5
 	select SOC_SAM_V4_V5
 	select SRAM if PM
 	select SRAM if PM
 	help
 	help
@@ -65,6 +68,7 @@ config SOC_AT91SAM9
 	select HAVE_AT91_UTMI
 	select HAVE_AT91_UTMI
 	select HAVE_FB_ATMEL
 	select HAVE_FB_ATMEL
 	select MEMORY
 	select MEMORY
+	select PINCTRL_AT91
 	select SOC_SAM_V4_V5
 	select SOC_SAM_V4_V5
 	select SRAM if PM
 	select SRAM if PM
 	help
 	help

+ 6 - 1
arch/arm/mach-at91/pm.c

@@ -41,8 +41,10 @@
  * implementation should be moved down into the pinctrl driver and get
  * implementation should be moved down into the pinctrl driver and get
  * called as part of the generic suspend/resume path.
  * called as part of the generic suspend/resume path.
  */
  */
+#ifdef CONFIG_PINCTRL_AT91
 extern void at91_pinctrl_gpio_suspend(void);
 extern void at91_pinctrl_gpio_suspend(void);
 extern void at91_pinctrl_gpio_resume(void);
 extern void at91_pinctrl_gpio_resume(void);
+#endif
 
 
 static struct {
 static struct {
 	unsigned long uhp_udp_mask;
 	unsigned long uhp_udp_mask;
@@ -151,8 +153,9 @@ static void at91_pm_suspend(suspend_state_t state)
 
 
 static int at91_pm_enter(suspend_state_t state)
 static int at91_pm_enter(suspend_state_t state)
 {
 {
+#ifdef CONFIG_PINCTRL_AT91
 	at91_pinctrl_gpio_suspend();
 	at91_pinctrl_gpio_suspend();
-
+#endif
 	switch (state) {
 	switch (state) {
 	/*
 	/*
 	 * Suspend-to-RAM is like STANDBY plus slow clock mode, so
 	 * Suspend-to-RAM is like STANDBY plus slow clock mode, so
@@ -192,7 +195,9 @@ static int at91_pm_enter(suspend_state_t state)
 error:
 error:
 	target_state = PM_SUSPEND_ON;
 	target_state = PM_SUSPEND_ON;
 
 
+#ifdef CONFIG_PINCTRL_AT91
 	at91_pinctrl_gpio_resume();
 	at91_pinctrl_gpio_resume();
+#endif
 	return 0;
 	return 0;
 }
 }