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

Pull ARM SoC fixes from Olof Johansson:
"Volume is a little higher than usual due to a set of gpio fixes for
Davinci platforms that's been around a while, still seemed appropriate
to not hold off until next merge window.

Besides that it's the usual mix of minor fixes, mostly corrections of
small stuff in device trees.

Major stability-related one is the removal of a regulator from DT on
Rock960, since DVFS caused undervoltage. I expect it'll be restored
once they figure out the underlying issue"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
MAINTAINERS: Remove unused Qualcomm SoC mailing list
ARM: davinci: dm644x: set the GPIO base to 0
ARM: davinci: da830: set the GPIO base to 0
ARM: davinci: dm355: set the GPIO base to 0
ARM: davinci: dm646x: set the GPIO base to 0
ARM: davinci: dm365: set the GPIO base to 0
ARM: davinci: da850: set the GPIO base to 0
gpio: davinci: restore a way to manually specify the GPIO base
ARM: davinci: dm644x: define gpio interrupts as separate resources
ARM: davinci: dm355: define gpio interrupts as separate resources
ARM: davinci: dm646x: define gpio interrupts as separate resources
ARM: davinci: dm365: define gpio interrupts as separate resources
ARM: davinci: da8xx: define gpio interrupts as separate resources
ARM: dts: at91: sama5d2: use the divided clock for SMC
ARM: dts: imx51-zii-rdu1: Remove EEPROM node
ARM: dts: rockchip: Remove @0 from the veyron memory node
arm64: dts: rockchip: Fix PCIe reset polarity for rk3399-puma-haikou.
arm64: dts: qcom: msm8998: Reserve gpio ranges on MTP
arm64: dts: sdm845-mtp: Reserve reserved gpios
arm64: dts: ti: k3-am654: Fix wakeup_uart reg address
...

