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

Pull ARM SoC fixes from Olof Johansson:
"We haven't seen a whole lot of fixes for the first two weeks since the
merge window, but here is the batch that we have at the moment.

Nothing sticks out as particularly bad or scary, it's mostly a handful
of smaller fixes to several platforms. The Uniphier reset controller
changes could probably have been delayed to 4.10, but they're not
scary and just plumbing up driver changes that went in during the
merge window.

We're also adding another maintainer to Marvell Berlin platforms, to
help out when Sebastian is too busy. Yay teamwork!"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: imx: mach-imx6q: Fix the PHY ID mask for AR8031
ARM: dts: vf610: fix IRQ flag of global timer
ARM: imx: gpc: Fix the imx_gpc_genpd_init() error path
ARM: imx: gpc: Initialize all power domains
arm64: dts: Updated NAND DT properties for NS2 SVK
arm64: dts: uniphier: change MIO node to SD control node
ARM: dts: uniphier: change MIO node to SD control node
reset: uniphier: rename MIO reset to SD reset for Pro5, PXs2, LD20 SoCs
arm64: uniphier: select ARCH_HAS_RESET_CONTROLLER
ARM: uniphier: select ARCH_HAS_RESET_CONTROLLER
arm64: dts: Add timer erratum property for LS2080A and LS1043A
arm64: dts: rockchip: remove the abuse of keep-power-in-suspend
ARM: multi_v7_defconfig: Enable Intel e1000e driver
MAINTAINERS: add myself as Marvell berlin SoC maintainer
bus: qcom-ebi2: depend on ARCH_QCOM or COMPILE_TEST
ARM: dts: fix the SD card on the Snowball
arm64: dts: rockchip: remove always-on and boot-on from vcc_sd
arm64: dts: marvell: fix clocksource for CP110 master SPI0
ARM: mvebu: Select corediv clk for all mvebu v7 SoC

