Skip to content

Commit 55a020e

Browse files
committed
Merge tag 'imx-fixes-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
i.MX fixes for 4.19: - i.MX display folks decided to switch MXS display driver from legacy FB to DRM during 4.19 merge window. It leads to a fallout on some Freescale/NXP development boards with Seiko 43WVF1G panel, because this DRM panel driver is not enabled in i.MX defconfig. Here is a series from Fabio to convert i.MX23/28 EVK DT to Seiko 43WVF1G panel bindings and enable the panel driver in i.MX defconfig, so that users can still get functional LCD on these boards by default. - A fix from Leonard to revert incorrect legacy PCI irq mapping in i.MX7 device tree, that was caused by document errors. * tag 'imx-fixes-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G ARM: mxs_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G ARM: dts: imx23-evk: Convert to the new display bindings ARM: dts: imx23-evk: Move regulators outside simple-bus ARM: dts: imx28-evk: Convert to the new display bindings ARM: dts: imx28-evk: Move regulators outside simple-bus Revert "ARM: dts: imx7d: Invert legacy PCI irq mapping" Signed-off-by: Olof Johansson <olof@lixom.net>
2 parents 5b394b2 + b9543a2 commit 55a020e

File tree

5 files changed

+136
-151
lines changed

5 files changed

+136
-151
lines changed

arch/arm/boot/dts/imx23-evk.dts

Lines changed: 41 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,43 @@
1313
reg = <0x40000000 0x08000000>;
1414
};
1515

