ARM: dts: imx28-evk: Move regulators outside simple-bus
Subsystems (3)
Fabio Estevam
reviewerPATCH 1/6 ARM: dts: imx28-evk: Move regulators outside simple-bus
From: Fabio Estevam <[email protected]>
It is recommended to place regulators outside simple-bus, so move them accordingly.
--- arch/arm/boot/dts/imx28-evk.dts | 135 ++++++++++++++++++---------------------- 1 file changed, 61 insertions(+), 74 deletions(-)
arch/arm/boot/dts/imx28-evk.dts +61 -74
@@ -13,6 +13,67 @@ reg = <0x40000000 0x08000000>; }; + + reg_3p3v: regulator-3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + reg_vddio_sd0: regulator-vddio-sd0 { + compatible = "regulator-fixed"; + regulator-name = "vddio-sd0"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio3 28 0>; + }; + + reg_fec_3v3: regulator-fec-3v3 { + compatible = "regulator-fixed"; + regulator-name = "fec-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio2 15 0>; + }; + + reg_usb0_vbus: regulator-usb0-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb0_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio3 9 0>; + enable-active-high; + }; + + reg_usb1_vbus: regulator-usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio3 8 0>; + enable-active-high; + }; + + reg_lcd_3v3: regulator-lcd-3v3 { + compatible = "regulator-fixed"; + regulator-name = "lcd-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio3 30 0>; + enable-active-high; + }; + + reg_can_3v3: regulator-can-3v3 { + compatible = "regulator-fixed"; + regulator-name = "can-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio2 13 0>; + enable-active-high; + }; + apb at 80000000 { apbh at 80000000 { gpmi-nand at 8000c000 {
@@ -269,80 +330,6 @@ }; }; - regulators { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - - reg_3p3v: regulator at 0 { - compatible = "regulator-fixed"; - reg = <0>; - regulator-name = "3P3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; - - reg_vddio_sd0: regulator at 1 { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "vddio-sd0"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio3 28 0>; - }; - - reg_fec_3v3: regulator at 2 { - compatible = "regulator-fixed"; - reg = <2>; - regulator-name = "fec-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio2 15 0>; - }; - - reg_usb0_vbus: regulator at 3 { - compatible = "regulator-fixed"; - reg = <3>; - regulator-name = "usb0_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio3 9 0>; - enable-active-high; - }; - - reg_usb1_vbus: regulator at 4 { - compatible = "regulator-fixed"; - reg = <4>; - regulator-name = "usb1_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio3 8 0>; - enable-active-high; - }; - - reg_lcd_3v3: regulator at 5 { - compatible = "regulator-fixed"; - reg = <5>; - regulator-name = "lcd-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio3 30 0>; - enable-active-high; - }; - - reg_can_3v3: regulator at 6 { - compatible = "regulator-fixed"; - reg = <6>; - regulator-name = "can-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio2 13 0>; - enable-active-high; - }; - - }; - sound { compatible = "fsl,imx28-evk-sgtl5000", "fsl,mxs-audio-sgtl5000";
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 2/6 ARM: dts: imx28-evk: Convert to the new display bindings
From: Fabio Estevam <[email protected]>
imx28-evk board has a Seiko 43WVF1G parallel display.
Instead of hardcoding the display timings in the device tree, use the "sii,43wvf1g" compatible instead.
This aligns with the new mxsfb bindings scheme documented at:Documentation/devicetree/bindings/display/mxsfb.txt
--- arch/arm/boot/dts/imx28-evk.dts | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-)
arch/arm/boot/dts/imx28-evk.dts +24 -24
@@ -74,6 +74,26 @@ enable-active-high; }; + reg_lcd_5v: regulator-lcd-5v { + compatible = "regulator-fixed"; + regulator-name = "lcd-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + panel { + compatible = "sii,43wvf1g"; + backlight = <&backlight_display>; + dvdd-supply = <®_lcd_3v3>; + avdd-supply = <®_lcd_5v>; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; + apb at 80000000 { apbh at 80000000 { gpmi-nand at 8000c000 {
@@ -177,31 +197,11 @@ pinctrl-names = "default"; pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_pins_evk>; - lcd-supply = <®_lcd_3v3>; - display = <&display0>; status = "okay"; - display0: display0 { - bits-per-pixel = <32>; - bus-width = <24>; - - display-timings { - native-mode = <&timing0>; - timing0: timing0 { - clock-frequency = <33500000>; - hactive = <800>; - vactive = <480>; - hback-porch = <89>; - hfront-porch = <164>; - vback-porch = <23>; - vfront-porch = <10>; - hsync-len = <10>; - vsync-len = <10>; - hsync-active = <0>; - vsync-active = <0>; - de-active = <1>; - pixelclk-active = <0>; - }; + port { + display_out: endpoint { + remote-endpoint = <&panel_in>; }; }; };
@@ -350,7 +350,7 @@ }; }; - backlight { + backlight_display: backlight { compatible = "pwm-backlight"; pwms = <&pwm 2 5000000>; brightness-levels = <0 4 8 16 32 64 128 255>;
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 3/6 ARM: dts: imx23-evk: Move regulators outside simple-bus
In reply to Fabio EstevamFrom: Fabio Estevam <[email protected]>
It is recommended to place regulators outside simple-bus, so move them accordingly.
--- arch/arm/boot/dts/imx23-evk.dts | 42 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 25 deletions(-)
arch/arm/boot/dts/imx23-evk.dts +17 -25
@@ -13,6 +13,23 @@ reg = <0x40000000 0x08000000>; }; + reg_vddio_sd0: regulator-vddio-sd0 { + compatible = "regulator-fixed"; + regulator-name = "vddio-sd0"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio1 29 0>; + }; + + reg_lcd_3v3: regulator-lcd-3v3 { + compatible = "regulator-fixed"; + regulator-name = "lcd-3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio1 18 0>; + enable-active-high; + }; + apb at 80000000 { apbh at 80000000 { gpmi-nand at 8000c000 {
@@ -118,31 +135,6 @@ }; }; - regulators { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <0>; - - reg_vddio_sd0: regulator at 0 { - compatible = "regulator-fixed"; - reg = <0>; - regulator-name = "vddio-sd0"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio1 29 0>; - }; - - reg_lcd_3v3: regulator at 1 { - compatible = "regulator-fixed"; - reg = <1>; - regulator-name = "lcd-3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio1 18 0>; - enable-active-high; - }; - }; - backlight { compatible = "pwm-backlight"; pwms = <&pwm 2 5000000>;
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 4/6 ARM: dts: imx23-evk: Convert to the new display bindings
In reply to Fabio EstevamFrom: Fabio Estevam <[email protected]>
imx23-evk board has a Seiko 43WVF1G parallel display.
Instead of hardcoding the display timings in the device tree, use the "sii,43wvf1g" compatible instead.
This aligns with the new mxsfb bindings scheme documented at:Documentation/devicetree/bindings/display/mxsfb.txt
--- arch/arm/boot/dts/imx23-evk.dts | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-)
arch/arm/boot/dts/imx23-evk.dts +24 -24
@@ -30,6 +30,26 @@ enable-active-high; }; + reg_lcd_5v: regulator-lcd-5v { + compatible = "regulator-fixed"; + regulator-name = "lcd-5v"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; + + panel { + compatible = "sii,43wvf1g"; + backlight = <&backlight_display>; + dvdd-supply = <®_lcd_3v3>; + avdd-supply = <®_lcd_5v>; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; + apb at 80000000 { apbh at 80000000 { gpmi-nand at 8000c000 {
@@ -69,31 +89,11 @@ lcdif at 80030000 { pinctrl-names = "default"; pinctrl-0 = <&lcdif_24bit_pins_a>; - lcd-supply = <®_lcd_3v3>; - display = <&display0>; status = "okay"; - display0: display0 { - bits-per-pixel = <32>; - bus-width = <24>; - - display-timings { - native-mode = <&timing0>; - timing0: timing0 { - clock-frequency = <9200000>; - hactive = <480>; - vactive = <272>; - hback-porch = <15>; - hfront-porch = <8>; - vback-porch = <12>; - vfront-porch = <4>; - hsync-len = <1>; - vsync-len = <1>; - hsync-active = <0>; - vsync-active = <0>; - de-active = <1>; - pixelclk-active = <0>; - }; + port { + display_out: endpoint { + remote-endpoint = <&panel_in>; }; }; };
@@ -135,7 +135,7 @@ }; }; - backlight { + backlight_display: backlight { compatible = "pwm-backlight"; pwms = <&pwm 2 5000000>; brightness-levels = <0 4 8 16 32 64 128 255>;
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 5/6 ARM: mxs_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G
In reply to Fabio EstevamFrom: Fabio Estevam <[email protected]>
imx23-evk and imx28-evk boards use a Seiko 43WVF1G panel.
Now that the DRM mxsfb driver is the one selected by default, let's also select CONFIG_DRM_PANEL_SEIKO_43WVF1G so that these boards continue to have a working display by default.
--- arch/arm/configs/mxs_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/mxs_defconfig +1 -0
@@ -95,6 +95,7 @@ CONFIG_MFD_MXS_LRADC=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_DRM=y +CONFIG_DRM_PANEL_SEIKO_43WVF1G=y CONFIG_DRM_MXSFB=y CONFIG_FB_MODE_HELPERS=y CONFIG_BACKLIGHT_LCD_SUPPORT=y
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 6/6 ARM: imx_v6_v7_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G
In reply to Fabio EstevamFrom: Fabio Estevam <[email protected]>
imx6sl-evk, imx6sll-evk and imx6sx-sdb boards use a Seiko 43WVF1G panel.
Now that the DRM mxsfb driver is the one selected by default, let's also select CONFIG_DRM_PANEL_SEIKO_43WVF1G so that these boards continue to have a working display by default.
--- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/configs/imx_v6_v7_defconfig +1 -0
@@ -257,6 +257,7 @@ CONFIG_IMX_IPUV3_CORE=y CONFIG_DRM=y CONFIG_DRM_PANEL_LVDS=y CONFIG_DRM_PANEL_SIMPLE=y +CONFIG_DRM_PANEL_SEIKO_43WVF1G=y CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=y CONFIG_DRM_IMX=y
Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 6/6 ARM: imx_v6_v7_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G
Hi Shawn,
Quoted 9 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
imx6sl-evk, imx6sll-evk and imx6sx-sdb boards use a Seiko 43WVF1G panel.
Now that the DRM mxsfb driver is the one selected by default, let's also select
CONFIG_DRM_PANEL_SEIKO_43WVF1Gso that these boards continue to have a working display by default.Signed-off-by Fabio Estevam <[email protected]>
I understand you have already submitted the imx 4.19 material to Olof and he has already merged it.
Without this series we will have many NXP development boards without functional display in 4.19 by default due to the drm mxsfb conversion in defconfig, which would not be a very good user experience.
I would like to kindly ask you to consider applying this series to 4.19 as well.
Thanks
PATCH 6/6 ARM: imx_v6_v7_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G
Quoted 13 lines · Fabio Estevam
Hi Shawn,
Quoted 9 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
imx6sl-evk, imx6sll-evk and imx6sx-sdb boards use a Seiko 43WVF1G panel.
Now that the DRM mxsfb driver is the one selected by default, let's also select
CONFIG_DRM_PANEL_SEIKO_43WVF1Gso that these boards continue to have a working display by default.Signed-off-by Fabio Estevam <[email protected]>
Quoted 8 lines
I understand you have already submitted the imx 4.19 material to Olof and he has already merged it.
Without this series we will have many NXP development boards without functional display in 4.19 by default due to the drm mxsfb conversion in defconfig, which would not be a very good user experience.
I would like to kindly ask you to consider applying this series to 4.19 as well.
I guess only the last two defconfig patches are necessary to keep those boards getting functional display for 4.19, no?
Shawn
PATCH 6/6 ARM: imx_v6_v7_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G
Quoted 17 lines · Shawn Guo
Quoted 16 lines · Fabio Estevam
Hi Shawn,
Quoted 9 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
imx6sl-evk, imx6sll-evk and imx6sx-sdb boards use a Seiko 43WVF1G panel.
Now that the DRM mxsfb driver is the one selected by default, let's also select
CONFIG_DRM_PANEL_SEIKO_43WVF1Gso that these boards continue to have a working display by default.Signed-off-by Fabio Estevam <[email protected]>I understand you have already submitted the imx 4.19 material to Olof and he has already merged it.
Quoted 8 lines
Quoted 5 lines
Without this series we will have many NXP development boards without functional display in 4.19 by default due to the drm mxsfb conversion in defconfig, which would not be a very good user experience.
I would like to kindly ask you to consider applying this series to 4.19 as well.
I guess only the last two defconfig patches are necessary to keep those boards getting functional display for 4.19, no?
Okay, just found that only the generic panel-lvds driver will parse those timing parameters from DT.
I will try to send the series for 4.19 inclusion.
Shawn
Fabio Estevam
reviewerPATCH 6/6 ARM: imx_v6_v7_defconfig: Select CONFIG_DRM_PANEL_SEIKO_43WVF1G
Quoted 1 line · Shawn Guo
I will try to send the series for 4.19 inclusion.
Thanks, Shawn. Really appreciated.