projects/linux·commit 813a95e5

Merge tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

813a95e5 · Linus Torvalds <[email protected]> · 2012-05-22 09:39:42 -07:00

Pull arm soc-specific pinctrl changes from Olof Johansson:
 "With this, five platforms are moving to the relatively new pinctrl
  subsystem for their pin management, replacing the older soc specific
  in-kernel interfaces with common code.

  There is quite a bit of net addition of code for each platform being
  added to the pinctrl subsystem.  But the payback comes later when
  adding new boards can be done by only providing new device trees
  instead."

Fix up trivial conflicts in arch/arm/mach-ux500/{Makefile,board-mop500.c}

* tag 'pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)
  mtd: nand: gpmi: fix compile error caused by pinctrl call
  ARM: PRIMA2: select PINCTRL and PINCTRL_SIRF in Kconfig
  ARM: nomadik: enable PINCTRL_NOMADIK where needed
  ARM: mxs: enable pinctrl support
  video: mxsfb: adopt pinctrl support
  ASoC: mxs-saif: adopt pinctrl support
  i2c: mxs: adopt pinctrl support
  mtd: nand: gpmi: adopt pinctrl support
  mmc: mxs-mmc: adopt pinctrl support
  serial: mxs-auart: adopt pinctrl support
  serial: amba-pl011: adopt pinctrl support
  spi/imx: adopt pinctrl support
  i2c: imx: adopt pinctrl support
  can: flexcan: adopt pinctrl support
  net: fec: adopt pinctrl support
  ARM: ux500: switch MSP to using pinctrl for pins
  ARM: ux500: alter MSP registration to return a device pointer
  ARM: ux500: switch to using pinctrl for uart0
  ARM: ux500: delete custom pin control system
  ARM: ux500: switch over to Nomadik pinctrl driver
  ...
Commit
813a95e5b4fa936bbde10ef89188932745dcd7f4
Parents
9f639269 · f3f08dcb

Merge commit. Changes below are compared with the first parent: 9f639269.

Changes

118 files changed · +10999 −5588

