Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

Pull ARM SoC fixes from Arnd Bergmann:
"A new set of bug fixes for 3.16, containing patches for seven
platforms:

at91:
- drivers/misc fix for Kconfig PWM symbol
- correction of several values in DT after conversion to CCF
- fix at91sam9261/at91sam9261ek mistake in slow crystal vs. slow RC osc

imx:
- Use GPIO for card CD/WP on imx51-babbage and eukrea-mbimxsd51,
because controller base CD/WP is not working in esdhc driver due to
runtime PM support
- A couple of random ventana gw5xxx board fixes
- Add IMX_IPUV3_CORE back to defconfig, which gets lost when moving
IPUv3 driver out of staging tree
- Fix enet/fec clock selection on imx6sl
- Fix display node on imx53-m53evk board
- A couple of Cubox-i updates from Russell, which were omitted from
the merge window due to dependency

integrator:
- fix an OF-related regression against 3.15

mvebu:
- mvebu (v7)
- Fix broken SoC ID detection
- Select ARM_CPU_SUSPEND for v7
- Remove armada38x compatible string (no users yet)
- Enable Dove SoC in mvebu_v7_defconfig
- kirkwood
- Fix phy-connection-type on GuruPlug board

qcom:
- enable gsbi driver in defconfig
- fix section mismatch warning in serial driver

samsung:
- use WFI macro in platform_do_lowpower because exynos cpuhotplug
includes a hardcoded WFI instruction and it causes compile error
in Thumb-2 mode.
- fix GIC reg sizes for exynos4 SoCs
- remove reset timer counter value during boot and resume for mct
to fix a big jump in printk timestamps
- fix pm code to check cortex-A9 for another exynos SoCs
- don't rely on firmware's secondary_cpu_start for mcpm

sti:
- Ethernet clocks were wrongly defined for STiH415/416 platforms
- STiH416 B2020 revision E DTS file name contained uppercase, change to
lowercase"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (33 commits)
ARM: at91/dt: sam9261: remove slow RC osc
ARM: at91/dt: define sam9261ek slow crystal frequency
ARM: at91/dt: sam9261: correctly define mainck
ARM: at91/dt: sam9n12: correct PLLA ICPLL and OUT values
ARM: at91/dt: sam9x5: correct PLLA ICPLL and OUT values
misc: atmel_pwm: fix Kconfig symbols
ARM: integrator: fix OF-related regression
ARM: mvebu: Fix the improper use of the compatible string armada38x using a wildcard
ARM: dts: kirkwood: fix phy-connection-type for Guruplug
ARM: EXYNOS: Don't rely on firmware's secondary_cpu_start for mcpm
ARM: dts: imx51-eukrea-mbimxsd51-baseboard: unbreak esdhc.
ARM: dts: imx51-babbage: Fix esdhc setup
ARM: dts: mx5: Move the display out of soc {} node
ARM: dts: mx5: Fix IPU port node placement
ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms
ARM: mvebu: Fix broken SoC ID detection
ARM: imx_v6_v7_defconfig: Enable CONFIG_IMX_IPUV3_CORE
ARM: multi_v7_defconfig: Add QCOM GSBI driver
ARM: stih41x: Rename stih416-b2020-revE.dts to stih416-b2020e.dts
tty: serial: msm: Fix section mismatch warning
...

