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

Merge tag 'imx-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes

Pull "i.MX fixes for 3.16" from Shawn Guo:

- 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

* tag 'imx-fixes-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
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: imx_v6_v7_defconfig: Enable CONFIG_IMX_IPUV3_CORE
ARM: dts: hummingboard/cubox-i: move usb otg configuration to platform level
ARM: dts: cubox-i: add support for PWM-driven front panel LED
ARM: dts: imx6: ventana: correct gw52xx sgtl5000 clock source
ARM: dts: imx6qdl-gw5xxx: Fix Linear Technology vendor prefix
ARM: dts: imx6: ventana: fix include typo
ARM: dts: imx6sl: correct the fec ipg clock source
ARM: imx6sl: add missing enet clock for imx6sl

+72 -47
+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";
+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/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);
+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 */