FileStatusAddDelContent
Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txtadded+108−0View file
MAINTAINERSmodified+8−15View file
arch/arm/Kconfigmodified+4−0View file
arch/arm/boot/dts/spear300-evb.dtsmodified+38−0View file
arch/arm/boot/dts/spear300.dtsimodified+5−0View file
arch/arm/boot/dts/spear310-evb.dtsmodified+61−0View file
arch/arm/boot/dts/spear310.dtsimodified+5−0View file
arch/arm/boot/dts/spear320-evb.dtsmodified+61−0View file
arch/arm/boot/dts/spear320.dtsimodified+6−1View file
arch/arm/boot/dts/tegra-cardhu.dtsmodified+44−0View file
arch/arm/boot/dts/tegra-harmony.dtsmodified+224−0View file
arch/arm/boot/dts/tegra-paz00.dtsmodified+220−0View file
arch/arm/boot/dts/tegra-seaboard.dtsmodified+243−0View file
arch/arm/boot/dts/tegra-trimslice.dtsmodified+230−0View file
arch/arm/boot/dts/tegra-ventana.dtsmodified+230−0View file
arch/arm/configs/nhk8815_defconfigmodified+1−0View file
arch/arm/mach-imx/Kconfigmodified+2−0View file
arch/arm/mach-imx/imx51-dt.cmodified+3−0View file
arch/arm/mach-imx/imx53-dt.cmodified+3−0View file
arch/arm/mach-imx/mach-imx6q.cmodified+7−0View file
arch/arm/mach-imx/mm-imx1.cmodified+2−0View file
arch/arm/mach-imx/mm-imx21.cmodified+2−0View file
arch/arm/mach-imx/mm-imx25.cmodified+2−0View file
arch/arm/mach-imx/mm-imx27.cmodified+2−0View file
arch/arm/mach-imx/mm-imx3.cmodified+2−0View file
arch/arm/mach-imx/mm-imx5.cmodified+2−0View file
arch/arm/mach-mxs/Kconfigmodified+2−0View file
arch/arm/mach-mxs/include/mach/common.hmodified+2−0View file
arch/arm/mach-mxs/mach-apx4devkit.cmodified+2−0View file
arch/arm/mach-mxs/mach-m28evk.cmodified+2−0View file
arch/arm/mach-mxs/mach-mx23evk.cmodified+2−0View file
arch/arm/mach-mxs/mach-mx28evk.cmodified+2−0View file
arch/arm/mach-mxs/mach-stmp378x_devb.cmodified+2−0View file
arch/arm/mach-mxs/mach-tx28.cmodified+2−0View file
arch/arm/mach-mxs/mm.cmodified+11−0View file
arch/arm/mach-nomadik/Kconfigmodified+1−0View file
arch/arm/mach-spear3xx/Kconfigmodified+3−0View file
arch/arm/mach-spear3xx/include/mach/generic.hmodified+0−128View file
arch/arm/mach-spear3xx/spear300.cmodified+1−388View file
arch/arm/mach-spear3xx/spear310.cmodified+1−160View file
arch/arm/mach-spear3xx/spear320.cmodified+1−402View file
arch/arm/mach-spear3xx/spear3xx.cmodified+0−425View file
arch/arm/mach-tegra/Makefilemodified+0−3View file
arch/arm/mach-tegra/board-dt-tegra20.cmodified+0−31View file
arch/arm/mach-tegra/board-harmony-pinmux.cmodified+126−140View file
arch/arm/mach-tegra/board-paz00-pinmux.cmodified+126−137View file
arch/arm/mach-tegra/board-pinmux.cmodified+44−61View file
arch/arm/mach-tegra/board-pinmux.hmodified+28−12View file
arch/arm/mach-tegra/board-seaboard-pinmux.cmodified+153−193View file
arch/arm/mach-tegra/board-seaboard.cmodified+4−17View file
arch/arm/mach-tegra/board-trimslice-pinmux.cmodified+127−137View file
arch/arm/mach-tegra/board-trimslice.cmodified+5−10View file
arch/arm/mach-tegra/devices.cmodified+4−1View file
arch/arm/mach-tegra/include/mach/gpio-tegra.hmodified+0−9View file
arch/arm/mach-tegra/include/mach/pinmux-tegra20.hdeleted+0−184View before deletion
arch/arm/mach-tegra/include/mach/pinmux-tegra30.hdeleted+0−320View before deletion
arch/arm/mach-tegra/include/mach/pinmux.hdeleted+0−302View before deletion
arch/arm/mach-tegra/pinmux-tegra20-tables.cdeleted+0−244View before deletion
arch/arm/mach-tegra/pinmux-tegra30-tables.cdeleted+0−376View before deletion
arch/arm/mach-tegra/pinmux.cdeleted+0−987View before deletion
arch/arm/mach-tegra/usb_phy.cmodified+0−1View file
arch/arm/mach-ux500/Kconfigmodified+3−0View file
arch/arm/mach-ux500/Makefilemodified+2−1View file
arch/arm/mach-ux500/board-mop500-msp.cadded+267−0View file
arch/arm/mach-ux500/board-mop500-msp.hadded+14−0View file
arch/arm/mach-ux500/board-mop500-pins.cmodified+471−262View file
arch/arm/mach-ux500/board-mop500.cmodified+69−30View file
arch/arm/mach-ux500/board-mop500.hmodified+7−3View file
arch/arm/mach-ux500/clock.cmodified+5−3View file
arch/arm/mach-ux500/cpu-db8500.cmodified+1−0View file
arch/arm/mach-ux500/cpu.cmodified+12−0View file
arch/arm/mach-ux500/devices-common.hmodified+12−0View file
arch/arm/mach-ux500/devices-db8500.hmodified+0−10View file
arch/arm/mach-ux500/include/mach/msp.hadded+29−0View file
arch/arm/mach-ux500/pins-db8500.hmodified+36−36View file
arch/arm/plat-nomadik/include/plat/gpio-nomadik.hmodified+8−0View file
arch/arm/plat-nomadik/include/plat/pincfg.hmodified+32−0View file
arch/arm/plat-spear/Kconfigmodified+1−0View file
arch/arm/plat-spear/Makefilemodified+1−1View file
arch/arm/plat-spear/include/plat/padmux.hdeleted+0−92View before deletion
arch/arm/plat-spear/padmux.cdeleted+0−164View before deletion
drivers/gpio/Makefilemodified+0−1View file
drivers/gpio/gpio-tegra.cmodified+21−18View file
drivers/i2c/busses/i2c-imx.cmodified+8−0View file
drivers/i2c/busses/i2c-mxs.cmodified+6−0View file
drivers/mmc/host/mxs-mmc.cmodified+8−0View file
drivers/mmc/host/sdhci-esdhc-imx.cmodified+9−0View file
drivers/mmc/host/sdhci-tegra.cmodified+5−19View file
drivers/mtd/nand/gpmi-nand/gpmi-nand.cmodified+9−0View file
drivers/net/can/flexcan.cmodified+6−0View file
drivers/net/ethernet/freescale/fec.cmodified+9−0View file
drivers/pinctrl/Kconfigmodified+12−0View file
drivers/pinctrl/Makefilemodified+4−0View file
drivers/pinctrl/pinctrl-nomadik-db8500.cadded+857−0View file
drivers/gpio/gpio-nomadik.c → drivers/pinctrl/pinctrl-nomadik.crenamed+725−132View file
drivers/pinctrl/pinctrl-nomadik.hadded+77−0View file
drivers/pinctrl/pinctrl-tegra.cmodified+136−100View file
drivers/pinctrl/pinctrl-tegra.hmodified+3−20View file
drivers/pinctrl/pinctrl-tegra20.cmodified+37−3View file
drivers/pinctrl/pinctrl-tegra30.cmodified+37−3View file
drivers/pinctrl/spear/Kconfigadded+34−0View file
drivers/pinctrl/spear/Makefileadded+7−0View file
drivers/pinctrl/spear/pinctrl-spear.cadded+354−0View file
drivers/pinctrl/spear/pinctrl-spear.hadded+142−0View file
drivers/pinctrl/spear/pinctrl-spear300.cadded+708−0View file
drivers/pinctrl/spear/pinctrl-spear310.cadded+431−0View file
drivers/pinctrl/spear/pinctrl-spear320.cadded+3468−0View file
drivers/pinctrl/spear/pinctrl-spear3xx.cadded+588−0View file
drivers/pinctrl/spear/pinctrl-spear3xx.hadded+92−0View file
drivers/spi/spi-imx.cmodified+8−0View file
drivers/tty/serial/amba-pl011.cmodified+8−0View file
drivers/tty/serial/imx.cmodified+8−0View file
drivers/tty/serial/mxs-auart.cmodified+8−0View file
drivers/usb/host/ehci-tegra.cmodified+7−6View file
drivers/video/mxsfb.cmodified+9−0View file
include/linux/pinctrl/pinctrl-state.hmodified+13−0View file
include/linux/platform_data/tegra_usb.hmodified+1−0View file
sound/soc/mxs/mxs-saif.cmodified+8−0View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt

