[RFC PATCH] ARM: dts: add panel and tcon nodes to Allwinner A33 Q8 tablet dts
Icenowy Zheng
icenowy at aosc.xyz
Sun Nov 6 08:53:27 PST 2016
06.11.2016, 22:27, "Hans de Goede" <hdegoede at 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 at 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 at 01c00000/lcd-controller at 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 at 0 {
>> + reg = <0>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + panel_input: endpoint at 0 {
>> + reg = <0>;
>> + remote-endpoint = <&tcon0_out_lcd>;
>> + };
>> + };
>> + };
>> +};
>> +
>> +&tcon0 {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&lcd_rgb666_pins>;
>> +};
>> +
>> +&tcon0_out {
>> + tcon0_out_lcd: endpoint at 0 {
>> + reg = <0>;
>> + remote-endpoint = <&panel_input>;
>> + };
>> +};
>> +
>> +&pio {
>> + lcd_en_q8: lcd_en at 0 {
>> + allwinner,pins = "PH7";
>> + allwinner,function = "gpio_out";
>> + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>> + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
>> + };
>> };
More information about the linux-arm-kernel
mailing list