Changed files
+88 -68
Documentation
devicetree
bindings
arch
drivers
+31 -31
Documentation/devicetree/bindings/reset/uniphier-reset.txt
··· 6 6 7 7 Required properties: 8 8 - compatible: should be one of the following: 9 - "socionext,uniphier-sld3-reset" - for PH1-sLD3 SoC. 10 - "socionext,uniphier-ld4-reset" - for PH1-LD4 SoC. 11 - "socionext,uniphier-pro4-reset" - for PH1-Pro4 SoC. 12 - "socionext,uniphier-sld8-reset" - for PH1-sLD8 SoC. 13 - "socionext,uniphier-pro5-reset" - for PH1-Pro5 SoC. 14 - "socionext,uniphier-pxs2-reset" - for ProXstream2/PH1-LD6b SoC. 15 - "socionext,uniphier-ld11-reset" - for PH1-LD11 SoC. 16 - "socionext,uniphier-ld20-reset" - for PH1-LD20 SoC. 9 + "socionext,uniphier-sld3-reset" - for sLD3 SoC. 10 + "socionext,uniphier-ld4-reset" - for LD4 SoC. 11 + "socionext,uniphier-pro4-reset" - for Pro4 SoC. 12 + "socionext,uniphier-sld8-reset" - for sLD8 SoC. 13 + "socionext,uniphier-pro5-reset" - for Pro5 SoC. 14 + "socionext,uniphier-pxs2-reset" - for PXs2/LD6b SoC. 15 + "socionext,uniphier-ld11-reset" - for LD11 SoC. 16 + "socionext,uniphier-ld20-reset" - for LD20 SoC. 17 17 - #reset-cells: should be 1. 18 18 19 19 Example: 20 20 21 21 sysctrl@61840000 { 22 - compatible = "socionext,uniphier-ld20-sysctrl", 22 + compatible = "socionext,uniphier-ld11-sysctrl", 23 23 "simple-mfd", "syscon"; 24 24 reg = <0x61840000 0x4000>; 25 25 26 26 reset { 27 - compatible = "socionext,uniphier-ld20-reset"; 27 + compatible = "socionext,uniphier-ld11-reset"; 28 28 #reset-cells = <1>; 29 29 }; 30 30 ··· 32 32 }; 33 33 34 34 35 - Media I/O (MIO) reset 36 - --------------------- 35 + Media I/O (MIO) reset, SD reset 36 + ------------------------------- 37 37 38 38 Required properties: 39 39 - compatible: should be one of the following: 40 - "socionext,uniphier-sld3-mio-reset" - for PH1-sLD3 SoC. 41 - "socionext,uniphier-ld4-mio-reset" - for PH1-LD4 SoC. 42 - "socionext,uniphier-pro4-mio-reset" - for PH1-Pro4 SoC. 43 - "socionext,uniphier-sld8-mio-reset" - for PH1-sLD8 SoC. 44 - "socionext,uniphier-pro5-mio-reset" - for PH1-Pro5 SoC. 45 - "socionext,uniphier-pxs2-mio-reset" - for ProXstream2/PH1-LD6b SoC. 46 - "socionext,uniphier-ld11-mio-reset" - for PH1-LD11 SoC. 47 - "socionext,uniphier-ld20-mio-reset" - for PH1-LD20 SoC. 40 + "socionext,uniphier-sld3-mio-reset" - for sLD3 SoC. 41 + "socionext,uniphier-ld4-mio-reset" - for LD4 SoC. 42 + "socionext,uniphier-pro4-mio-reset" - for Pro4 SoC. 43 + "socionext,uniphier-sld8-mio-reset" - for sLD8 SoC. 44 + "socionext,uniphier-pro5-sd-reset" - for Pro5 SoC. 45 + "socionext,uniphier-pxs2-sd-reset" - for PXs2/LD6b SoC. 46 + "socionext,uniphier-ld11-mio-reset" - for LD11 SoC. 47 + "socionext,uniphier-ld20-sd-reset" - for LD20 SoC. 48 48 - #reset-cells: should be 1. 49 49 50 50 Example: 51 51 52 52 mioctrl@59810000 { 53 - compatible = "socionext,uniphier-ld20-mioctrl", 53 + compatible = "socionext,uniphier-ld11-mioctrl", 54 54 "simple-mfd", "syscon"; 55 55 reg = <0x59810000 0x800>; 56 56 57 57 reset { 58 - compatible = "socionext,uniphier-ld20-mio-reset"; 58 + compatible = "socionext,uniphier-ld11-mio-reset"; 59 59 #reset-cells = <1>; 60 60 }; 61 61 ··· 68 68 69 69 Required properties: 70 70 - compatible: should be one of the following: 71 - "socionext,uniphier-ld4-peri-reset" - for PH1-LD4 SoC. 72 - "socionext,uniphier-pro4-peri-reset" - for PH1-Pro4 SoC. 73 - "socionext,uniphier-sld8-peri-reset" - for PH1-sLD8 SoC. 74 - "socionext,uniphier-pro5-peri-reset" - for PH1-Pro5 SoC. 75 - "socionext,uniphier-pxs2-peri-reset" - for ProXstream2/PH1-LD6b SoC. 76 - "socionext,uniphier-ld11-peri-reset" - for PH1-LD11 SoC. 77 - "socionext,uniphier-ld20-peri-reset" - for PH1-LD20 SoC. 71 + "socionext,uniphier-ld4-peri-reset" - for LD4 SoC. 72 + "socionext,uniphier-pro4-peri-reset" - for Pro4 SoC. 73 + "socionext,uniphier-sld8-peri-reset" - for sLD8 SoC. 74 + "socionext,uniphier-pro5-peri-reset" - for Pro5 SoC. 75 + "socionext,uniphier-pxs2-peri-reset" - for PXs2/LD6b SoC. 76 + "socionext,uniphier-ld11-peri-reset" - for LD11 SoC. 77 + "socionext,uniphier-ld20-peri-reset" - for LD20 SoC. 78 78 - #reset-cells: should be 1. 79 79 80 80 Example: 81 81 82 82 perictrl@59820000 { 83 - compatible = "socionext,uniphier-ld20-perictrl", 83 + compatible = "socionext,uniphier-ld11-perictrl", 84 84 "simple-mfd", "syscon"; 85 85 reg = <0x59820000 0x200>; 86 86 87 87 reset { 88 - compatible = "socionext,uniphier-ld20-peri-reset"; 88 + compatible = "socionext,uniphier-ld11-peri-reset"; 89 89 #reset-cells = <1>; 90 90 }; 91 91
+1
MAINTAINERS
··· 1442 1442 F: arch/arm/configs/mvebu_*_defconfig 1443 1443 1444 1444 ARM/Marvell Berlin SoC support 1445 + M: Jisheng Zhang <jszhang@marvell.com> 1445 1446 M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> 1446 1447 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 1447 1448 S: Maintained
+13 -2
arch/arm/boot/dts/ste-snowball.dts
··· 239 239 arm,primecell-periphid = <0x10480180>; 240 240 max-frequency = <100000000>; 241 241 bus-width = <4>; 242 + cap-sd-highspeed; 242 243 cap-mmc-highspeed; 244 + sd-uhs-sdr12; 245 + sd-uhs-sdr25; 246 + /* All direction control is used */ 247 + st,sig-dir-cmd; 248 + st,sig-dir-dat0; 249 + st,sig-dir-dat2; 250 + st,sig-dir-dat31; 251 + st,sig-pin-fbclk; 252 + full-pwr-cycle; 243 253 vmmc-supply = <&ab8500_ldo_aux3_reg>; 244 254 vqmmc-supply = <&vmmci>; 245 255 pinctrl-names = "default", "sleep"; 246 256 pinctrl-0 = <&sdi0_default_mode>; 247 257 pinctrl-1 = <&sdi0_sleep_mode>; 248 258 249 - cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>; // 218 259 + /* GPIO218 MMC_CD */ 260 + cd-gpios = <&gpio6 26 GPIO_ACTIVE_LOW>; 250 261 251 262 status = "okay"; 252 263 }; ··· 560 549 /* VMMCI level-shifter enable */ 561 550 snowball_cfg3 { 562 551 pins = "GPIO217_AH12"; 563 - ste,config = <&gpio_out_lo>; 552 + ste,config = <&gpio_out_hi>; 564 553 }; 565 554 /* VMMCI level-shifter voltage select */ 566 555 snowball_cfg4 {
+2 -2
arch/arm/boot/dts/uniphier-pro5.dtsi
··· 184 184 }; 185 185 186 186 &mio_clk { 187 - compatible = "socionext,uniphier-pro5-mio-clock"; 187 + compatible = "socionext,uniphier-pro5-sd-clock"; 188 188 }; 189 189 190 190 &mio_rst { 191 - compatible = "socionext,uniphier-pro5-mio-reset"; 191 + compatible = "socionext,uniphier-pro5-sd-reset"; 192 192 }; 193 193 194 194 &peri_clk {
+2 -2
arch/arm/boot/dts/uniphier-pxs2.dtsi
··· 197 197 }; 198 198 199 199 &mio_clk { 200 - compatible = "socionext,uniphier-pxs2-mio-clock"; 200 + compatible = "socionext,uniphier-pxs2-sd-clock"; 201 201 }; 202 202 203 203 &mio_rst { 204 - compatible = "socionext,uniphier-pxs2-mio-reset"; 204 + compatible = "socionext,uniphier-pxs2-sd-reset"; 205 205 }; 206 206 207 207 &peri_clk {
+1 -1
arch/arm/boot/dts/vf500.dtsi
··· 70 70 global_timer: timer@40002200 { 71 71 compatible = "arm,cortex-a9-global-timer"; 72 72 reg = <0x40002200 0x20>; 73 - interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; 73 + interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>; 74 74 interrupt-parent = <&intc>; 75 75 clocks = <&clks VF610_CLK_PLATFORM_BUS>; 76 76 };
+1
arch/arm/configs/multi_v7_defconfig
··· 850 850 CONFIG_PWM_TEGRA=y 851 851 CONFIG_PWM_VT8500=y 852 852 CONFIG_PHY_HIX5HD2_SATA=y 853 + CONFIG_E1000E=y 853 854 CONFIG_PWM_STI=y 854 855 CONFIG_PWM_BCM2835=y 855 856 CONFIG_PWM_BRCMSTB=m
+13 -4
arch/arm/mach-imx/gpc.c
··· 408 408 static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg) 409 409 { 410 410 struct clk *clk; 411 - int i; 411 + int i, ret; 412 412 413 413 imx6q_pu_domain.reg = pu_reg; 414 414 ··· 430 430 if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS)) 431 431 return 0; 432 432 433 - pm_genpd_init(&imx6q_pu_domain.base, NULL, false); 434 - return of_genpd_add_provider_onecell(dev->of_node, 435 - &imx_gpc_onecell_data); 433 + for (i = 0; i < ARRAY_SIZE(imx_gpc_domains); i++) 434 + pm_genpd_init(imx_gpc_domains[i], NULL, false); 436 435 436 + ret = of_genpd_add_provider_onecell(dev->of_node, 437 + &imx_gpc_onecell_data); 438 + if (ret) 439 + goto power_off; 440 + 441 + return 0; 442 + 443 + power_off: 444 + imx6q_pm_pu_power_off(&imx6q_pu_domain.base); 437 445 clk_err: 438 446 while (i--) 439 447 clk_put(imx6q_pu_domain.clk[i]); 448 + imx6q_pu_domain.reg = NULL; 440 449 return -EINVAL; 441 450 } 442 451
+1 -1
arch/arm/mach-imx/mach-imx6q.c
··· 173 173 ksz9021rn_phy_fixup); 174 174 phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK, 175 175 ksz9031rn_phy_fixup); 176 - phy_register_fixup_for_uid(PHY_ID_AR8031, 0xffffffff, 176 + phy_register_fixup_for_uid(PHY_ID_AR8031, 0xffffffef, 177 177 ar8031_phy_fixup); 178 178 phy_register_fixup_for_uid(PHY_ID_AR8035, 0xffffffef, 179 179 ar8035_phy_fixup);
+1 -3
arch/arm/mach-mvebu/Kconfig
··· 23 23 select CACHE_L2X0 24 24 select ARM_CPU_SUSPEND 25 25 select MACH_MVEBU_ANY 26 + select MVEBU_CLK_COREDIV 26 27 27 28 config MACH_ARMADA_370 28 29 bool "Marvell Armada 370 boards" ··· 33 32 select CPU_PJ4B 34 33 select MACH_MVEBU_V7 35 34 select PINCTRL_ARMADA_370 36 - select MVEBU_CLK_COREDIV 37 35 help 38 36 Say 'Y' here if you want your kernel to support boards based 39 37 on the Marvell Armada 370 SoC with device tree. ··· 50 50 select HAVE_SMP 51 51 select MACH_MVEBU_V7 52 52 select PINCTRL_ARMADA_375 53 - select MVEBU_CLK_COREDIV 54 53 help 55 54 Say 'Y' here if you want your kernel to support boards based 56 55 on the Marvell Armada 375 SoC with device tree. ··· 67 68 select HAVE_SMP 68 69 select MACH_MVEBU_V7 69 70 select PINCTRL_ARMADA_38X 70 - select MVEBU_CLK_COREDIV 71 71 help 72 72 Say 'Y' here if you want your kernel to support boards based 73 73 on the Marvell Armada 380/385 SoC with device tree.
+1
arch/arm/mach-uniphier/Kconfig
··· 1 1 config ARCH_UNIPHIER 2 2 bool "Socionext UniPhier SoCs" 3 3 depends on ARCH_MULTI_V7 4 + select ARCH_HAS_RESET_CONTROLLER 4 5 select ARM_AMBA 5 6 select ARM_GLOBAL_TIMER 6 7 select ARM_GIC
+1
arch/arm64/Kconfig.platforms
··· 190 190 191 191 config ARCH_UNIPHIER 192 192 bool "Socionext UniPhier SoC Family" 193 + select ARCH_HAS_RESET_CONTROLLER 193 194 select PINCTRL 194 195 help 195 196 This enables support for Socionext UniPhier SoC family.
+2
arch/arm64/boot/dts/broadcom/ns2-svk.dts
··· 164 164 nand-ecc-mode = "hw"; 165 165 nand-ecc-strength = <8>; 166 166 nand-ecc-step-size = <512>; 167 + nand-bus-width = <16>; 168 + brcm,nand-oob-sector-size = <16>; 167 169 #address-cells = <1>; 168 170 #size-cells = <1>; 169 171 };
+1
arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
··· 123 123 <1 14 0xf08>, /* Physical Non-Secure PPI */ 124 124 <1 11 0xf08>, /* Virtual PPI */ 125 125 <1 10 0xf08>; /* Hypervisor PPI */ 126 + fsl,erratum-a008585; 126 127 }; 127 128 128 129 pmu {
+1
arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
··· 195 195 <1 14 4>, /* Physical Non-Secure PPI, active-low */ 196 196 <1 11 4>, /* Virtual PPI, active-low */ 197 197 <1 10 4>; /* Hypervisor PPI, active-low */ 198 + fsl,erratum-a008585; 198 199 }; 199 200 200 201 pmu {
+1 -1
arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi
··· 131 131 #address-cells = <0x1>; 132 132 #size-cells = <0x0>; 133 133 cell-index = <1>; 134 - clocks = <&cpm_syscon0 0 3>; 134 + clocks = <&cpm_syscon0 1 21>; 135 135 status = "disabled"; 136 136 }; 137 137
-3
arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
··· 116 116 cap-mmc-highspeed; 117 117 clock-frequency = <150000000>; 118 118 disable-wp; 119 - keep-power-in-suspend; 120 119 non-removable; 121 120 num-slots = <1>; 122 121 vmmc-supply = <&vcc_io>; ··· 257 258 }; 258 259 259 260 vcc_sd: SWITCH_REG1 { 260 - regulator-always-on; 261 - regulator-boot-on; 262 261 regulator-name = "vcc_sd"; 263 262 }; 264 263
-4
arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts
··· 152 152 gpio = <&gpio3 11 GPIO_ACTIVE_LOW>; 153 153 regulator-min-microvolt = <1800000>; 154 154 regulator-max-microvolt = <3300000>; 155 - regulator-always-on; 156 - regulator-boot-on; 157 155 vin-supply = <&vcc_io>; 158 156 }; 159 157 ··· 199 201 bus-width = <8>; 200 202 cap-mmc-highspeed; 201 203 disable-wp; 202 - keep-power-in-suspend; 203 204 mmc-pwrseq = <&emmc_pwrseq>; 204 205 mmc-hs200-1_2v; 205 206 mmc-hs200-1_8v; ··· 347 350 clock-freq-min-max = <400000 50000000>; 348 351 cap-sd-highspeed; 349 352 card-detect-delay = <200>; 350 - keep-power-in-suspend; 351 353 num-slots = <1>; 352 354 pinctrl-names = "default"; 353 355 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
+6 -6
arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
··· 257 257 reg = <0x59801000 0x400>; 258 258 }; 259 259 260 - mioctrl@59810000 { 261 - compatible = "socionext,uniphier-mioctrl", 260 + sdctrl@59810000 { 261 + compatible = "socionext,uniphier-ld20-sdctrl", 262 262 "simple-mfd", "syscon"; 263 263 reg = <0x59810000 0x800>; 264 264 265 - mio_clk: clock { 266 - compatible = "socionext,uniphier-ld20-mio-clock"; 265 + sd_clk: clock { 266 + compatible = "socionext,uniphier-ld20-sd-clock"; 267 267 #clock-cells = <1>; 268 268 }; 269 269 270 - mio_rst: reset { 271 - compatible = "socionext,uniphier-ld20-mio-reset"; 270 + sd_rst: reset { 271 + compatible = "socionext,uniphier-ld20-sd-reset"; 272 272 #reset-cells = <1>; 273 273 }; 274 274 };
+1
drivers/bus/Kconfig
··· 111 111 config QCOM_EBI2 112 112 bool "Qualcomm External Bus Interface 2 (EBI2)" 113 113 depends on HAS_IOMEM 114 + depends on ARCH_QCOM || COMPILE_TEST 114 115 help 115 116 Say y here to enable support for the Qualcomm External Bus 116 117 Interface 2, which can be used to connect things like NAND Flash,
+8 -8
drivers/reset/reset-uniphier.c
··· 154 154 UNIPHIER_RESET_END, 155 155 }; 156 156 157 - const struct uniphier_reset_data uniphier_pro5_mio_reset_data[] = { 157 + const struct uniphier_reset_data uniphier_pro5_sd_reset_data[] = { 158 158 UNIPHIER_MIO_RESET_SD(0, 0), 159 159 UNIPHIER_MIO_RESET_SD(1, 1), 160 160 UNIPHIER_MIO_RESET_EMMC_HW_RESET(6, 1), ··· 360 360 .compatible = "socionext,uniphier-ld20-reset", 361 361 .data = uniphier_ld20_sys_reset_data, 362 362 }, 363 - /* Media I/O reset */ 363 + /* Media I/O reset, SD reset */ 364 364 { 365 365 .compatible = "socionext,uniphier-sld3-mio-reset", 366 366 .data = uniphier_sld3_mio_reset_data, ··· 378 378 .data = uniphier_sld3_mio_reset_data, 379 379 }, 380 380 { 381 - .compatible = "socionext,uniphier-pro5-mio-reset", 382 - .data = uniphier_pro5_mio_reset_data, 381 + .compatible = "socionext,uniphier-pro5-sd-reset", 382 + .data = uniphier_pro5_sd_reset_data, 383 383 }, 384 384 { 385 - .compatible = "socionext,uniphier-pxs2-mio-reset", 386 - .data = uniphier_pro5_mio_reset_data, 385 + .compatible = "socionext,uniphier-pxs2-sd-reset", 386 + .data = uniphier_pro5_sd_reset_data, 387 387 }, 388 388 { 389 389 .compatible = "socionext,uniphier-ld11-mio-reset", 390 390 .data = uniphier_sld3_mio_reset_data, 391 391 }, 392 392 { 393 - .compatible = "socionext,uniphier-ld20-mio-reset", 394 - .data = uniphier_pro5_mio_reset_data, 393 + .compatible = "socionext,uniphier-ld20-sd-reset", 394 + .data = uniphier_pro5_sd_reset_data, 395 395 }, 396 396 /* Peripheral reset */ 397 397 {