View file
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
new file mode 100644
index 0000000..3664d37
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
@@ -0,0 +1,108 @@
+ST Microelectronics, SPEAr pinmux controller
+
+Required properties:
+- compatible : "st,spear300-pinmux"
+ : "st,spear310-pinmux"
+ : "st,spear320-pinmux"
+- reg : Address range of the pinctrl registers
+- st,pinmux-mode: Mandatory for SPEAr300 and SPEAr320 and invalid for others.
+ - Its values for SPEAr300:
+ - NAND_MODE : <0>
+ - NOR_MODE : <1>
+ - PHOTO_FRAME_MODE : <2>
+ - LEND_IP_PHONE_MODE : <3>
+ - HEND_IP_PHONE_MODE : <4>
+ - LEND_WIFI_PHONE_MODE : <5>
+ - HEND_WIFI_PHONE_MODE : <6>
+ - ATA_PABX_WI2S_MODE : <7>
+ - ATA_PABX_I2S_MODE : <8>
+ - CAML_LCDW_MODE : <9>
+ - CAMU_LCD_MODE : <10>
+ - CAMU_WLCD_MODE : <11>
+ - CAML_LCD_MODE : <12>
+ - Its values for SPEAr320:
+ - AUTO_NET_SMII_MODE : <0>
+ - AUTO_NET_MII_MODE : <1>
+ - AUTO_EXP_MODE : <2>
+ - SMALL_PRINTERS_MODE : <3>
+ - EXTENDED_MODE : <4>
+
+Please refer to pinctrl-bindings.txt in this directory for details of the common
+pinctrl bindings used by client devices.
+
+SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each
+of these subnodes represents muxing for a pin, a group, or a list of pins or
+groups.
+
+The name of each subnode is not important; all subnodes should be enumerated
+and processed purely based on their content.
+
+Required subnode-properties:
+- st,pins : An array of strings. Each string contains the name of a pin or
+ group.
+- st,function: A string containing the name of the function to mux to the pin or
+ group. See the SPEAr's TRM to determine which are valid for each pin or group.
+
+ Valid values for group and function names can be found from looking at the
+ group and function arrays in driver files:
+ drivers/pinctrl/spear/pinctrl-spear3*0.c
+
+Valid values for group names are:
+For All SPEAr3xx machines:
+ "firda_grp", "i2c0_grp", "ssp_cs_grp", "ssp0_grp", "mii0_grp",
+ "gpio0_pin0_grp", "gpio0_pin1_grp", "gpio0_pin2_grp", "gpio0_pin3_grp",
+ "gpio0_pin4_grp", "gpio0_pin5_grp", "uart0_ext_grp", "uart0_grp",
+ "timer_0_1_grp", timer_0_1_pins, "timer_2_3_grp"
+
+For SPEAr300 machines:
+ "fsmc_2chips_grp", "fsmc_4chips_grp", "clcd_lcdmode_grp",
+ "clcd_pfmode_grp", "tdm_grp", "i2c_clk_grp_grp", "caml_grp", "camu_grp",
+ "dac_grp", "i2s_grp", "sdhci_4bit_grp", "sdhci_8bit_grp",
+ "gpio1_0_to_3_grp", "gpio1_4_to_7_grp"
+
+For SPEAr310 machines:
+ "emi_cs_0_to_5_grp", "uart1_grp", "uart2_grp", "uart3_grp", "uart4_grp",
+ "uart5_grp", "fsmc_grp", "rs485_0_grp", "rs485_1_grp", "tdm_grp"
+
+For SPEAr320 machines:
+ "clcd_grp", "emi_grp", "fsmc_8bit_grp", "fsmc_16bit_grp", "spp_grp",
+ "sdhci_led_grp", "sdhci_cd_12_grp", "sdhci_cd_51_grp", "i2s_grp",
+ "uart1_grp", "uart1_modem_2_to_7_grp", "uart1_modem_31_to_36_grp",
+ "uart1_modem_34_to_45_grp", "uart1_modem_80_to_85_grp", "uart2_grp",
+ "uart3_8_9_grp", "uart3_15_16_grp", "uart3_41_42_grp",
+ "uart3_52_53_grp", "uart3_73_74_grp", "uart3_94_95_grp",
+ "uart3_98_99_grp", "uart4_6_7_grp", "uart4_13_14_grp",
+ "uart4_39_40_grp", "uart4_71_72_grp", "uart4_92_93_grp",
+ "uart4_100_101_grp", "uart5_4_5_grp", "uart5_37_38_grp",
+ "uart5_69_70_grp", "uart5_90_91_grp", "uart6_2_3_grp",
+ "uart6_88_89_grp", "rs485_grp", "touchscreen_grp", "can0_grp",
+ "can1_grp", "pwm0_1_pin_8_9_grp", "pwm0_1_pin_14_15_grp",
+ "pwm0_1_pin_30_31_grp", "pwm0_1_pin_37_38_grp", "pwm0_1_pin_42_43_grp",
+ "pwm0_1_pin_59_60_grp", "pwm0_1_pin_88_89_grp", "pwm2_pin_7_grp",
+ "pwm2_pin_13_grp", "pwm2_pin_29_grp", "pwm2_pin_34_grp",
+ "pwm2_pin_41_grp", "pwm2_pin_58_grp", "pwm2_pin_87_grp",
+ "pwm3_pin_6_grp", "pwm3_pin_12_grp", "pwm3_pin_28_grp",
+ "pwm3_pin_40_grp", "pwm3_pin_57_grp", "pwm3_pin_86_grp",
+ "ssp1_17_20_grp", "ssp1_36_39_grp", "ssp1_48_51_grp", "ssp1_65_68_grp",
+ "ssp1_94_97_grp", "ssp2_13_16_grp", "ssp2_32_35_grp", "ssp2_44_47_grp",
+ "ssp2_61_64_grp", "ssp2_90_93_grp", "mii2_grp", "smii0_1_grp",
+ "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"
+
+Valid values for function names are:
+For All SPEAr3xx machines:
+ "firda", "i2c0", "ssp_cs", "ssp0", "mii0", "gpio0", "uart0_ext",
+ "uart0", "timer_0_1", "timer_2_3"
+
+For SPEAr300 machines:
+ "fsmc", "clcd", "tdm", "i2c1", "cam", "dac", "i2s", "sdhci", "gpio1"
+
+For SPEAr310 machines:
+ "emi", "uart1", "uart2", "uart3", "uart4", "uart5", "fsmc", "rs485_0",
+ "rs485_1", "tdm"
+
+For SPEAr320 machines:
+ "clcd", "emi", "fsmc", "spp", "sdhci", "i2s", "uart1", "uart1_modem",
+ "uart2", "uart3", "uart4", "uart5", "uart6", "rs485", "touchscreen",
+ "can0", "can1", "pwm0_1", "pwm2", "pwm3", "ssp1", "ssp2", "mii2",
+ "mii0_1", "i2c1", "i2c2"

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 1a4bf92..17360c7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5240,6 +5240,14 @@ M: Linus Walleij <[email protected]>
S: Maintained
F: drivers/pinctrl/
+PIN CONTROLLER - ST SPEAR
+M: Viresh Kumar <[email protected]>
+L: [email protected] (moderated for non-subscribers)
+W: http://www.st.com/spear
+S: Maintained
+F: driver/pinctrl/spear/
+
PKTCDVD DRIVER
M: Peter Osterlund <[email protected]>
S: Maintained
@@ -6344,21 +6352,6 @@ F: arch/arm/mach-spear*/clock.c
F: arch/arm/plat-spear/clock.c
F: arch/arm/plat-spear/include/plat/clock.h
-SPEAR PAD MULTIPLEXING SUPPORT
-M: Viresh Kumar <[email protected]>
-L: [email protected] (moderated for non-subscribers)
-W: http://www.st.com/spear
-S: Maintained
-F: arch/arm/plat-spear/include/plat/padmux.h
-F: arch/arm/plat-spear/padmux.c
-F: arch/arm/mach-spear*/spear*xx.c
-F: arch/arm/mach-spear*/include/mach/generic.h
-F: arch/arm/mach-spear3xx/spear3*0.c
-F: arch/arm/mach-spear3xx/spear3*0_evb.c
-F: arch/arm/mach-spear6xx/spear600.c
-F: arch/arm/mach-spear6xx/spear600_evb.c
-
SPI SUBSYSTEM
M: Grant Likely <[email protected]>

