Message ID | 20161106111119.14927-1-icenowy@aosc.xyz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, On 06-11-16 12:11, Icenowy Zheng wrote: > All A33 Q8 tablets features a LCD panel, with a resolution of either > 800x480 or 1024x600. > > Add "bone" device nodes to the device tree. Bone ? > > Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> He, as discussed in the other thread since sun8i-a33-q8-tablet.dts is used for both 800x480 and 1024x600 versions we really need to introduce new sun8i-a33-q8-tablet-800x600.dts and sun8i-a33-q8-tablet-1024x600.dts files, which include sun8i-a33-q8-tablet.dts and then add just the panel bits; and patch newer u-boots to use those instead. This way people who stick with an old u-boot will just not get the drm driver, rather then all of a sudden getting a wrong resolution. Icenowy, can you please also submit a matching u-boot patch (both the new dts file, as well as updating the defconfig you use to the new dts file)? Regards, Hans > --- > > Maybe it will be better to add them to sun8i-q8-reference-tablet.dtsi, as > these pin configurations are part of reference design of both A23 and A33, > not only restricted to Q8. > > The DTS file is tested by me, after cherry-picks this patch from Chen-Yu Tsai: > https://github.com/wens/linux/commit/2823b887a289fbee5f97f3c6b45ed6c74a6368c6 > > And add these commands to my U-Boot boot command: > > fdt addr 0x43000000 > fdt resize > fdt set /panel compatible "urt,umsh-8596md-t" > fdt set /panel status "okay" > fdt set /display-engine status "okay" > fdt set /soc@01c00000/lcd-controller@01c0c000 status "okay" > > arch/arm/boot/dts/sun8i-a33-q8-tablet.dts | 44 +++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts > index b0bc236..871a20c 100644 > --- a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts > +++ b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts > @@ -47,4 +47,48 @@ > / { > model = "Q8 A33 Tablet"; > compatible = "allwinner,q8-a33", "allwinner,sun8i-a33"; > + > + panel: panel { > + /* compatible should be set according to the panel */ > + pinctrl-names = "default"; > + pinctrl-0 = <&lcd_en_q8>; > + backlight = <&backlight>; > + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ > + power-supply = <®_dc1sw>; > + status = "disabled"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + panel_input: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&tcon0_out_lcd>; > + }; > + }; > + }; > +}; > + > +&tcon0 { > + pinctrl-names = "default"; > + pinctrl-0 = <&lcd_rgb666_pins>; > +}; > + > +&tcon0_out { > + tcon0_out_lcd: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&panel_input>; > + }; > +}; > + > +&pio { > + lcd_en_q8: lcd_en@0 { > + allwinner,pins = "PH7"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > }; >
06.11.2016, 22:27, "Hans de Goede" <hdegoede@redhat.com>: > Hi, > > On 06-11-16 12:11, Icenowy Zheng wrote: >> All A33 Q8 tablets features a LCD panel, with a resolution of either >> 800x480 or 1024x600. >> >> Add "bone" device nodes to the device tree. > > Bone ? > >> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> > > He, as discussed in the other thread since sun8i-a33-q8-tablet.dts > is used for both 800x480 and 1024x600 versions we really need to > introduce new sun8i-a33-q8-tablet-800x600.dts and > sun8i-a33-q8-tablet-1024x600.dts files, which include > sun8i-a33-q8-tablet.dts and then add just the panel bits; and patch > newer u-boots to use those instead. > > This way people who stick with an old u-boot will just not get > the drm driver, rather then all of a sudden getting a wrong > resolution. > > Icenowy, can you please also submit a matching u-boot patch > (both the new dts file, as well as updating the defconfig you > use to the new dts file)? Could you choose a compatible for 1024x600 variant? (Since I have never such a Q8 tablet) > > Regards, > > Hans > >> --- >> >> Maybe it will be better to add them to sun8i-q8-reference-tablet.dtsi, as >> these pin configurations are part of reference design of both A23 and A33, >> not only restricted to Q8. >> >> The DTS file is tested by me, after cherry-picks this patch from Chen-Yu Tsai: >> https://github.com/wens/linux/commit/2823b887a289fbee5f97f3c6b45ed6c74a6368c6 >> >> And add these commands to my U-Boot boot command: >> >> fdt addr 0x43000000 >> fdt resize >> fdt set /panel compatible "urt,umsh-8596md-t" >> fdt set /panel status "okay" >> fdt set /display-engine status "okay" >> fdt set /soc@01c00000/lcd-controller@01c0c000 status "okay" >> >> arch/arm/boot/dts/sun8i-a33-q8-tablet.dts | 44 +++++++++++++++++++++++++++++++ >> 1 file changed, 44 insertions(+) >> >> diff --git a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts >> index b0bc236..871a20c 100644 >> --- a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts >> +++ b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts >> @@ -47,4 +47,48 @@ >> / { >> model = "Q8 A33 Tablet"; >> compatible = "allwinner,q8-a33", "allwinner,sun8i-a33"; >> + >> + panel: panel { >> + /* compatible should be set according to the panel */ >> + pinctrl-names = "default"; >> + pinctrl-0 = <&lcd_en_q8>; >> + backlight = <&backlight>; >> + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ >> + power-supply = <®_dc1sw>; >> + status = "disabled"; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + port@0 { >> + reg = <0>; >> + #address-cells = <1>; >> + #size-cells = <0>; >> + >> + panel_input: endpoint@0 { >> + reg = <0>; >> + remote-endpoint = <&tcon0_out_lcd>; >> + }; >> + }; >> + }; >> +}; >> + >> +&tcon0 { >> + pinctrl-names = "default"; >> + pinctrl-0 = <&lcd_rgb666_pins>; >> +}; >> + >> +&tcon0_out { >> + tcon0_out_lcd: endpoint@0 { >> + reg = <0>; >> + remote-endpoint = <&panel_input>; >> + }; >> +}; >> + >> +&pio { >> + lcd_en_q8: lcd_en@0 { >> + allwinner,pins = "PH7"; >> + allwinner,function = "gpio_out"; >> + allwinner,drive = <SUN4I_PINCTRL_10_MA>; >> + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; >> + }; >> };
Hi, On 06-11-16 17:53, Icenowy Zheng wrote: > > > 06.11.2016, 22:27, "Hans de Goede" <hdegoede@redhat.com>: >> Hi, >> >> On 06-11-16 12:11, Icenowy Zheng wrote: >>> All A33 Q8 tablets features a LCD panel, with a resolution of either >>> 800x480 or 1024x600. >>> >>> Add "bone" device nodes to the device tree. >> >> Bone ? >> >>> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> >> >> He, as discussed in the other thread since sun8i-a33-q8-tablet.dts >> is used for both 800x480 and 1024x600 versions we really need to >> introduce new sun8i-a33-q8-tablet-800x600.dts and >> sun8i-a33-q8-tablet-1024x600.dts files, which include >> sun8i-a33-q8-tablet.dts and then add just the panel bits; and patch >> newer u-boots to use those instead. >> >> This way people who stick with an old u-boot will just not get >> the drm driver, rather then all of a sudden getting a wrong >> resolution. >> >> Icenowy, can you please also submit a matching u-boot patch >> (both the new dts file, as well as updating the defconfig you >> use to the new dts file)? > > Could you choose a compatible for 1024x600 variant? Lets just add a sun8i-a33-q8-tablet-800x600.dts now and then I will add a sun8i-a33-q8-tablet-1024x600.dts file later. Regards, Hans > > (Since I have never such a Q8 tablet) > >> >> Regards, >> >> Hans >> >>> --- >>> >>> Maybe it will be better to add them to sun8i-q8-reference-tablet.dtsi, as >>> these pin configurations are part of reference design of both A23 and A33, >>> not only restricted to Q8. >>> >>> The DTS file is tested by me, after cherry-picks this patch from Chen-Yu Tsai: >>> https://github.com/wens/linux/commit/2823b887a289fbee5f97f3c6b45ed6c74a6368c6 >>> >>> And add these commands to my U-Boot boot command: >>> >>> fdt addr 0x43000000 >>> fdt resize >>> fdt set /panel compatible "urt,umsh-8596md-t" >>> fdt set /panel status "okay" >>> fdt set /display-engine status "okay" >>> fdt set /soc@01c00000/lcd-controller@01c0c000 status "okay" >>> >>> arch/arm/boot/dts/sun8i-a33-q8-tablet.dts | 44 +++++++++++++++++++++++++++++++ >>> 1 file changed, 44 insertions(+) >>> >>> diff --git a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts >>> index b0bc236..871a20c 100644 >>> --- a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts >>> +++ b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts >>> @@ -47,4 +47,48 @@ >>> / { >>> model = "Q8 A33 Tablet"; >>> compatible = "allwinner,q8-a33", "allwinner,sun8i-a33"; >>> + >>> + panel: panel { >>> + /* compatible should be set according to the panel */ >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&lcd_en_q8>; >>> + backlight = <&backlight>; >>> + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ >>> + power-supply = <®_dc1sw>; >>> + status = "disabled"; >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + port@0 { >>> + reg = <0>; >>> + #address-cells = <1>; >>> + #size-cells = <0>; >>> + >>> + panel_input: endpoint@0 { >>> + reg = <0>; >>> + remote-endpoint = <&tcon0_out_lcd>; >>> + }; >>> + }; >>> + }; >>> +}; >>> + >>> +&tcon0 { >>> + pinctrl-names = "default"; >>> + pinctrl-0 = <&lcd_rgb666_pins>; >>> +}; >>> + >>> +&tcon0_out { >>> + tcon0_out_lcd: endpoint@0 { >>> + reg = <0>; >>> + remote-endpoint = <&panel_input>; >>> + }; >>> +}; >>> + >>> +&pio { >>> + lcd_en_q8: lcd_en@0 { >>> + allwinner,pins = "PH7"; >>> + allwinner,function = "gpio_out"; >>> + allwinner,drive = <SUN4I_PINCTRL_10_MA>; >>> + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; >>> + }; >>> }; >
diff --git a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts index b0bc236..871a20c 100644 --- a/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts +++ b/arch/arm/boot/dts/sun8i-a33-q8-tablet.dts @@ -47,4 +47,48 @@ / { model = "Q8 A33 Tablet"; compatible = "allwinner,q8-a33", "allwinner,sun8i-a33"; + + panel: panel { + /* compatible should be set according to the panel */ + pinctrl-names = "default"; + pinctrl-0 = <&lcd_en_q8>; + backlight = <&backlight>; + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ + power-supply = <®_dc1sw>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + panel_input: endpoint@0 { + reg = <0>; + remote-endpoint = <&tcon0_out_lcd>; + }; + }; + }; +}; + +&tcon0 { + pinctrl-names = "default"; + pinctrl-0 = <&lcd_rgb666_pins>; +}; + +&tcon0_out { + tcon0_out_lcd: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_input>; + }; +}; + +&pio { + lcd_en_q8: lcd_en@0 { + allwinner,pins = "PH7"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; };
All A33 Q8 tablets features a LCD panel, with a resolution of either 800x480 or 1024x600. Add "bone" device nodes to the device tree. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> --- Maybe it will be better to add them to sun8i-q8-reference-tablet.dtsi, as these pin configurations are part of reference design of both A23 and A33, not only restricted to Q8. The DTS file is tested by me, after cherry-picks this patch from Chen-Yu Tsai: https://github.com/wens/linux/commit/2823b887a289fbee5f97f3c6b45ed6c74a6368c6 And add these commands to my U-Boot boot command: fdt addr 0x43000000 fdt resize fdt set /panel compatible "urt,umsh-8596md-t" fdt set /panel status "okay" fdt set /display-engine status "okay" fdt set /soc@01c00000/lcd-controller@01c0c000 status "okay" arch/arm/boot/dts/sun8i-a33-q8-tablet.dts | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)