+157 -146
+12 -2
Documentation/devicetree/bindings/arm/armada-38x.txt
··· 6 6 7 7 Required root node property: 8 8 9 - - compatible: must contain either "marvell,armada380" or 10 - "marvell,armada385" depending on the variant of the SoC being used. 9 + - compatible: must contain "marvell,armada380" 10 + 11 + In addition, boards using the Marvell Armada 385 SoC shall have the 12 + following property before the previous one: 13 + 14 + Required root node property: 15 + 16 + compatible: must contain "marvell,armada385" 17 + 18 + Example: 19 + 20 + compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380";
+1 -1
arch/arm/boot/dts/Makefile
··· 357 357 stih415-b2020.dtb \ 358 358 stih416-b2000.dtb \ 359 359 stih416-b2020.dtb \ 360 - stih416-b2020-revE.dtb 360 + stih416-b2020e.dtb 361 361 dtb-$(CONFIG_MACH_SUN4I) += \ 362 362 sun4i-a10-a1000.dtb \ 363 363 sun4i-a10-cubieboard.dtb \
+1 -1
arch/arm/boot/dts/armada-380.dtsi
··· 16 16 17 17 / { 18 18 model = "Marvell Armada 380 family SoC"; 19 - compatible = "marvell,armada380", "marvell,armada38x"; 19 + compatible = "marvell,armada380"; 20 20 21 21 cpus { 22 22 #address-cells = <1>;
+1 -1
arch/arm/boot/dts/armada-385-db.dts
··· 16 16 17 17 / { 18 18 model = "Marvell Armada 385 Development Board"; 19 - compatible = "marvell,a385-db", "marvell,armada385", "marvell,armada38x"; 19 + compatible = "marvell,a385-db", "marvell,armada385", "marvell,armada380"; 20 20 21 21 chosen { 22 22 bootargs = "console=ttyS0,115200 earlyprintk";
+1 -1
arch/arm/boot/dts/armada-385-rd.dts
··· 17 17 18 18 / { 19 19 model = "Marvell Armada 385 Reference Design"; 20 - compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada38x"; 20 + compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380"; 21 21 22 22 chosen { 23 23 bootargs = "console=ttyS0,115200 earlyprintk";
+1 -1
arch/arm/boot/dts/armada-385.dtsi
··· 16 16 17 17 / { 18 18 model = "Marvell Armada 385 family SoC"; 19 - compatible = "marvell,armada385", "marvell,armada38x"; 19 + compatible = "marvell,armada385", "marvell,armada380"; 20 20 21 21 cpus { 22 22 #address-cells = <1>;
+1 -1
arch/arm/boot/dts/armada-38x.dtsi
··· 20 20 21 21 / { 22 22 model = "Marvell Armada 38x family SoC"; 23 - compatible = "marvell,armada38x"; 23 + compatible = "marvell,armada380"; 24 24 25 25 aliases { 26 26 gpio0 = &gpio0;
+7 -14
arch/arm/boot/dts/at91sam9261.dtsi
··· 568 568 #size-cells = <0>; 569 569 #interrupt-cells = <1>; 570 570 571 - slow_rc_osc: slow_rc_osc { 572 - compatible = "fixed-clock"; 571 + main_osc: main_osc { 572 + compatible = "atmel,at91rm9200-clk-main-osc"; 573 573 #clock-cells = <0>; 574 - clock-frequency = <32768>; 575 - clock-accuracy = <50000000>; 576 - }; 577 - 578 - clk32k: slck { 579 - compatible = "atmel,at91sam9260-clk-slow"; 580 - #clock-cells = <0>; 581 - clocks = <&slow_rc_osc &slow_xtal>; 574 + interrupts-extended = <&pmc AT91_PMC_MOSCS>; 575 + clocks = <&main_xtal>; 582 576 }; 583 577 584 578 main: mainck { 585 579 compatible = "atmel,at91rm9200-clk-main"; 586 580 #clock-cells = <0>; 587 - interrupts-extended = <&pmc AT91_PMC_MOSCS>; 588 - clocks = <&main_xtal>; 581 + clocks = <&main_osc>; 589 582 }; 590 583 591 584 plla: pllack { ··· 608 615 compatible = "atmel,at91rm9200-clk-master"; 609 616 #clock-cells = <0>; 610 617 interrupts-extended = <&pmc AT91_PMC_MCKRDY>; 611 - clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; 618 + clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 612 619 atmel,clk-output-range = <0 94000000>; 613 620 atmel,clk-divisors = <1 2 4 0>; 614 621 }; ··· 625 632 #address-cells = <1>; 626 633 #size-cells = <0>; 627 634 interrupt-parent = <&pmc>; 628 - clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; 635 + clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; 629 636 630 637 prog0: prog0 { 631 638 #clock-cells = <0>;
+4
arch/arm/boot/dts/at91sam9261ek.dts
··· 20 20 reg = <0x20000000 0x4000000>; 21 21 }; 22 22 23 + slow_xtal { 24 + clock-frequency = <32768>; 25 + }; 26 + 23 27 main_xtal { 24 28 clock-frequency = <18432000>; 25 29 };
+2 -2
arch/arm/boot/dts/at91sam9n12.dtsi
··· 132 132 <595000000 650000000 3 0>, 133 133 <545000000 600000000 0 1>, 134 134 <495000000 555000000 1 1>, 135 - <445000000 500000000 1 2>, 136 - <400000000 450000000 1 3>; 135 + <445000000 500000000 2 1>, 136 + <400000000 450000000 3 1>; 137 137 }; 138 138 139 139 plladiv: plladivck {
+2 -2
arch/arm/boot/dts/at91sam9x5.dtsi
··· 140 140 595000000 650000000 3 0 141 141 545000000 600000000 0 1 142 142 495000000 555000000 1 1 143 - 445000000 500000000 1 2 144 - 400000000 450000000 1 3>; 143 + 445000000 500000000 2 1 144 + 400000000 450000000 3 1>; 145 145 }; 146 146 147 147 plladiv: plladivck {
+1 -1
arch/arm/boot/dts/exynos4.dtsi
··· 113 113 compatible = "arm,cortex-a9-gic"; 114 114 #interrupt-cells = <3>; 115 115 interrupt-controller; 116 - reg = <0x10490000 0x1000>, <0x10480000 0x100>; 116 + reg = <0x10490000 0x10000>, <0x10480000 0x10000>; 117 117 }; 118 118 119 119 combiner: interrupt-controller@10440000 {
+5 -5
arch/arm/boot/dts/imx51-babbage.dts
··· 315 315 &esdhc1 { 316 316 pinctrl-names = "default"; 317 317 pinctrl-0 = <&pinctrl_esdhc1>; 318 - fsl,cd-controller; 319 - fsl,wp-controller; 318 + cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 319 + wp-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; 320 320 status = "okay"; 321 321 }; 322 322 323 323 &esdhc2 { 324 324 pinctrl-names = "default"; 325 325 pinctrl-0 = <&pinctrl_esdhc2>; 326 - cd-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; 326 + cd-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 327 327 wp-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; 328 328 status = "okay"; 329 329 }; ··· 468 468 MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 469 469 MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 470 470 MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 471 - MX51_PAD_GPIO1_0__SD1_CD 0x20d5 472 - MX51_PAD_GPIO1_1__SD1_WP 0x20d5 471 + MX51_PAD_GPIO1_0__GPIO1_0 0x100 472 + MX51_PAD_GPIO1_1__GPIO1_1 0x100 473 473 >; 474 474 }; 475 475
+2 -2
arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts
··· 107 107 &esdhc1 { 108 108 pinctrl-names = "default"; 109 109 pinctrl-0 = <&pinctrl_esdhc1 &pinctrl_esdhc1_cd>; 110 - fsl,cd-controller; 110 + cd-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 111 111 status = "okay"; 112 112 }; 113 113 ··· 206 206 207 207 pinctrl_esdhc1_cd: esdhc1_cd { 208 208 fsl,pins = < 209 - MX51_PAD_GPIO1_0__SD1_CD 0x20d5 209 + MX51_PAD_GPIO1_0__GPIO1_0 0xd5 210 210 >; 211 211 }; 212 212
+18 -20
arch/arm/boot/dts/imx53-m53evk.dts
··· 21 21 <0xb0000000 0x20000000>; 22 22 }; 23 23 24 - soc { 25 - display1: display@di1 { 26 - compatible = "fsl,imx-parallel-display"; 27 - interface-pix-fmt = "bgr666"; 28 - pinctrl-names = "default"; 29 - pinctrl-0 = <&pinctrl_ipu_disp1>; 24 + display1: display@di1 { 25 + compatible = "fsl,imx-parallel-display"; 26 + interface-pix-fmt = "bgr666"; 27 + pinctrl-names = "default"; 28 + pinctrl-0 = <&pinctrl_ipu_disp1>; 30 29 31 - display-timings { 32 - 800x480p60 { 33 - native-mode; 34 - clock-frequency = <31500000>; 35 - hactive = <800>; 36 - vactive = <480>; 37 - hfront-porch = <40>; 38 - hback-porch = <88>; 39 - hsync-len = <128>; 40 - vback-porch = <33>; 41 - vfront-porch = <9>; 42 - vsync-len = <3>; 43 - vsync-active = <1>; 44 - }; 30 + display-timings { 31 + 800x480p60 { 32 + native-mode; 33 + clock-frequency = <31500000>; 34 + hactive = <800>; 35 + vactive = <480>; 36 + hfront-porch = <40>; 37 + hback-porch = <88>; 38 + hsync-len = <128>; 39 + vback-porch = <33>; 40 + vfront-porch = <9>; 41 + vsync-len = <3>; 42 + vsync-active = <1>; 45 43 }; 46 44 }; 47 45
+10
arch/arm/boot/dts/imx6dl-hummingboard.dts
··· 143 143 fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>; 144 144 }; 145 145 146 + pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id { 147 + /* 148 + * Similar to pinctrl_usbotg_2, but we want it 149 + * pulled down for a fixed host connection. 150 + */ 151 + fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; 152 + }; 153 + 146 154 pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { 147 155 fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>; 148 156 }; ··· 186 178 }; 187 179 188 180 &usbotg { 181 + pinctrl-names = "default"; 182 + pinctrl-0 = <&pinctrl_hummingboard_usbotg_id>; 189 183 vbus-supply = <&reg_usbotg_vbus>; 190 184 status = "okay"; 191 185 };
+1 -1
arch/arm/boot/dts/imx6q-gw51xx.dts
··· 11 11 12 12 /dts-v1/; 13 13 #include "imx6q.dtsi" 14 - #include "imx6qdl-gw54xx.dtsi" 14 + #include "imx6qdl-gw51xx.dtsi" 15 15 16 16 / { 17 17 model = "Gateworks Ventana i.MX6 Quad GW51XX";
+27
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
··· 12 12 pinctrl-0 = <&pinctrl_cubox_i_ir>; 13 13 }; 14 14 15 + pwmleds { 16 + compatible = "pwm-leds"; 17 + pinctrl-names = "default"; 18 + pinctrl-0 = <&pinctrl_cubox_i_pwm1>; 19 + 20 + front { 21 + active-low; 22 + label = "imx6:red:front"; 23 + max-brightness = <248>; 24 + pwms = <&pwm1 0 50000>; 25 + }; 26 + }; 27 + 15 28 regulators { 16 29 compatible = "simple-bus"; 17 30 ··· 122 109 >; 123 110 }; 124 111 112 + pinctrl_cubox_i_pwm1: cubox-i-pwm1-front-led { 113 + fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b0>; 114 + }; 115 + 125 116 pinctrl_cubox_i_spdif: cubox-i-spdif { 126 117 fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>; 127 118 }; 128 119 129 120 pinctrl_cubox_i_usbh1_vbus: cubox-i-usbh1-vbus { 130 121 fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x4001b0b0>; 122 + }; 123 + 124 + pinctrl_cubox_i_usbotg_id: cubox-i-usbotg-id { 125 + /* 126 + * The Cubox-i pulls this low, but as it's pointless 127 + * leaving it as a pull-up, even if it is just 10uA. 128 + */ 129 + fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; 131 130 }; 132 131 133 132 pinctrl_cubox_i_usbotg_vbus: cubox-i-usbotg-vbus { ··· 178 153 }; 179 154 180 155 &usbotg { 156 + pinctrl-names = "default"; 157 + pinctrl-0 = <&pinctrl_cubox_i_usbotg_id>; 181 158 vbus-supply = <&reg_usbotg_vbus>; 182 159 status = "okay"; 183 160 };
+1 -1
arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
··· 161 161 status = "okay"; 162 162 163 163 pmic: ltc3676@3c { 164 - compatible = "ltc,ltc3676"; 164 + compatible = "lltc,ltc3676"; 165 165 reg = <0x3c>; 166 166 167 167 regulators {
+2 -2
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
··· 220 220 }; 221 221 222 222 pmic: ltc3676@3c { 223 - compatible = "ltc,ltc3676"; 223 + compatible = "lltc,ltc3676"; 224 224 reg = <0x3c>; 225 225 226 226 regulators { ··· 288 288 codec: sgtl5000@0a { 289 289 compatible = "fsl,sgtl5000"; 290 290 reg = <0x0a>; 291 - clocks = <&clks 169>; 291 + clocks = <&clks 201>; 292 292 VDDA-supply = <&reg_1p8v>; 293 293 VDDIO-supply = <&reg_3p3v>; 294 294 };
+1 -1
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
··· 234 234 }; 235 235 236 236 pmic: ltc3676@3c { 237 - compatible = "ltc,ltc3676"; 237 + compatible = "lltc,ltc3676"; 238 238 reg = <0x3c>; 239 239 240 240 regulators {
-13
arch/arm/boot/dts/imx6qdl-microsom.dtsi
··· 10 10 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 11 11 >; 12 12 }; 13 - 14 - pinctrl_microsom_usbotg: microsom-usbotg { 15 - /* 16 - * Similar to pinctrl_usbotg_2, but we want it 17 - * pulled down for a fixed host connection. 18 - */ 19 - fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; 20 - }; 21 13 }; 22 14 }; 23 15 ··· 17 25 pinctrl-names = "default"; 18 26 pinctrl-0 = <&pinctrl_microsom_uart1>; 19 27 status = "okay"; 20 - }; 21 - 22 - &usbotg { 23 - pinctrl-names = "default"; 24 - pinctrl-0 = <&pinctrl_microsom_usbotg>; 25 28 };
+1 -1
arch/arm/boot/dts/imx6sl.dtsi
··· 686 686 compatible = "fsl,imx6sl-fec", "fsl,imx25-fec"; 687 687 reg = <0x02188000 0x4000>; 688 688 interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>; 689 - clocks = <&clks IMX6SL_CLK_ENET_REF>, 689 + clocks = <&clks IMX6SL_CLK_ENET>, 690 690 <&clks IMX6SL_CLK_ENET_REF>; 691 691 clock-names = "ipg", "ahb"; 692 692 status = "disabled";
+2 -2
arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
··· 105 105 compatible = "ethernet-phy-id0141.0cb0", 106 106 "ethernet-phy-ieee802.3-c22"; 107 107 reg = <0>; 108 - phy-connection-type = "rgmii-id"; 109 108 }; 110 109 111 110 ethphy1: ethernet-phy@1 { ··· 112 113 compatible = "ethernet-phy-id0141.0cb0", 113 114 "ethernet-phy-ieee802.3-c22"; 114 115 reg = <1>; 115 - phy-connection-type = "rgmii-id"; 116 116 }; 117 117 }; 118 118 ··· 119 121 status = "okay"; 120 122 ethernet0-port@0 { 121 123 phy-handle = <&ethphy0>; 124 + phy-connection-type = "rgmii-id"; 122 125 }; 123 126 }; 124 127 ··· 127 128 status = "okay"; 128 129 ethernet1-port@0 { 129 130 phy-handle = <&ethphy1>; 131 + phy-connection-type = "rgmii-id"; 130 132 }; 131 133 };
+4 -4
arch/arm/boot/dts/stih415.dtsi
··· 169 169 170 170 pinctrl-names = "default"; 171 171 pinctrl-0 = <&pinctrl_mii0>; 172 - clock-names = "stmmaceth"; 173 - clocks = <&clk_s_a1_ls CLK_GMAC0_PHY>; 172 + clock-names = "stmmaceth", "sti-ethclk"; 173 + clocks = <&clk_s_a1_ls CLK_ICN_IF_2>, <&clk_s_a1_ls CLK_GMAC0_PHY>; 174 174 }; 175 175 176 176 ethernet1: dwmac@fef08000 { ··· 192 192 reset-names = "stmmaceth"; 193 193 pinctrl-names = "default"; 194 194 pinctrl-0 = <&pinctrl_mii1>; 195 - clock-names = "stmmaceth"; 196 - clocks = <&clk_s_a0_ls CLK_ETH1_PHY>; 195 + clock-names = "stmmaceth", "sti-ethclk"; 196 + clocks = <&clk_s_a0_ls CLK_ICN_REG>, <&clk_s_a0_ls CLK_ETH1_PHY>; 197 197 }; 198 198 199 199 rc: rc@fe518000 {
arch/arm/boot/dts/stih416-b2020-revE.dts arch/arm/boot/dts/stih416-b2020e.dts
+4 -4
arch/arm/boot/dts/stih416.dtsi
··· 175 175 reset-names = "stmmaceth"; 176 176 pinctrl-names = "default"; 177 177 pinctrl-0 = <&pinctrl_mii0>; 178 - clock-names = "stmmaceth"; 179 - clocks = <&clk_s_a1_ls CLK_GMAC0_PHY>; 178 + clock-names = "stmmaceth", "sti-ethclk"; 179 + clocks = <&clk_s_a1_ls CLK_ICN_IF_2>, <&clk_s_a1_ls CLK_GMAC0_PHY>; 180 180 }; 181 181 182 182 ethernet1: dwmac@fef08000 { ··· 197 197 reset-names = "stmmaceth"; 198 198 pinctrl-names = "default"; 199 199 pinctrl-0 = <&pinctrl_mii1>; 200 - clock-names = "stmmaceth"; 201 - clocks = <&clk_s_a0_ls CLK_ETH1_PHY>; 200 + clock-names = "stmmaceth", "sti-ethclk"; 201 + clocks = <&clk_s_a0_ls CLK_ICN_REG>, <&clk_s_a0_ls CLK_ETH1_PHY>; 202 202 }; 203 203 204 204 rc: rc@fe518000 {
+1
arch/arm/configs/imx_v6_v7_defconfig
··· 186 186 CONFIG_V4L_MEM2MEM_DRIVERS=y 187 187 CONFIG_VIDEO_CODA=y 188 188 CONFIG_SOC_CAMERA_OV2640=y 189 + CONFIG_IMX_IPUV3_CORE=y 189 190 CONFIG_DRM=y 190 191 CONFIG_DRM_PANEL_SIMPLE=y 191 192 CONFIG_BACKLIGHT_LCD_SUPPORT=y
+1
arch/arm/configs/multi_v7_defconfig
··· 353 353 CONFIG_KEYBOARD_NVEC=y 354 354 CONFIG_SERIO_NVEC_PS2=y 355 355 CONFIG_NVEC_POWER=y 356 + CONFIG_QCOM_GSBI=y 356 357 CONFIG_COMMON_CLK_QCOM=y 357 358 CONFIG_MSM_GCC_8660=y 358 359 CONFIG_MSM_MMCC_8960=y
+2
arch/arm/configs/mvebu_v7_defconfig
··· 14 14 CONFIG_MACH_ARMADA_375=y 15 15 CONFIG_MACH_ARMADA_38X=y 16 16 CONFIG_MACH_ARMADA_XP=y 17 + CONFIG_MACH_DOVE=y 17 18 CONFIG_NEON=y 18 19 # CONFIG_CACHE_L2X0 is not set 19 20 # CONFIG_SWP_EMULATE is not set ··· 53 52 CONFIG_KEYBOARD_GPIO=y 54 53 CONFIG_SERIAL_8250=y 55 54 CONFIG_SERIAL_8250_CONSOLE=y 55 + CONFIG_SERIAL_OF_PLATFORM=y 56 56 CONFIG_I2C=y 57 57 CONFIG_SPI=y 58 58 CONFIG_SPI_ORION=y
+1 -7
arch/arm/mach-exynos/hotplug.c
··· 46 46 if (cpu == 1) 47 47 exynos_cpu_power_down(cpu); 48 48 49 - /* 50 - * here's the WFI 51 - */ 52 - asm(".word 0xe320f003\n" 53 - : 54 - : 55 - : "memory", "cc"); 49 + wfi(); 56 50 57 51 if (pen_release == cpu_logical_map(cpu)) { 58 52 /*
+6 -5
arch/arm/mach-exynos/mcpm-exynos.c
··· 25 25 26 26 #define EXYNOS5420_CPUS_PER_CLUSTER 4 27 27 #define EXYNOS5420_NR_CLUSTERS 2 28 - #define MCPM_BOOT_ADDR_OFFSET 0x1c 29 28 30 29 /* 31 30 * The common v7_exit_coherency_flush API could not be used because of the ··· 342 343 pr_info("Exynos MCPM support installed\n"); 343 344 344 345 /* 345 - * Future entries into the kernel can now go 346 - * through the cluster entry vectors. 346 + * U-Boot SPL is hardcoded to jump to the start of ns_sram_base_addr 347 + * as part of secondary_cpu_start(). Let's redirect it to the 348 + * mcpm_entry_point(). 347 349 */ 348 - __raw_writel(virt_to_phys(mcpm_entry_point), 349 - ns_sram_base_addr + MCPM_BOOT_ADDR_OFFSET); 350 + __raw_writel(0xe59f0000, ns_sram_base_addr); /* ldr r0, [pc, #0] */ 351 + __raw_writel(0xe12fff10, ns_sram_base_addr + 4); /* bx r0 */ 352 + __raw_writel(virt_to_phys(mcpm_entry_point), ns_sram_base_addr + 8); 350 353 351 354 iounmap(ns_sram_base_addr); 352 355
+9 -6
arch/arm/mach-exynos/pm.c
··· 300 300 tmp = (S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0); 301 301 __raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION); 302 302 303 - if (!soc_is_exynos5250()) 303 + if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) 304 304 exynos_cpu_save_register(); 305 305 306 306 return 0; ··· 334 334 if (exynos_pm_central_resume()) 335 335 goto early_wakeup; 336 336 337 - if (!soc_is_exynos5250()) 337 + if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) 338 338 exynos_cpu_restore_register(); 339 339 340 340 /* For release retention */ ··· 353 353 354 354 s3c_pm_do_restore_core(exynos_core_save, ARRAY_SIZE(exynos_core_save)); 355 355 356 - if (!soc_is_exynos5250()) 356 + if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) 357 357 scu_enable(S5P_VA_SCU); 358 358 359 359 early_wakeup: ··· 440 440 case CPU_PM_ENTER: 441 441 if (cpu == 0) { 442 442 exynos_pm_central_suspend(); 443 - exynos_cpu_save_register(); 443 + if (read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9) 444 + exynos_cpu_save_register(); 444 445 } 445 446 break; 446 447 447 448 case CPU_PM_EXIT: 448 449 if (cpu == 0) { 449 - if (!soc_is_exynos5250()) 450 + if (read_cpuid_part_number() == 451 + ARM_CPU_PART_CORTEX_A9) { 450 452 scu_enable(S5P_VA_SCU); 451 - exynos_cpu_restore_register(); 453 + exynos_cpu_restore_register(); 454 + } 452 455 exynos_pm_central_resume(); 453 456 } 454 457 break;
+1
arch/arm/mach-imx/clk-imx6sl.c
··· 312 312 clks[IMX6SL_CLK_ECSPI2] = imx_clk_gate2("ecspi2", "ecspi_root", base + 0x6c, 2); 313 313 clks[IMX6SL_CLK_ECSPI3] = imx_clk_gate2("ecspi3", "ecspi_root", base + 0x6c, 4); 314 314 clks[IMX6SL_CLK_ECSPI4] = imx_clk_gate2("ecspi4", "ecspi_root", base + 0x6c, 6); 315 + clks[IMX6SL_CLK_ENET] = imx_clk_gate2("enet", "ipg", base + 0x6c, 10); 315 316 clks[IMX6SL_CLK_EPIT1] = imx_clk_gate2("epit1", "perclk", base + 0x6c, 12); 316 317 clks[IMX6SL_CLK_EPIT2] = imx_clk_gate2("epit2", "perclk", base + 0x6c, 14); 317 318 clks[IMX6SL_CLK_EXTERN_AUDIO] = imx_clk_gate2("extern_audio", "extern_audio_podf", base + 0x6c, 16);
+7 -19
arch/arm/mach-integrator/integrator_ap.c
··· 480 480 static void __init ap_init_of(void) 481 481 { 482 482 unsigned long sc_dec; 483 - struct device_node *root; 484 483 struct device_node *syscon; 485 484 struct device_node *ebi; 486 485 struct device *parent; 487 486 struct soc_device *soc_dev; 488 487 struct soc_device_attribute *soc_dev_attr; 489 488 u32 ap_sc_id; 490 - int err; 491 489 int i; 492 490 493 - /* Here we create an SoC device for the root node */ 494 - root = of_find_node_by_path("/"); 495 - if (!root) 496 - return; 497 - 498 - syscon = of_find_matching_node(root, ap_syscon_match); 491 + syscon = of_find_matching_node(NULL, ap_syscon_match); 499 492 if (!syscon) 500 493 return; 501 - ebi = of_find_matching_node(root, ebi_match); 494 + ebi = of_find_matching_node(NULL, ebi_match); 502 495 if (!ebi) 503 496 return; 504 497 ··· 502 509 if (!ebi_base) 503 510 return; 504 511 512 + of_platform_populate(NULL, of_default_bus_match_table, 513 + ap_auxdata_lookup, NULL); 514 + 505 515 ap_sc_id = readl(ap_syscon_base); 506 516 507 517 soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); 508 518 if (!soc_dev_attr) 509 519 return; 510 520 511 - err = of_property_read_string(root, "compatible", 512 - &soc_dev_attr->soc_id); 513 - if (err) 514 - return; 515 - err = of_property_read_string(root, "model", &soc_dev_attr->machine); 516 - if (err) 517 - return; 521 + soc_dev_attr->soc_id = "XVC"; 522 + soc_dev_attr->machine = "Integrator/AP"; 518 523 soc_dev_attr->family = "Integrator"; 519 524 soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%c", 520 525 'A' + (ap_sc_id & 0x0f)); ··· 526 535 527 536 parent = soc_device_to_device(soc_dev); 528 537 integrator_init_sysfs(parent, ap_sc_id); 529 - 530 - of_platform_populate(root, of_default_bus_match_table, 531 - ap_auxdata_lookup, parent); 532 538 533 539 sc_dec = readl(ap_syscon_base + INTEGRATOR_SC_DEC_OFFSET); 534 540 for (i = 0; i < 4; i++) {
+6 -17
arch/arm/mach-integrator/integrator_cp.c
··· 279 279 280 280 static void __init intcp_init_of(void) 281 281 { 282 - struct device_node *root; 283 282 struct device_node *cpcon; 284 283 struct device *parent; 285 284 struct soc_device *soc_dev; 286 285 struct soc_device_attribute *soc_dev_attr; 287 286 u32 intcp_sc_id; 288 - int err; 289 287 290 - /* Here we create an SoC device for the root node */ 291 - root = of_find_node_by_path("/"); 292 - if (!root) 293 - return; 294 - 295 - cpcon = of_find_matching_node(root, intcp_syscon_match); 288 + cpcon = of_find_matching_node(NULL, intcp_syscon_match); 296 289 if (!cpcon) 297 290 return; 298 291 ··· 293 300 if (!intcp_con_base) 294 301 return; 295 302 303 + of_platform_populate(NULL, of_default_bus_match_table, 304 + intcp_auxdata_lookup, NULL); 305 + 296 306 intcp_sc_id = readl(intcp_con_base); 297 307 298 308 soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); 299 309 if (!soc_dev_attr) 300 310 return; 301 311 302 - err = of_property_read_string(root, "compatible", 303 - &soc_dev_attr->soc_id); 304 - if (err) 305 - return; 306 - err = of_property_read_string(root, "model", &soc_dev_attr->machine); 307 - if (err) 308 - return; 312 + soc_dev_attr->soc_id = "XCV"; 313 + soc_dev_attr->machine = "Integrator/CP"; 309 314 soc_dev_attr->family = "Integrator"; 310 315 soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%c", 311 316 'A' + (intcp_sc_id & 0x0f)); ··· 317 326 318 327 parent = soc_device_to_device(soc_dev); 319 328 integrator_init_sysfs(parent, intcp_sc_id); 320 - of_platform_populate(root, of_default_bus_match_table, 321 - intcp_auxdata_lookup, parent); 322 329 } 323 330 324 331 static const char * intcp_dt_board_compat[] = {
+2
arch/arm/mach-mvebu/Kconfig
··· 10 10 select ZONE_DMA if ARM_LPAE 11 11 select ARCH_REQUIRE_GPIOLIB 12 12 select PCI_QUIRKS if PCI 13 + select OF_ADDRESS_PCI 13 14 14 15 if ARCH_MVEBU 15 16 ··· 18 17 bool 19 18 select ARMADA_370_XP_TIMER 20 19 select CACHE_L2X0 20 + select ARM_CPU_SUSPEND 21 21 22 22 config MACH_ARMADA_370 23 23 bool "Marvell Armada 370 boards" if ARCH_MULTI_V7
+3 -6
drivers/clocksource/exynos_mct.c
··· 153 153 } 154 154 155 155 /* Clocksource handling */ 156 - static void exynos4_mct_frc_start(u32 hi, u32 lo) 156 + static void exynos4_mct_frc_start(void) 157 157 { 158 158 u32 reg; 159 - 160 - exynos4_mct_write(lo, EXYNOS4_MCT_G_CNT_L); 161 - exynos4_mct_write(hi, EXYNOS4_MCT_G_CNT_U); 162 159 163 160 reg = __raw_readl(reg_base + EXYNOS4_MCT_G_TCON); 164 161 reg |= MCT_G_TCON_START; ··· 178 181 179 182 static void exynos4_frc_resume(struct clocksource *cs) 180 183 { 181 - exynos4_mct_frc_start(0, 0); 184 + exynos4_mct_frc_start(); 182 185 } 183 186 184 187 struct clocksource mct_frc = { ··· 197 200 198 201 static void __init exynos4_clocksource_init(void) 199 202 { 200 - exynos4_mct_frc_start(0, 0); 203 + exynos4_mct_frc_start(); 201 204 202 205 if (clocksource_register_hz(&mct_frc, clk_rate)) 203 206 panic("%s: can't register clocksource\n", mct_frc.name);
+1 -1
drivers/misc/Kconfig
··· 54 54 config ATMEL_PWM 55 55 tristate "Atmel AT32/AT91 PWM support" 56 56 depends on HAVE_CLK 57 - depends on AVR32 || AT91SAM9263 || AT91SAM9RL || AT91SAM9G45 57 + depends on AVR32 || ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || ARCH_AT91SAM9G45 58 58 help 59 59 This option enables device driver support for the PWM channels 60 60 on certain Atmel processors. Pulse Width Modulation is used for
+1 -1
drivers/tty/serial/msm_serial.c
··· 991 991 { } 992 992 }; 993 993 994 - static int __init msm_serial_probe(struct platform_device *pdev) 994 + static int msm_serial_probe(struct platform_device *pdev) 995 995 { 996 996 struct msm_port *msm_port; 997 997 struct resource *resource;
+2 -1
include/dt-bindings/clock/imx6sl-clock.h
··· 145 145 #define IMX6SL_CLK_USDHC4 132 146 146 #define IMX6SL_CLK_PLL4_AUDIO_DIV 133 147 147 #define IMX6SL_CLK_SPBA 134 148 - #define IMX6SL_CLK_END 135 148 + #define IMX6SL_CLK_ENET 135 149 + #define IMX6SL_CLK_END 136 149 150 150 151 #endif /* __DT_BINDINGS_CLOCK_IMX6SL_H */
+1
include/dt-bindings/clock/stih415-clks.h
··· 10 10 #define CLK_ETH1_PHY 4 11 11 12 12 /* CLOCKGEN A1 */ 13 + #define CLK_ICN_IF_2 0 13 14 #define CLK_GMAC0_PHY 3 14 15 15 16 #endif
+1
include/dt-bindings/clock/stih416-clks.h
··· 10 10 #define CLK_ETH1_PHY 4 11 11 12 12 /* CLOCKGEN A1 */ 13 + #define CLK_ICN_IF_2 0 13 14 #define CLK_GMAC0_PHY 3 14 15 15 16 #endif