arch/arm/Kconfig

View file
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 82936f6..58e2f78 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -403,6 +403,8 @@ config ARCH_PRIMA2
select CLKDEV_LOOKUP
select GENERIC_IRQ_CHIP
select MIGHT_HAVE_CACHE_L2X0
+ select PINCTRL
+ select PINCTRL_SIRF
select USE_OF
select ZONE_DMA
help
@@ -465,6 +467,7 @@ config ARCH_MXS
select CLKDEV_LOOKUP
select CLKSRC_MMIO
select HAVE_CLK_PREPARE
+ select PINCTRL
help
Support for Freescale MXS-based family of processors
@@ -919,6 +922,7 @@ config ARCH_NOMADIK
select CPU_ARM926T
select CLKDEV_LOOKUP
select GENERIC_CLOCKEVENTS
+ select PINCTRL
select MIGHT_HAVE_CACHE_L2X0
select ARCH_REQUIRE_GPIOLIB
help

arch/arm/boot/dts/spear300-evb.dts

View file
diff --git a/arch/arm/boot/dts/spear300-evb.dts b/arch/arm/boot/dts/spear300-evb.dts
index 6a79d69..910e264 100644
--- a/arch/arm/boot/dts/spear300-evb.dts
+++ b/arch/arm/boot/dts/spear300-evb.dts
@@ -25,6 +25,44 @@
};
ahb {
+ pinmux@99000000 {
+ st,pinmux-mode = <2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ i2c0 {
+ st,pins = "i2c0_grp";
+ st,function = "i2c0";
+ };
+ ssp0 {
+ st,pins = "ssp0_grp";
+ st,function = "ssp0";
+ };
+ mii0 {
+ st,pins = "mii0_grp";
+ st,function = "mii0";
+ };
+ uart0 {
+ st,pins = "uart0_grp";
+ st,function = "uart0";
+ };
+ clcd {
+ st,pins = "clcd_pfmode_grp";
+ st,function = "clcd";
+ };
+ sdhci {
+ st,pins = "sdhci_4bit_grp";
+ st,function = "sdhci";
+ };
+ gpio1 {
+ st,pins = "gpio1_4_to_7_grp",
+ "gpio1_0_to_3_grp";
+ st,function = "gpio1";
+ };
+ };
+ };
+
clcd@60000000 {
status = "okay";
};