-3
MAINTAINERS
··· 1923 1923 M: Andy Gross <andy.gross@linaro.org> 1924 1924 M: David Brown <david.brown@linaro.org> 1925 1925 L: linux-arm-msm@vger.kernel.org 1926 - L: linux-soc@vger.kernel.org 1927 1926 S: Maintained 1928 1927 F: Documentation/devicetree/bindings/soc/qcom/ 1929 1928 F: arch/arm/boot/dts/qcom-*.dts ··· 2930 2931 BROADCOM BCM5301X ARM ARCHITECTURE 2931 2932 M: Hauke Mehrtens <hauke@hauke-m.de> 2932 2933 M: Rafał Miłecki <zajec5@gmail.com> 2933 - M: Jon Mason <jonmason@broadcom.com> 2934 2934 M: bcm-kernel-feedback-list@broadcom.com 2935 2935 L: linux-arm-kernel@lists.infradead.org 2936 2936 S: Maintained ··· 3075 3077 BROADCOM IPROC ARM ARCHITECTURE 3076 3078 M: Ray Jui <rjui@broadcom.com> 3077 3079 M: Scott Branden <sbranden@broadcom.com> 3078 - M: Jon Mason <jonmason@broadcom.com> 3079 3080 M: bcm-kernel-feedback-list@broadcom.com 3080 3081 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 3081 3082 T: git git://github.com/broadcom/cygnus-linux.git
+1 -1
arch/arm/boot/dts/am3517-evm.dts
··· 228 228 vmmc-supply = <&vmmc_fixed>; 229 229 bus-width = <4>; 230 230 wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; /* gpio_126 */ 231 - cd-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio_127 */ 231 + cd-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* gpio_127 */ 232 232 }; 233 233 234 234 &mmc3 {
+1 -1
arch/arm/boot/dts/am3517-som.dtsi
··· 163 163 compatible = "ti,wl1271"; 164 164 reg = <2>; 165 165 interrupt-parent = <&gpio6>; 166 - interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; /* gpio_170 */ 166 + interrupts = <10 IRQ_TYPE_EDGE_RISING>; /* gpio_170 */ 167 167 ref-clock-frequency = <26000000>; 168 168 tcxo-clock-frequency = <26000000>; 169 169 };
-6
arch/arm/boot/dts/imx51-zii-rdu1.dts
··· 492 492 pinctrl-0 = <&pinctrl_i2c2>; 493 493 status = "okay"; 494 494 495 - eeprom@50 { 496 - compatible = "atmel,24c04"; 497 - pagesize = <16>; 498 - reg = <0x50>; 499 - }; 500 - 501 495 hpa1: amp@60 { 502 496 compatible = "ti,tpa6130a2"; 503 497 reg = <0x60>;
+1 -1
arch/arm/boot/dts/logicpd-som-lv.dtsi
··· 129 129 }; 130 130 131 131 &mmc3 { 132 - interrupts-extended = <&intc 94 &omap3_pmx_core2 0x46>; 132 + interrupts-extended = <&intc 94 &omap3_pmx_core 0x136>; 133 133 pinctrl-0 = <&mmc3_pins &wl127x_gpio>; 134 134 pinctrl-names = "default"; 135 135 vmmc-supply = <&wl12xx_vmmc>;
+1 -1
arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts
··· 35 35 * jumpering combinations for the long run. 36 36 */ 37 37 &mmc3 { 38 - interrupts-extended = <&intc 94 &omap3_pmx_core2 0x46>; 38 + interrupts-extended = <&intc 94 &omap3_pmx_core 0x136>; 39 39 pinctrl-0 = <&mmc3_pins &mmc3_core2_pins>; 40 40 pinctrl-names = "default"; 41 41 vmmc-supply = <&wl12xx_vmmc>;
+5 -1
arch/arm/boot/dts/rk3288-veyron.dtsi
··· 10 10 #include "rk3288.dtsi" 11 11 12 12 / { 13 - memory@0 { 13 + /* 14 + * The default coreboot on veyron devices ignores memory@0 nodes 15 + * and would instead create another memory node. 16 + */ 17 + memory { 14 18 device_type = "memory"; 15 19 reg = <0x0 0x0 0x0 0x80000000>; 16 20 };
+1 -1
arch/arm/boot/dts/sama5d2.dtsi
··· 314 314 0x1 0x0 0x60000000 0x10000000 315 315 0x2 0x0 0x70000000 0x10000000 316 316 0x3 0x0 0x80000000 0x10000000>; 317 - clocks = <&mck>; 317 + clocks = <&h32ck>; 318 318 status = "disabled"; 319 319 320 320 nand_controller: nand-controller {
+3 -1
arch/arm/mach-davinci/da830.c
··· 759 759 }; 760 760 761 761 static struct davinci_gpio_platform_data da830_gpio_platform_data = { 762 - .ngpio = 128, 762 + .no_auto_base = true, 763 + .base = 0, 764 + .ngpio = 128, 763 765 }; 764 766 765 767 int __init da830_register_gpio(void)
+3 -1
arch/arm/mach-davinci/da850.c
··· 719 719 } 720 720 721 721 static struct davinci_gpio_platform_data da850_gpio_platform_data = { 722 - .ngpio = 144, 722 + .no_auto_base = true, 723 + .base = 0, 724 + .ngpio = 144, 723 725 }; 724 726 725 727 int __init da850_register_gpio(void)
+40
arch/arm/mach-davinci/devices-da8xx.c
··· 701 701 }, 702 702 { /* interrupt */ 703 703 .start = IRQ_DA8XX_GPIO0, 704 + .end = IRQ_DA8XX_GPIO0, 705 + .flags = IORESOURCE_IRQ, 706 + }, 707 + { 708 + .start = IRQ_DA8XX_GPIO1, 709 + .end = IRQ_DA8XX_GPIO1, 710 + .flags = IORESOURCE_IRQ, 711 + }, 712 + { 713 + .start = IRQ_DA8XX_GPIO2, 714 + .end = IRQ_DA8XX_GPIO2, 715 + .flags = IORESOURCE_IRQ, 716 + }, 717 + { 718 + .start = IRQ_DA8XX_GPIO3, 719 + .end = IRQ_DA8XX_GPIO3, 720 + .flags = IORESOURCE_IRQ, 721 + }, 722 + { 723 + .start = IRQ_DA8XX_GPIO4, 724 + .end = IRQ_DA8XX_GPIO4, 725 + .flags = IORESOURCE_IRQ, 726 + }, 727 + { 728 + .start = IRQ_DA8XX_GPIO5, 729 + .end = IRQ_DA8XX_GPIO5, 730 + .flags = IORESOURCE_IRQ, 731 + }, 732 + { 733 + .start = IRQ_DA8XX_GPIO6, 734 + .end = IRQ_DA8XX_GPIO6, 735 + .flags = IORESOURCE_IRQ, 736 + }, 737 + { 738 + .start = IRQ_DA8XX_GPIO7, 739 + .end = IRQ_DA8XX_GPIO7, 740 + .flags = IORESOURCE_IRQ, 741 + }, 742 + { 743 + .start = IRQ_DA8XX_GPIO8, 704 744 .end = IRQ_DA8XX_GPIO8, 705 745 .flags = IORESOURCE_IRQ, 706 746 },
+32
arch/arm/mach-davinci/dm355.c
··· 548 548 }, 549 549 { /* interrupt */ 550 550 .start = IRQ_DM355_GPIOBNK0, 551 + .end = IRQ_DM355_GPIOBNK0, 552 + .flags = IORESOURCE_IRQ, 553 + }, 554 + { 555 + .start = IRQ_DM355_GPIOBNK1, 556 + .end = IRQ_DM355_GPIOBNK1, 557 + .flags = IORESOURCE_IRQ, 558 + }, 559 + { 560 + .start = IRQ_DM355_GPIOBNK2, 561 + .end = IRQ_DM355_GPIOBNK2, 562 + .flags = IORESOURCE_IRQ, 563 + }, 564 + { 565 + .start = IRQ_DM355_GPIOBNK3, 566 + .end = IRQ_DM355_GPIOBNK3, 567 + .flags = IORESOURCE_IRQ, 568 + }, 569 + { 570 + .start = IRQ_DM355_GPIOBNK4, 571 + .end = IRQ_DM355_GPIOBNK4, 572 + .flags = IORESOURCE_IRQ, 573 + }, 574 + { 575 + .start = IRQ_DM355_GPIOBNK5, 576 + .end = IRQ_DM355_GPIOBNK5, 577 + .flags = IORESOURCE_IRQ, 578 + }, 579 + { 580 + .start = IRQ_DM355_GPIOBNK6, 551 581 .end = IRQ_DM355_GPIOBNK6, 552 582 .flags = IORESOURCE_IRQ, 553 583 }, 554 584 }; 555 585 556 586 static struct davinci_gpio_platform_data dm355_gpio_platform_data = { 587 + .no_auto_base = true, 588 + .base = 0, 557 589 .ngpio = 104, 558 590 }; 559 591
+37
arch/arm/mach-davinci/dm365.c
··· 267 267 }, 268 268 { /* interrupt */ 269 269 .start = IRQ_DM365_GPIO0, 270 + .end = IRQ_DM365_GPIO0, 271 + .flags = IORESOURCE_IRQ, 272 + }, 273 + { 274 + .start = IRQ_DM365_GPIO1, 275 + .end = IRQ_DM365_GPIO1, 276 + .flags = IORESOURCE_IRQ, 277 + }, 278 + { 279 + .start = IRQ_DM365_GPIO2, 280 + .end = IRQ_DM365_GPIO2, 281 + .flags = IORESOURCE_IRQ, 282 + }, 283 + { 284 + .start = IRQ_DM365_GPIO3, 285 + .end = IRQ_DM365_GPIO3, 286 + .flags = IORESOURCE_IRQ, 287 + }, 288 + { 289 + .start = IRQ_DM365_GPIO4, 290 + .end = IRQ_DM365_GPIO4, 291 + .flags = IORESOURCE_IRQ, 292 + }, 293 + { 294 + .start = IRQ_DM365_GPIO5, 295 + .end = IRQ_DM365_GPIO5, 296 + .flags = IORESOURCE_IRQ, 297 + }, 298 + { 299 + .start = IRQ_DM365_GPIO6, 300 + .end = IRQ_DM365_GPIO6, 301 + .flags = IORESOURCE_IRQ, 302 + }, 303 + { 304 + .start = IRQ_DM365_GPIO7, 270 305 .end = IRQ_DM365_GPIO7, 271 306 .flags = IORESOURCE_IRQ, 272 307 }, 273 308 }; 274 309 275 310 static struct davinci_gpio_platform_data dm365_gpio_platform_data = { 311 + .no_auto_base = true, 312 + .base = 0, 276 313 .ngpio = 104, 277 314 .gpio_unbanked = 8, 278 315 };
+22
arch/arm/mach-davinci/dm644x.c
··· 492 492 }, 493 493 { /* interrupt */ 494 494 .start = IRQ_GPIOBNK0, 495 + .end = IRQ_GPIOBNK0, 496 + .flags = IORESOURCE_IRQ, 497 + }, 498 + { 499 + .start = IRQ_GPIOBNK1, 500 + .end = IRQ_GPIOBNK1, 501 + .flags = IORESOURCE_IRQ, 502 + }, 503 + { 504 + .start = IRQ_GPIOBNK2, 505 + .end = IRQ_GPIOBNK2, 506 + .flags = IORESOURCE_IRQ, 507 + }, 508 + { 509 + .start = IRQ_GPIOBNK3, 510 + .end = IRQ_GPIOBNK3, 511 + .flags = IORESOURCE_IRQ, 512 + }, 513 + { 514 + .start = IRQ_GPIOBNK4, 495 515 .end = IRQ_GPIOBNK4, 496 516 .flags = IORESOURCE_IRQ, 497 517 }, 498 518 }; 499 519 500 520 static struct davinci_gpio_platform_data dm644_gpio_platform_data = { 521 + .no_auto_base = true, 522 + .base = 0, 501 523 .ngpio = 71, 502 524 }; 503 525
+12
arch/arm/mach-davinci/dm646x.c
··· 442 442 }, 443 443 { /* interrupt */ 444 444 .start = IRQ_DM646X_GPIOBNK0, 445 + .end = IRQ_DM646X_GPIOBNK0, 446 + .flags = IORESOURCE_IRQ, 447 + }, 448 + { 449 + .start = IRQ_DM646X_GPIOBNK1, 450 + .end = IRQ_DM646X_GPIOBNK1, 451 + .flags = IORESOURCE_IRQ, 452 + }, 453 + { 454 + .start = IRQ_DM646X_GPIOBNK2, 445 455 .end = IRQ_DM646X_GPIOBNK2, 446 456 .flags = IORESOURCE_IRQ, 447 457 }, 448 458 }; 449 459 450 460 static struct davinci_gpio_platform_data dm646x_gpio_platform_data = { 461 + .no_auto_base = true, 462 + .base = 0, 451 463 .ngpio = 43, 452 464 }; 453 465
+3
arch/arm/mach-omap1/board-ams-delta.c
··· 750 750 struct modem_private_data *priv = port->private_data; 751 751 int ret; 752 752 753 + if (!priv) 754 + return; 755 + 753 756 if (IS_ERR(priv->regulator)) 754 757 return; 755 758
+1 -1
arch/arm/mach-omap2/prm44xx.c
··· 351 351 * to occur, WAKEUPENABLE bits must be set in the pad mux registers, and 352 352 * omap44xx_prm_reconfigure_io_chain() must be called. No return value. 353 353 */ 354 - static void __init omap44xx_prm_enable_io_wakeup(void) 354 + static void omap44xx_prm_enable_io_wakeup(void) 355 355 { 356 356 s32 inst = omap4_prmst_get_prm_dev_inst(); 357 357
+4
arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
··· 241 241 }; 242 242 }; 243 243 }; 244 + 245 + &tlmm { 246 + gpio-reserved-ranges = <0 4>, <81 4>; 247 + };
+4
arch/arm64/boot/dts/qcom/sdm845-mtp.dts
··· 352 352 status = "okay"; 353 353 }; 354 354 355 + &tlmm { 356 + gpio-reserved-ranges = <0 4>, <81 4>; 357 + }; 358 + 355 359 &uart9 { 356 360 status = "okay"; 357 361 };
+1 -1
arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
··· 153 153 }; 154 154 155 155 &pcie0 { 156 - ep-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>; 156 + ep-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; 157 157 num-lanes = <4>; 158 158 pinctrl-names = "default"; 159 159 pinctrl-0 = <&pcie_clkreqn_cpm>;
-12
arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
··· 57 57 regulator-always-on; 58 58 vin-supply = <&vcc_sys>; 59 59 }; 60 - 61 - vdd_log: vdd-log { 62 - compatible = "pwm-regulator"; 63 - pwms = <&pwm2 0 25000 0>; 64 - regulator-name = "vdd_log"; 65 - regulator-min-microvolt = <800000>; 66 - regulator-max-microvolt = <1400000>; 67 - regulator-always-on; 68 - regulator-boot-on; 69 - vin-supply = <&vcc_sys>; 70 - }; 71 - 72 60 }; 73 61 74 62 &cpu_l0 {
+1 -1
arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
··· 36 36 37 37 wkup_uart0: serial@42300000 { 38 38 compatible = "ti,am654-uart"; 39 - reg = <0x00 0x42300000 0x00 0x100>; 39 + reg = <0x42300000 0x100>; 40 40 reg-shift = <2>; 41 41 reg-io-width = <4>; 42 42 interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
drivers/gpio/gpio-davinci.c
··· 258 258 chips->chip.set = davinci_gpio_set; 259 259 260 260 chips->chip.ngpio = ngpio; 261 - chips->chip.base = -1; 261 + chips->chip.base = pdata->no_auto_base ? pdata->base : -1; 262 262 263 263 #ifdef CONFIG_OF_GPIO 264 264 chips->chip.of_gpio_n_cells = 2;
+2
include/linux/platform_data/gpio-davinci.h
··· 17 17 #define __DAVINCI_GPIO_PLATFORM_H 18 18 19 19 struct davinci_gpio_platform_data { 20 + bool no_auto_base; 21 + u32 base; 20 22 u32 ngpio; 21 23 u32 gpio_unbanked; 22 24 };