diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-08 00:23:40 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-08 00:23:40 -0400 |
| commit | 6afd563d4bbc1924b7de9e053324c007e0d36476 (patch) | |
| tree | 619c2270f6f09ce8c9eb7f6aa448f07f67ffa8e8 /drivers/pinctrl | |
| parent | b4f33f6ddd0c218e12454e1379de3aaa73f2e8dc (diff) | |
| parent | d6db68b2deaa0158d25b236edffcf6dd2117208f (diff) | |
Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Arnd Bergmann:
"Driver updates for ARM SoCs, including a couple of newly added
drivers:
- The Qualcomm external bus interface 2 (EBI2), used in some of their
mobile phone chips for connecting flash memory, LCD displays or
other peripherals
- Secure monitor firmware for Amlogic SoCs, and an NVMEM driver for
the EFUSE based on that firmware interface.
- Perf support for the AppliedMicro X-Gene performance monitor unit
- Reset driver for STMicroelectronics STM32
- Reset driver for SocioNext UniPhier SoCs
Aside from these, there are minor updates to SoC-specific bus,
clocksource, firmware, pinctrl, reset, rtc and pmic drivers"
* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (50 commits)
bus: qcom-ebi2: depend on HAS_IOMEM
pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181
clk: mvebu: Add clk support for the orion5x SoC mv88f5181
dt-bindings: EXYNOS: Add Exynos5433 PMU compatible
clocksource: exynos_mct: Add the support for ARM64
perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver
Documentation: Add documentation for APM X-Gene SoC PMU DTS binding
MAINTAINERS: Add entry for APM X-Gene SoC PMU driver
bus: qcom: add EBI2 driver
bus: qcom: add EBI2 device tree bindings
rtc: rtc-pm8xxx: Add support for pm8018 rtc
nvmem: amlogic: Add Amlogic Meson EFUSE driver
firmware: Amlogic: Add secure monitor driver
soc: qcom: smd: Reset rx tail rather than tx
memory: atmel-sdramc: fix a possible NULL dereference
reset: hi6220: allow to compile test driver on other architectures
reset: zynq: add driver Kconfig option
reset: sunxi: add driver Kconfig option
reset: stm32: add driver Kconfig option
reset: socfpga: add driver Kconfig option
...
Diffstat (limited to 'drivers/pinctrl')
| -rw-r--r-- | drivers/pinctrl/mvebu/pinctrl-orion.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/pinctrl/mvebu/pinctrl-orion.c b/drivers/pinctrl/mvebu/pinctrl-orion.c index 345c3df669a0..84e144167b44 100644 --- a/drivers/pinctrl/mvebu/pinctrl-orion.c +++ b/drivers/pinctrl/mvebu/pinctrl-orion.c | |||
| @@ -64,11 +64,11 @@ static int orion_mpp_ctrl_set(unsigned pid, unsigned long config) | |||
| 64 | return 0; | 64 | return 0; |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | #define V(f5181l, f5182, f5281) \ | 67 | #define V(f5181, f5182, f5281) \ |
| 68 | ((f5181l << 0) | (f5182 << 1) | (f5281 << 2)) | 68 | ((f5181 << 0) | (f5182 << 1) | (f5281 << 2)) |
| 69 | 69 | ||
| 70 | enum orion_variant { | 70 | enum orion_variant { |
| 71 | V_5181L = V(1, 0, 0), | 71 | V_5181 = V(1, 0, 0), |
| 72 | V_5182 = V(0, 1, 0), | 72 | V_5182 = V(0, 1, 0), |
| 73 | V_5281 = V(0, 0, 1), | 73 | V_5281 = V(0, 0, 1), |
| 74 | V_ALL = V(1, 1, 1), | 74 | V_ALL = V(1, 1, 1), |
| @@ -103,13 +103,13 @@ static struct mvebu_mpp_mode orion_mpp_modes[] = { | |||
| 103 | MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), | 103 | MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), |
| 104 | MPP_VAR_FUNCTION(0x2, "pci", "req5", V_ALL), | 104 | MPP_VAR_FUNCTION(0x2, "pci", "req5", V_ALL), |
| 105 | MPP_VAR_FUNCTION(0x4, "nand", "re0", V_5182 | V_5281), | 105 | MPP_VAR_FUNCTION(0x4, "nand", "re0", V_5182 | V_5281), |
| 106 | MPP_VAR_FUNCTION(0x5, "pci-1", "clk", V_5181L), | 106 | MPP_VAR_FUNCTION(0x5, "pci-1", "clk", V_5181), |
| 107 | MPP_VAR_FUNCTION(0x5, "sata0", "act", V_5182)), | 107 | MPP_VAR_FUNCTION(0x5, "sata0", "act", V_5182)), |
| 108 | MPP_MODE(7, | 108 | MPP_MODE(7, |
| 109 | MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), | 109 | MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), |
| 110 | MPP_VAR_FUNCTION(0x2, "pci", "gnt5", V_ALL), | 110 | MPP_VAR_FUNCTION(0x2, "pci", "gnt5", V_ALL), |
| 111 | MPP_VAR_FUNCTION(0x4, "nand", "we0", V_5182 | V_5281), | 111 | MPP_VAR_FUNCTION(0x4, "nand", "we0", V_5182 | V_5281), |
| 112 | MPP_VAR_FUNCTION(0x5, "pci-1", "clk", V_5181L), | 112 | MPP_VAR_FUNCTION(0x5, "pci-1", "clk", V_5181), |
| 113 | MPP_VAR_FUNCTION(0x5, "sata1", "act", V_5182)), | 113 | MPP_VAR_FUNCTION(0x5, "sata1", "act", V_5182)), |
| 114 | MPP_MODE(8, | 114 | MPP_MODE(8, |
| 115 | MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), | 115 | MPP_VAR_FUNCTION(0x0, "gpio", NULL, V_ALL), |
| @@ -165,7 +165,7 @@ static struct mvebu_mpp_ctrl orion_mpp_controls[] = { | |||
| 165 | MPP_FUNC_CTRL(0, 19, NULL, orion_mpp_ctrl), | 165 | MPP_FUNC_CTRL(0, 19, NULL, orion_mpp_ctrl), |
| 166 | }; | 166 | }; |
| 167 | 167 | ||
| 168 | static struct pinctrl_gpio_range mv88f5181l_gpio_ranges[] = { | 168 | static struct pinctrl_gpio_range mv88f5181_gpio_ranges[] = { |
| 169 | MPP_GPIO_RANGE(0, 0, 0, 16), | 169 | MPP_GPIO_RANGE(0, 0, 0, 16), |
| 170 | }; | 170 | }; |
| 171 | 171 | ||
| @@ -177,14 +177,14 @@ static struct pinctrl_gpio_range mv88f5281_gpio_ranges[] = { | |||
| 177 | MPP_GPIO_RANGE(0, 0, 0, 16), | 177 | MPP_GPIO_RANGE(0, 0, 0, 16), |
| 178 | }; | 178 | }; |
| 179 | 179 | ||
| 180 | static struct mvebu_pinctrl_soc_info mv88f5181l_info = { | 180 | static struct mvebu_pinctrl_soc_info mv88f5181_info = { |
| 181 | .variant = V_5181L, | 181 | .variant = V_5181, |
| 182 | .controls = orion_mpp_controls, | 182 | .controls = orion_mpp_controls, |
| 183 | .ncontrols = ARRAY_SIZE(orion_mpp_controls), | 183 | .ncontrols = ARRAY_SIZE(orion_mpp_controls), |
| 184 | .modes = orion_mpp_modes, | 184 | .modes = orion_mpp_modes, |
| 185 | .nmodes = ARRAY_SIZE(orion_mpp_modes), | 185 | .nmodes = ARRAY_SIZE(orion_mpp_modes), |
| 186 | .gpioranges = mv88f5181l_gpio_ranges, | 186 | .gpioranges = mv88f5181_gpio_ranges, |
| 187 | .ngpioranges = ARRAY_SIZE(mv88f5181l_gpio_ranges), | 187 | .ngpioranges = ARRAY_SIZE(mv88f5181_gpio_ranges), |
| 188 | }; | 188 | }; |
| 189 | 189 | ||
| 190 | static struct mvebu_pinctrl_soc_info mv88f5182_info = { | 190 | static struct mvebu_pinctrl_soc_info mv88f5182_info = { |
| @@ -212,7 +212,8 @@ static struct mvebu_pinctrl_soc_info mv88f5281_info = { | |||
| 212 | * muxing, they are identical. | 212 | * muxing, they are identical. |
| 213 | */ | 213 | */ |
| 214 | static const struct of_device_id orion_pinctrl_of_match[] = { | 214 | static const struct of_device_id orion_pinctrl_of_match[] = { |
| 215 | { .compatible = "marvell,88f5181l-pinctrl", .data = &mv88f5181l_info }, | 215 | { .compatible = "marvell,88f5181-pinctrl", .data = &mv88f5181_info }, |
| 216 | { .compatible = "marvell,88f5181l-pinctrl", .data = &mv88f5181_info }, | ||
| 216 | { .compatible = "marvell,88f5182-pinctrl", .data = &mv88f5182_info }, | 217 | { .compatible = "marvell,88f5182-pinctrl", .data = &mv88f5182_info }, |
| 217 | { .compatible = "marvell,88f5281-pinctrl", .data = &mv88f5281_info }, | 218 | { .compatible = "marvell,88f5281-pinctrl", .data = &mv88f5281_info }, |
| 218 | { } | 219 | { } |