arch/arm/boot/dts/spear300.dtsi

View file
diff --git a/arch/arm/boot/dts/spear300.dtsi b/arch/arm/boot/dts/spear300.dtsi
index f9fcbf4..01c5e35 100644
--- a/arch/arm/boot/dts/spear300.dtsi
+++ b/arch/arm/boot/dts/spear300.dtsi
@@ -21,6 +21,11 @@
ranges = <0x60000000 0x60000000 0x50000000
0xd0000000 0xd0000000 0x30000000>;
+ pinmux@99000000 {
+ compatible = "st,spear300-pinmux";
+ reg = <0x99000000 0x1000>;
+ };
+
clcd@60000000 {
compatible = "arm,clcd-pl110", "arm,primecell";
reg = <0x60000000 0x1000>;

arch/arm/boot/dts/spear310-evb.dts

View file
diff --git a/arch/arm/boot/dts/spear310-evb.dts b/arch/arm/boot/dts/spear310-evb.dts
index c86af33..6d95317 100644
--- a/arch/arm/boot/dts/spear310-evb.dts
+++ b/arch/arm/boot/dts/spear310-evb.dts
@@ -25,6 +25,67 @@
};
ahb {
+ pinmux@b4000000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ gpio0 {
+ st,pins = "gpio0_pin0_grp",
+ "gpio0_pin1_grp",
+ "gpio0_pin2_grp",
+ "gpio0_pin3_grp",
+ "gpio0_pin4_grp",
+ "gpio0_pin5_grp";
+ st,function = "gpio0";
+ };
+ i2c0 {
+ st,pins = "i2c0_grp";
+ st,function = "i2c0";
+ };
+ mii0 {
+ st,pins = "mii0_grp";
+ st,function = "mii0";
+ };
+ ssp0 {
+ st,pins = "ssp0_grp";
+ st,function = "ssp0";
+ };
+ uart0 {
+ st,pins = "uart0_grp";
+ st,function = "uart0";
+ };
+ emi {
+ st,pins = "emi_cs_0_to_5_grp";
+ st,function = "emi";
+ };
+ fsmc {
+ st,pins = "fsmc_grp";
+ st,function = "fsmc";
+ };
+ uart1 {
+ st,pins = "uart1_grp";
+ st,function = "uart1";
+ };
+ uart2 {
+ st,pins = "uart2_grp";
+ st,function = "uart2";
+ };
+ uart3 {
+ st,pins = "uart3_grp";
+ st,function = "uart3";
+ };
+ uart4 {
+ st,pins = "uart4_grp";
+ st,function = "uart4";
+ };
+ uart5 {
+ st,pins = "uart5_grp";
+ st,function = "uart5";
+ };
+ };
+ };
+
dma@fc400000 {
status = "okay";
};