16+
reg_vddio_sd0: regulator-vddio-sd0 {
17+
compatible = "regulator-fixed";
18+
regulator-name = "vddio-sd0";
19+
regulator-min-microvolt = <3300000>;
20+
regulator-max-microvolt = <3300000>;
21+
gpio = <&gpio1 29 0>;
22+
};
23+
24+
reg_lcd_3v3: regulator-lcd-3v3 {
25+
compatible = "regulator-fixed";
26+
regulator-name = "lcd-3v3";
27+
regulator-min-microvolt = <3300000>;
28+
regulator-max-microvolt = <3300000>;
29+
gpio = <&gpio1 18 0>;
30+
enable-active-high;
31+
};
32+
33+
reg_lcd_5v: regulator-lcd-5v {
34+
compatible = "regulator-fixed";
35+
regulator-name = "lcd-5v";
36+
regulator-min-microvolt = <5000000>;
37+
regulator-max-microvolt = <5000000>;
38+
};
39+
40+
panel {
41+
compatible = "sii,43wvf1g";
42+
backlight = <&backlight_display>;
43+
dvdd-supply = <&reg_lcd_3v3>;
44+
avdd-supply = <&reg_lcd_5v>;
45+
46+
port {
47+
panel_in: endpoint {
48+
remote-endpoint = <&display_out>;
49+
};
50+
};
51+
};
52+
1653
apb@80000000 {
1754
apbh@80000000 {
1855
gpmi-nand@8000c000 {
@@ -52,31 +89,11 @@
5289
lcdif@80030000 {
5390
pinctrl-names = "default";
5491
pinctrl-0 = <&lcdif_24bit_pins_a>;
55-
lcd-supply = <&reg_lcd_3v3>;
56-
display = <&display0>;
5792
status = "okay";
5893

59-
display0: display0 {
60-
bits-per-pixel = <32>;
61-
bus-width = <24>;
62-
63-
display-timings {
64-
native-mode = <&timing0>;
65-
timing0: timing0 {
66-
clock-frequency = <9200000>;
67-
hactive = <480>;
68-
vactive = <272>;
69-
hback-porch = <15>;
70-
hfront-porch = <8>;
71-
vback-porch = <12>;
72-
vfront-porch = <4>;
73-
hsync-len = <1>;
74-
vsync-len = <1>;
75-
hsync-active = <0>;
76-
vsync-active = <0>;
77-
de-active = <1>;
78-
pixelclk-active = <0>;
79-
};
94+
port {
95+
display_out: endpoint {
96+
remote-endpoint = <&panel_in>;
8097
};
8198
};
8299
};
@@ -118,32 +135,7 @@
118135
};
119136
};
120137

121-
regulators {
122-
compatible = "simple-bus";
123-
#address-cells = <1>;
124-
#size-cells = <0>;
125-
126-
reg_vddio_sd0: regulator@0 {
127-
compatible = "regulator-fixed";
128-
reg = <0>;
129-
regulator-name = "vddio-sd0";
130-
regulator-min-microvolt = <3300000>;
131-
regulator-max-microvolt = <3300000>;
132-
gpio = <&gpio1 29 0>;
133-
};
134-
135-
reg_lcd_3v3: regulator@1 {
136-
compatible = "regulator-fixed";
137-
reg = <1>;
138-
regulator-name = "lcd-3v3";
139-
regulator-min-microvolt = <3300000>;
140-
regulator-max-microvolt = <3300000>;
141-
gpio = <&gpio1 18 0>;
142-
enable-active-high;
143-
};
144-
};
145-
146-
backlight {
138+
backlight_display: backlight {
147139
compatible = "pwm-backlight";
148140
pwms = <&pwm 2 5000000>;
149141
brightness-levels = <0 4 8 16 32 64 128 255>;

arch/arm/boot/dts/imx28-evk.dts

Lines changed: 85 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,87 @@
1313
reg = <0x40000000 0x08000000>;
1414
};
1515

16+
17+
reg_3p3v: regulator-3p3v {
18+
compatible = "regulator-fixed";
19+
regulator-name = "3P3V";
20+
regulator-min-microvolt = <3300000>;
21+
regulator-max-microvolt = <3300000>;
22+
regulator-always-on;
23+
};
24+
25+
reg_vddio_sd0: regulator-vddio-sd0 {
26+
compatible = "regulator-fixed";
27+
regulator-name = "vddio-sd0";
28+
regulator-min-microvolt = <3300000>;
29+
regulator-max-microvolt = <3300000>;
30+
gpio = <&gpio3 28 0>;
31+
};
32+
33+
reg_fec_3v3: regulator-fec-3v3 {
34+
compatible = "regulator-fixed";
35+
regulator-name = "fec-3v3";
36+
regulator-min-microvolt = <3300000>;
37+
regulator-max-microvolt = <3300000>;
38+
gpio = <&gpio2 15 0>;
39+
};
40+
41+
reg_usb0_vbus: regulator-usb0-vbus {
42+
compatible = "regulator-fixed";
43+
regulator-name = "usb0_vbus";
44+
regulator-min-microvolt = <5000000>;
45+
regulator-max-microvolt = <5000000>;
46+
gpio = <&gpio3 9 0>;
47+
enable-active-high;
48+
};
49+
50+
reg_usb1_vbus: regulator-usb1-vbus {
51+
compatible = "regulator-fixed";
52+
regulator-name = "usb1_vbus";
53+
regulator-min-microvolt = <5000000>;
54+
regulator-max-microvolt = <5000000>;
55+
gpio = <&gpio3 8 0>;
56+
enable-active-high;
57+
};
58+
59+
reg_lcd_3v3: regulator-lcd-3v3 {
60+
compatible = "regulator-fixed";
61+
regulator-name = "lcd-3v3";
62+
regulator-min-microvolt = <3300000>;
63+
regulator-max-microvolt = <3300000>;
64+
gpio = <&gpio3 30 0>;
65+
enable-active-high;
66+
};
67+
68+
reg_can_3v3: regulator-can-3v3 {
69+
compatible = "regulator-fixed";
70+
regulator-name = "can-3v3";
71+
regulator-min-microvolt = <3300000>;
72+
regulator-max-microvolt = <3300000>;
73+
gpio = <&gpio2 13 0>;
74+
enable-active-high;
75+
};
76+
77+
reg_lcd_5v: regulator-lcd-5v {
78+
compatible = "regulator-fixed";
79+
regulator-name = "lcd-5v";
80+
regulator-min-microvolt = <5000000>;
81+
regulator-max-microvolt = <5000000>;
82+
};
83+
84+
panel {
85+
compatible = "sii,43wvf1g";
86+
backlight = <&backlight_display>;
87+
dvdd-supply = <&reg_lcd_3v3>;
88+
avdd-supply = <&reg_lcd_5v>;
89+
90+
port {
91+
panel_in: endpoint {
92+
remote-endpoint = <&display_out>;
93+
};
94+
};
95+
};
96+
1697
apb@80000000 {
1798
apbh@80000000 {
1899
gpmi-nand@8000c000 {
@@ -116,31 +197,11 @@
116197
pinctrl-names = "default";
117198
pinctrl-0 = <&lcdif_24bit_pins_a
118199
&lcdif_pins_evk>;
119-
lcd-supply = <&reg_lcd_3v3>;
120-
display = <&display0>;
121200
status = "okay";
122201

123-
display0: display0 {
124-
bits-per-pixel = <32>;
125-
bus-width = <24>;
126-
127-
display-timings {
128-
native-mode = <&timing0>;
129-
timing0: timing0 {
130-
clock-frequency = <33500000>;
131-
hactive = <800>;
132-
vactive = <480>;
133-
hback-porch = <89>;
134-
hfront-porch = <164>;
135-
vback-porch = <23>;
136-
vfront-porch = <10>;
137-
hsync-len = <10>;
138-
vsync-len = <10>;
139-
hsync-active = <0>;
140-
vsync-active = <0>;
141-
de-active = <1>;
142-
pixelclk-active = <0>;
143-
};
202+
port {
203+
display_out: endpoint {
204+
remote-endpoint = <&panel_in>;
144205
};
145206
};
146207
};
@@ -269,80 +330,6 @@
269330
};
270331
};
271332

272-
regulators {
273-
compatible = "simple-bus";
274-
#address-cells = <1>;
275-
#size-cells = <0>;
276-
277-
reg_3p3v: regulator@0 {
278-
compatible = "regulator-fixed";
279-
reg = <0>;
280-
regulator-name = "3P3V";
281-
regulator-min-microvolt = <3300000>;
282-
regulator-max-microvolt = <3300000>;
283-
regulator-always-on;
284-
};
285-
286-
reg_vddio_sd0: regulator@1 {
287-
compatible = "regulator-fixed";
288-
reg = <1>;
289-
regulator-name = "vddio-sd0";
290-
regulator-min-microvolt = <3300000>;
291-
regulator-max-microvolt = <3300000>;
292-
gpio = <&gpio3 28 0>;
293-
};
294-
295-
reg_fec_3v3: regulator@2 {
296-
compatible = "regulator-fixed";
297-
reg = <2>;
298-
regulator-name = "fec-3v3";
299-
regulator-min-microvolt = <3300000>;
300-
regulator-max-microvolt = <3300000>;
301-
gpio = <&gpio2 15 0>;
302-
};
303-
304-
reg_usb0_vbus: regulator@3 {
305-
compatible = "regulator-fixed";
306-
reg = <3>;
307-
regulator-name = "usb0_vbus";
308-
regulator-min-microvolt = <5000000>;
309-
regulator-max-microvolt = <5000000>;
310-
gpio = <&gpio3 9 0>;
311-
enable-active-high;
312-
};
313-
314-
reg_usb1_vbus: regulator@4 {
315-
compatible = "regulator-fixed";
316-
reg = <4>;
317-
regulator-name = "usb1_vbus";
318-
regulator-min-microvolt = <5000000>;
319-
regulator-max-microvolt = <5000000>;
320-
gpio = <&gpio3 8 0>;
321-
enable-active-high;
322-
};
323-
324-
reg_lcd_3v3: regulator@5 {
325-
compatible = "regulator-fixed";
326-
reg = <5>;
327-
regulator-name = "lcd-3v3";
328-
regulator-min-microvolt = <3300000>;
329-
regulator-max-microvolt = <3300000>;
330-
gpio = <&gpio3 30 0>;
331-
enable-active-high;
332-
};
333-
334-
reg_can_3v3: regulator@6 {
335-
compatible = "regulator-fixed";
336-
reg = <6>;
337-
regulator-name = "can-3v3";
338-
regulator-min-microvolt = <3300000>;
339-
regulator-max-microvolt = <3300000>;
340-
gpio = <&gpio2 13 0>;
341-
enable-active-high;
342-
};
343-
344-
};
345-
346333
sound {
347334
compatible = "fsl,imx28-evk-sgtl5000",
348335
"fsl,mxs-audio-sgtl5000";
@@ -363,7 +350,7 @@
363350
};
364351
};
365352

366-
backlight {
353+
backlight_display: backlight {
367354
compatible = "pwm-backlight";
368355
pwms = <&pwm 2 5000000>;
369356
brightness-levels = <0 4 8 16 32 64 128 255>;

arch/arm/boot/dts/imx7d.dtsi

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,14 @@
126126
interrupt-names = "msi";
127127
#interrupt-cells = <1>;
128128
interrupt-map-mask = <0 0 0 0x7>;
129-
interrupt-map = <0 0 0 1 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
130-
<0 0 0 2 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
131-
<0 0 0 3 &intc GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
132-
<0 0 0 4 &intc GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
129+
/*
130+
* Reference manual lists pci irqs incorrectly
131+
* Real hardware ordering is same as imx6: D+MSI, C, B, A
132+
*/
133+
interrupt-map = <0 0 0 1 &intc GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
134+
<0 0 0 2 &intc GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
135+
<0 0 0 3 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
136+
<0 0 0 4 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
133137
clocks = <&clks IMX7D_PCIE_CTRL_ROOT_CLK>,
134138
<&clks IMX7D_PLL_ENET_MAIN_100M_CLK>,
135139
<&clks IMX7D_PCIE_PHY_ROOT_CLK>;

arch/arm/configs/imx_v6_v7_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ CONFIG_IMX_IPUV3_CORE=y
257257
CONFIG_DRM=y
258258
CONFIG_DRM_PANEL_LVDS=y
259259
CONFIG_DRM_PANEL_SIMPLE=y
260+
CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
260261
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
261262
CONFIG_DRM_DW_HDMI_CEC=y
262263
CONFIG_DRM_IMX=y

arch/arm/configs/mxs_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ CONFIG_MFD_MXS_LRADC=y
9595
CONFIG_REGULATOR=y
9696
CONFIG_REGULATOR_FIXED_VOLTAGE=y
9797
CONFIG_DRM=y
98+
CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
9899
CONFIG_DRM_MXSFB=y
99100
CONFIG_FB_MODE_HELPERS=y
100101
CONFIG_BACKLIGHT_LCD_SUPPORT=y

0 commit comments

Comments
 (0)