arch/arm/boot/dts/spear310.dtsi

View file
diff --git a/arch/arm/boot/dts/spear310.dtsi b/arch/arm/boot/dts/spear310.dtsi
index dc7fa14..e47081c 100644
--- a/arch/arm/boot/dts/spear310.dtsi
+++ b/arch/arm/boot/dts/spear310.dtsi
@@ -22,6 +22,11 @@
0xb0000000 0xb0000000 0x10000000
0xd0000000 0xd0000000 0x30000000>;
+ pinmux@b4000000 {
+ compatible = "st,spear310-pinmux";
+ reg = <0xb4000000 0x1000>;
+ };
+
fsmc: flash@44000000 {
compatible = "st,spear600-fsmc-nand";
#address-cells = <1>;

arch/arm/boot/dts/spear320-evb.dts

View file
diff --git a/arch/arm/boot/dts/spear320-evb.dts b/arch/arm/boot/dts/spear320-evb.dts
index d43de71..0c6463b 100644
--- a/arch/arm/boot/dts/spear320-evb.dts
+++ b/arch/arm/boot/dts/spear320-evb.dts
@@ -25,6 +25,67 @@
};
ahb {
+ pinmux@b3000000 {
+ st,pinmux-mode = <3>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ i2c0 {
+ st,pins = "i2c0_grp";
+ st,function = "i2c0";
+ };
+ mii0 {
+ st,pins = "mii0_grp";
+ st,function = "mii0";
+ };
+ ssp0 {
+ st,pins = "ssp0_grp";
+ st,function = "ssp0";
+ };
+ uart0 {
+ st,pins = "uart0_grp";
+ st,function = "uart0";
+ };
+ sdhci {
+ st,pins = "sdhci_cd_51_grp";
+ st,function = "sdhci";
+ };
+ i2s {
+ st,pins = "i2s_grp";
+ st,function = "i2s";
+ };
+ uart1 {
+ st,pins = "uart1_grp";
+ st,function = "uart1";
+ };
+ uart2 {
+ st,pins = "uart2_grp";
+ st,function = "uart2";
+ };
+ can0 {
+ st,pins = "can0_grp";
+ st,function = "can0";
+ };
+ can1 {
+ st,pins = "can1_grp";
+ st,function = "can1";
+ };
+ mii2 {
+ st,pins = "mii2_grp";
+ st,function = "mii2";
+ };
+ pwm0_1 {
+ st,pins = "pwm0_1_pin_14_15_grp";
+ st,function = "pwm0_1";
+ };
+ pwm2 {
+ st,pins = "pwm2_pin_13_grp";
+ st,function = "pwm2";
+ };
+ };
+ };
+
clcd@90000000 {
status = "okay";
};

arch/arm/boot/dts/spear320.dtsi

View file
diff --git a/arch/arm/boot/dts/spear320.dtsi b/arch/arm/boot/dts/spear320.dtsi
index 9a0267a..5372ca3 100644
--- a/arch/arm/boot/dts/spear320.dtsi
+++ b/arch/arm/boot/dts/spear320.dtsi
@@ -18,9 +18,14 @@
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
- ranges = <0x40000000 0x40000000 0x70000000
+ ranges = <0x40000000 0x40000000 0x80000000
0xd0000000 0xd0000000 0x30000000>;
+ pinmux@b3000000 {
+ compatible = "st,spear320-pinmux";
+ reg = <0xb3000000 0x1000>;
+ };
+
clcd@90000000 {
compatible = "arm,clcd-pl110", "arm,primecell";
reg = <0x90000000 0x1000>;

arch/arm/boot/dts/tegra-cardhu.dts

View file
diff --git a/arch/arm/boot/dts/tegra-cardhu.dts b/arch/arm/boot/dts/tegra-cardhu.dts
index ac3fb75..0a9f34a 100644
--- a/arch/arm/boot/dts/tegra-cardhu.dts
+++ b/arch/arm/boot/dts/tegra-cardhu.dts
@@ -10,6 +10,50 @@
reg = < 0x80000000 0x40000000 >;
};
+ pinmux@70000000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ sdmmc1_clk_pz0 {
+ nvidia,pins = "sdmmc1_clk_pz0";
+ nvidia,function = "sdmmc1";
+ nvidia,pull = <0>;
+ nvidia,tristate = <0>;
+ };
+ sdmmc1_cmd_pz1 {
+ nvidia,pins = "sdmmc1_cmd_pz1",
+ "sdmmc1_dat0_py7",
+ "sdmmc1_dat1_py6",
+ "sdmmc1_dat2_py5",
+ "sdmmc1_dat3_py4";
+ nvidia,function = "sdmmc1";
+ nvidia,pull = <2>;
+ nvidia,tristate = <0>;
+ };
+ sdmmc4_clk_pcc4 {
+ nvidia,pins = "sdmmc4_clk_pcc4",
+ "sdmmc4_rst_n_pcc3";
+ nvidia,function = "sdmmc4";
+ nvidia,pull = <0>;
+ nvidia,tristate = <0>;
+ };
+ sdmmc4_dat0_paa0 {
+ nvidia,pins = "sdmmc4_dat0_paa0",
+ "sdmmc4_dat1_paa1",
+ "sdmmc4_dat2_paa2",
+ "sdmmc4_dat3_paa3",
+ "sdmmc4_dat4_paa4",
+ "sdmmc4_dat5_paa5",
+ "sdmmc4_dat6_paa6",
+ "sdmmc4_dat7_paa7";
+ nvidia,function = "sdmmc4";
+ nvidia,pull = <2>;
+ nvidia,tristate = <0>;
+ };
+ };
+ };
+
serial@70006000 {
clock-frequency = < 408000000 >;
};

arch/arm/boot/dts/tegra-harmony.dts

View file
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts
index 6e8447d..1a0b1f1 100644
--- a/arch/arm/boot/dts/tegra-harmony.dts
+++ b/arch/arm/boot/dts/tegra-harmony.dts
@@ -10,6 +10,230 @@
reg = < 0x00000000 0x40000000 >;
};
+ pinmux@70000000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ata {
+ nvidia,pins = "ata";
+ nvidia,function = "ide";
+ };
+ atb {
+ nvidia,pins = "atb", "gma", "gme";
+ nvidia,function = "sdio4";
+ };
+ atc {
+ nvidia,pins = "atc";
+ nvidia,function = "nand";
+ };
+ atd {
+ nvidia,pins = "atd", "ate", "gmb", "gmd", "gpu",
+ "spia", "spib", "spic";
+ nvidia,function = "gmi";
+ };
+ cdev1 {
+ nvidia,pins = "cdev1";
+ nvidia,function = "plla_out";
+ };
+ cdev2 {
+ nvidia,pins = "cdev2";
+ nvidia,function = "pllp_out4";
+ };
+ crtp {
+ nvidia,pins = "crtp";
+ nvidia,function = "crt";
+ };
+ csus {
+ nvidia,pins = "csus";
+ nvidia,function = "vi_sensor_clk";
+ };
+ dap1 {
+ nvidia,pins = "dap1";
+ nvidia,function = "dap1";
+ };
+ dap2 {
+ nvidia,pins = "dap2";
+ nvidia,function = "dap2";
+ };
+ dap3 {
+ nvidia,pins = "dap3";
+ nvidia,function = "dap3";
+ };
+ dap4 {
+ nvidia,pins = "dap4";
+ nvidia,function = "dap4";
+ };
+ ddc {
+ nvidia,pins = "ddc";
+ nvidia,function = "i2c2";
+ };
+ dta {
+ nvidia,pins = "dta", "dtd";
+ nvidia,function = "sdio2";
+ };
+ dtb {
+ nvidia,pins = "dtb", "dtc", "dte";
+ nvidia,function = "rsvd1";
+ };
+ dtf {
+ nvidia,pins = "dtf";
+ nvidia,function = "i2c3";
+ };
+ gmc {
+ nvidia,pins = "gmc";
+ nvidia,function = "uartd";
+ };
+ gpu7 {
+ nvidia,pins = "gpu7";
+ nvidia,function = "rtck";
+ };
+ gpv {
+ nvidia,pins = "gpv", "slxa", "slxk";
+ nvidia,function = "pcie";
+ };
+ hdint {
+ nvidia,pins = "hdint", "pta";
+ nvidia,function = "hdmi";
+ };
+ i2cp {
+ nvidia,pins = "i2cp";
+ nvidia,function = "i2cp";
+ };
+ irrx {
+ nvidia,pins = "irrx", "irtx";
+ nvidia,function = "uarta";
+ };
+ kbca {
+ nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd",
+ "kbce", "kbcf";
+ nvidia,function = "kbc";
+ };
+ lcsn {
+ nvidia,pins = "lcsn", "ld0", "ld1", "ld2",
+ "ld3", "ld4", "ld5", "ld6", "ld7",
+ "ld8", "ld9", "ld10", "ld11", "ld12",
+ "ld13", "ld14", "ld15", "ld16", "ld17",
+ "ldc", "ldi", "lhp0", "lhp1", "lhp2",
+ "lhs", "lm0", "lm1", "lpp", "lpw0",
+ "lpw1", "lpw2", "lsc0", "lsc1", "lsck",
+ "lsda", "lsdi", "lspi", "lvp0", "lvp1",

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/tegra-paz00.dts

View file

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/tegra-seaboard.dts

View file

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/tegra-trimslice.dts

View file

This diff is incomplete. Download the complete patch.

arch/arm/boot/dts/tegra-ventana.dts

View file

This diff is incomplete. Download the complete patch.

arch/arm/configs/nhk8815_defconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/imx51-dt.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/imx53-dt.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mach-imx6q.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx1.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx21.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx25.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx27.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx3.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mm-imx5.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/include/mach/common.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mach-apx4devkit.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mach-m28evk.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mach-mx23evk.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mach-mx28evk.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mach-stmp378x_devb.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mach-tx28.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mxs/mm.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-nomadik/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-spear3xx/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-spear3xx/include/mach/generic.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-spear3xx/spear300.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-spear3xx/spear310.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-spear3xx/spear320.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-spear3xx/spear3xx.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-dt-tegra20.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-harmony-pinmux.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-paz00-pinmux.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-pinmux.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-pinmux.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-seaboard-pinmux.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-seaboard.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-trimslice-pinmux.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-trimslice.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/devices.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/include/mach/gpio-tegra.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/include/mach/pinmux-tegra20.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/include/mach/pinmux-tegra30.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/include/mach/pinmux.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/pinmux-tegra20-tables.c

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/pinmux-tegra30-tables.c

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/pinmux.c

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/usb_phy.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500-msp.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500-msp.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500-pins.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/clock.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/cpu-db8500.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/cpu.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/devices-common.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/devices-db8500.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/include/mach/msp.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/pins-db8500.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-nomadik/include/plat/gpio-nomadik.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-nomadik/include/plat/pincfg.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-spear/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-spear/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-spear/include/plat/padmux.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/plat-spear/padmux.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/gpio/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/gpio/gpio-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/i2c/busses/i2c-imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/i2c/busses/i2c-mxs.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/mxs-mmc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-esdhc-imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/mmc/host/sdhci-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/nand/gpmi-nand/gpmi-nand.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/can/flexcan.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/fec.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-nomadik-db8500.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-nomadik.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-nomadik.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-tegra.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-tegra20.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/pinctrl-tegra30.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear.h

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear300.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear310.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear320.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear3xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/pinctrl/spear/pinctrl-spear3xx.h

View file

This diff is incomplete. Download the complete patch.

drivers/spi/spi-imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/tty/serial/amba-pl011.c

View file

This diff is incomplete. Download the complete patch.

drivers/tty/serial/imx.c

View file

This diff is incomplete. Download the complete patch.

drivers/tty/serial/mxs-auart.c

View file

This diff is incomplete. Download the complete patch.

drivers/usb/host/ehci-tegra.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/mxsfb.c

View file

This diff is incomplete. Download the complete patch.

include/linux/pinctrl/pinctrl-state.h

View file

This diff is incomplete. Download the complete patch.

include/linux/platform_data/tegra_usb.h

View file

This diff is incomplete. Download the complete patch.

sound/soc/mxs/mxs-saif.c

View file

This diff is incomplete. Download the complete patch.