diff mbox

[U-Boot] sunxi: Add generic defconfigs for A33 Q8 tablets with 1024x600 / 800x480 LCD

Message ID 1443108253-14957-1-git-send-email-hdegoede@redhat.com
State Accepted
Delegated to: Hans de Goede
Headers show

Commit Message

Hans de Goede Sept. 24, 2015, 3:24 p.m. UTC
The 7" Q8 tablet enclosure is used for a ton of slightly different cheap
chinese tablets. There are some differences in which accelerometer /
wifi is used, but other then that these are all the same from a u-boot /
kernel pov.

When we get to adding accelerometer support the plan is to add some kind
of autodetection and mangle the dt accordingly (likely using the new quirks
mechanism).

For now this is a non issue as we do not yet have accelerometer
support, and in the future, some sort of auto-detect is the way to go
as we cannot expect users to exactly know what is inside their tablet.

The dts[i] files this commit adds are indentical to the ones submitted
to the upstream kernel.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 arch/arm/dts/Makefile                    |  1 +
 arch/arm/dts/sun8i-a33-q8-tablet.dts     | 65 ++++++++++++++++++++++++
 arch/arm/dts/sun8i-q8-common.dtsi        | 84 ++++++++++++++++++++++++++++++++
 board/sunxi/MAINTAINERS                  |  2 +
 configs/q8_a33_tablet_1024x600_defconfig | 24 +++++++++
 configs/q8_a33_tablet_800x480_defconfig  | 24 +++++++++
 6 files changed, 200 insertions(+)
 create mode 100644 arch/arm/dts/sun8i-a33-q8-tablet.dts
 create mode 100644 arch/arm/dts/sun8i-q8-common.dtsi
 create mode 100644 configs/q8_a33_tablet_1024x600_defconfig
 create mode 100644 configs/q8_a33_tablet_800x480_defconfig

Comments

Ian Campbell Sept. 24, 2015, 3:50 p.m. UTC | #1
On Thu, 2015-09-24 at 17:24 +0200, Hans de Goede wrote:
> The 7" Q8 tablet enclosure is used for a ton of slightly different cheap
> chinese tablets. There are some differences in which accelerometer /
> wifi is used, but other then that these are all the same from a u-boot /
> kernel pov.
> 
> When we get to adding accelerometer support the plan is to add some kind
> of autodetection and mangle the dt accordingly (likely using the new
> quirks
> mechanism).
> 
> For now this is a non issue as we do not yet have accelerometer
> support, and in the future, some sort of auto-detect is the way to go
> as we cannot expect users to exactly know what is inside their tablet.
> 
> The dts[i] files this commit adds are indentical to the ones submitted

"identical"

> to the upstream kernel.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Ian Campbell <ijc@hellion.org.uk>
Chen-Yu Tsai Sept. 25, 2015, 2:35 a.m. UTC | #2
On Thu, Sep 24, 2015 at 11:24 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> The 7" Q8 tablet enclosure is used for a ton of slightly different cheap
> chinese tablets. There are some differences in which accelerometer /
> wifi is used, but other then that these are all the same from a u-boot /
> kernel pov.
>
> When we get to adding accelerometer support the plan is to add some kind
> of autodetection and mangle the dt accordingly (likely using the new quirks
> mechanism).
>
> For now this is a non issue as we do not yet have accelerometer
> support, and in the future, some sort of auto-detect is the way to go
> as we cannot expect users to exactly know what is inside their tablet.
>
> The dts[i] files this commit adds are indentical to the ones submitted
> to the upstream kernel.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  arch/arm/dts/Makefile                    |  1 +
>  arch/arm/dts/sun8i-a33-q8-tablet.dts     | 65 ++++++++++++++++++++++++
>  arch/arm/dts/sun8i-q8-common.dtsi        | 84 ++++++++++++++++++++++++++++++++
>  board/sunxi/MAINTAINERS                  |  2 +
>  configs/q8_a33_tablet_1024x600_defconfig | 24 +++++++++
>  configs/q8_a33_tablet_800x480_defconfig  | 24 +++++++++
>  6 files changed, 200 insertions(+)
>  create mode 100644 arch/arm/dts/sun8i-a33-q8-tablet.dts
>  create mode 100644 arch/arm/dts/sun8i-q8-common.dtsi
>  create mode 100644 configs/q8_a33_tablet_1024x600_defconfig
>  create mode 100644 configs/q8_a33_tablet_800x480_defconfig
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 09abc26..1dd5d5d 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -156,6 +156,7 @@ dtb-$(CONFIG_MACH_SUN8I_A33) += \
>         sun8i-a33-et-q8-v1.6.dtb \
>         sun8i-a33-ga10h-v1.1.dtb \
>         sun8i-a33-ippo-q8h-v1.2.dtb \
> +       sun8i-a33-q8-tablet.dtb \
>         sun8i-a33-sinlinx-sina33.dtb
>  dtb-$(CONFIG_MACH_SUN9I) += \
>         sun9i-a80-optimus.dtb \
> diff --git a/arch/arm/dts/sun8i-a33-q8-tablet.dts b/arch/arm/dts/sun8i-a33-q8-tablet.dts
> new file mode 100644
> index 0000000..44b3229
> --- /dev/null
> +++ b/arch/arm/dts/sun8i-a33-q8-tablet.dts
> @@ -0,0 +1,65 @@
> +/*
> + * Copyright 2015 Hans de Goede <hdegoede@redhat.com>
> + *
> + * This file is dual-licensed: you can use it either under the terms
> + * of the GPL or the X11 license, at your option. Note that this dual
> + * licensing only applies to this file, and not this project as a
> + * whole.
> + *
> + *  a) This file is free software; you can redistribute it and/or
> + *     modify it under the terms of the GNU General Public License as
> + *     published by the Free Software Foundation; either version 2 of the
> + *     License, or (at your option) any later version.
> + *
> + *     This file is distributed in the hope that it will be useful,
> + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
> + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + *     GNU General Public License for more details.
> + *
> + * Or, alternatively,
> + *
> + *  b) Permission is hereby granted, free of charge, to any person
> + *     obtaining a copy of this software and associated documentation
> + *     files (the "Software"), to deal in the Software without
> + *     restriction, including without limitation the rights to use,
> + *     copy, modify, merge, publish, distribute, sublicense, and/or
> + *     sell copies of the Software, and to permit persons to whom the
> + *     Software is furnished to do so, subject to the following
> + *     conditions:
> + *
> + *     The above copyright notice and this permission notice shall be
> + *     included in all copies or substantial portions of the Software.
> + *
> + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + *     OTHER DEALINGS IN THE SOFTWARE.
> + */
> +
> +/dts-v1/;
> +#include "sun8i-a33.dtsi"
> +#include "sun8i-q8-common.dtsi"
> +
> +/ {
> +       model = "Q8 A33 Tablet";
> +       compatible = "allwinner,q8-a33", "allwinner,sun8i-a33";
> +};
> +
> +/*
> + * FIXME for now we only support host mode and rely on u-boot to have
> + * turned on Vbus which is controlled by the axp223 pmic on the board.
> + *
> + * Once we have axp223 support we should switch to fully supporting otg.
> + */
> +&usb_otg {
> +       dr_mode = "host";
> +       status = "okay";
> +};
> +
> +&usbphy {
> +       status = "okay";
> +};
> diff --git a/arch/arm/dts/sun8i-q8-common.dtsi b/arch/arm/dts/sun8i-q8-common.dtsi
> new file mode 100644
> index 0000000..07cd268
> --- /dev/null
> +++ b/arch/arm/dts/sun8i-q8-common.dtsi
> @@ -0,0 +1,84 @@
> +/*
> + * Copyright 2015 Hans de Goede <hdegoede@redhat.com>
> + *
> + * This file is dual-licensed: you can use it either under the terms
> + * of the GPL or the X11 license, at your option. Note that this dual
> + * licensing only applies to this file, and not this project as a
> + * whole.
> + *
> + *  a) This file is free software; you can redistribute it and/or
> + *     modify it under the terms of the GNU General Public License as
> + *     published by the Free Software Foundation; either version 2 of the
> + *     License, or (at your option) any later version.
> + *
> + *     This file is distributed in the hope that it will be useful,
> + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
> + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + *     GNU General Public License for more details.
> + *
> + * Or, alternatively,
> + *
> + *  b) Permission is hereby granted, free of charge, to any person
> + *     obtaining a copy of this software and associated documentation
> + *     files (the "Software"), to deal in the Software without
> + *     restriction, including without limitation the rights to use,
> + *     copy, modify, merge, publish, distribute, sublicense, and/or
> + *     sell copies of the Software, and to permit persons to whom the
> + *     Software is furnished to do so, subject to the following
> + *     conditions:
> + *
> + *     The above copyright notice and this permission notice shall be
> + *     included in all copies or substantial portions of the Software.
> + *
> + *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> + *     OTHER DEALINGS IN THE SOFTWARE.
> + */
> +#include "sunxi-q8-common.dtsi"
> +
> +/ {
> +       aliases {
> +               serial0 = &r_uart;
> +       };
> +
> +       chosen {
> +               stdout-path = "serial0:115200n8";
> +       };
> +};
> +
> +&mmc0 {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_q8>;
> +       vmmc-supply = <&reg_vcc3v0>;
> +       bus-width = <4>;
> +       cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
> +       cd-inverted;
> +       status = "okay";
> +};
> +
> +&pio {
> +       bl_en_pin_q8: bl_en_pin@0 {
> +               allwinner,pins = "PH6";
> +               allwinner,function = "gpio_in";
> +               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> +       };
> +
> +       mmc0_cd_pin_q8: mmc0_cd_pin@0 {
> +               allwinner,pins = "PB4";
> +               allwinner,function = "gpio_in";
> +               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +               allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
> +       };
> +};
> +
> +&r_uart {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&r_uart_pins_a>;
> +       status = "okay";
> +};
> diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
> index 4f5fd44..f7a837a 100644
> --- a/board/sunxi/MAINTAINERS
> +++ b/board/sunxi/MAINTAINERS
> @@ -50,6 +50,8 @@ F:    configs/ga10h_v1_1_defconfig
>  F:     configs/gt90h_v4_defconfig
>  F:     configs/Ippo_q8h_v1_2_defconfig
>  F:     configs/Ippo_q8h_v1_2_a33_1024x600_defconfig
> +F:     configs/q8_a33_tablet_800x480_defconfig
> +F:     configs/q8_a33_tablet_1024x600_defconfig
>  F:     include/configs/sun9i.h
>  F:     configs/Merrii_A80_Optimus_defconfig
>
> diff --git a/configs/q8_a33_tablet_1024x600_defconfig b/configs/q8_a33_tablet_1024x600_defconfig
> new file mode 100644
> index 0000000..0820a5d
> --- /dev/null
> +++ b/configs/q8_a33_tablet_1024x600_defconfig
> @@ -0,0 +1,24 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_SUNXI=y
> +CONFIG_MACH_SUN8I_A33=y
> +CONFIG_DRAM_CLK=456
> +CONFIG_DRAM_ZQ=15291
> +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
> +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
> +CONFIG_USB0_ID_DET="PH8"
> +CONFIG_AXP_GPIO=y
> +CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:159,ri:160,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"
> +CONFIG_VIDEO_LCD_DCLK_PHASE=0
> +CONFIG_VIDEO_LCD_POWER="PH7"
> +CONFIG_VIDEO_LCD_BL_EN="PH6"
> +CONFIG_VIDEO_LCD_BL_PWM="PH0"
> +CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-q8-tablet"
> +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> +CONFIG_SPL=y
> +CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
> +# CONFIG_CMD_IMLS is not set
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_FPGA is not set
> +CONFIG_AXP221_DLDO1_VOLT=3300
> +CONFIG_AXP221_ALDO1_VOLT=3000
> +CONFIG_USB_MUSB_HOST=y
> diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
> new file mode 100644
> index 0000000..a9c2b62
> --- /dev/null
> +++ b/configs/q8_a33_tablet_800x480_defconfig
> @@ -0,0 +1,24 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_SUNXI=y
> +CONFIG_MACH_SUN8I_A33=y
> +CONFIG_DRAM_CLK=456
> +CONFIG_DRAM_ZQ=15291
> +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
> +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
> +CONFIG_USB0_ID_DET="PH8"
> +CONFIG_AXP_GPIO=y
> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"

FYI my q8h-v1.5 uses a slightly different mode line:

x:800,y:480,depth:18,pclk_khz:36000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0

I'll find some time to give yours a test.


ChenYu

> +CONFIG_VIDEO_LCD_DCLK_PHASE=0
> +CONFIG_VIDEO_LCD_POWER="PH7"
> +CONFIG_VIDEO_LCD_BL_EN="PH6"
> +CONFIG_VIDEO_LCD_BL_PWM="PH0"
> +CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-q8-tablet"
> +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> +CONFIG_SPL=y
> +CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
> +# CONFIG_CMD_IMLS is not set
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_FPGA is not set
> +CONFIG_AXP221_DLDO1_VOLT=3300
> +CONFIG_AXP221_ALDO1_VOLT=3000
> +CONFIG_USB_MUSB_HOST=y
> --
> 2.5.0
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Hans de Goede Sept. 25, 2015, 8:06 a.m. UTC | #3
Hi,

On 25-09-15 04:35, Chen-Yu Tsai wrote:
> On Thu, Sep 24, 2015 at 11:24 PM, Hans de Goede <hdegoede@redhat.com> wrote:

<snip>

>> diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
>> new file mode 100644
>> index 0000000..a9c2b62
>> --- /dev/null
>> +++ b/configs/q8_a33_tablet_800x480_defconfig
>> @@ -0,0 +1,24 @@
>> +CONFIG_ARM=y
>> +CONFIG_ARCH_SUNXI=y
>> +CONFIG_MACH_SUN8I_A33=y
>> +CONFIG_DRAM_CLK=456
>> +CONFIG_DRAM_ZQ=15291
>> +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
>> +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
>> +CONFIG_USB0_ID_DET="PH8"
>> +CONFIG_AXP_GPIO=y
>> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"
>
> FYI my q8h-v1.5 uses a slightly different mode line:
>
> x:800,y:480,depth:18,pclk_khz:36000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0

Yes, there are multiple modelines floating around for 800x480 panels, I've
2 A13 tablets and the modeline of the fex file from tablet a causes the images
to not be properly centered on the screen of tablet b. Luckily the other way
around does work, so for the q8_a13_tablet_defconfig I'm using the modeline
from the fex file from tablet b. I hope we can do something similar with q8
a23 and a33 800x480 tablets.

I've been buying q8 tablets with cracked screens (people seem to drop them quite
a lot) for cheap from a local 2nd hand website, so now I've 5 ever so slightly
different models, I still need to make a generic q8 config for those, and see if
I can find a modeline which works on all of them.

That modeline should probably be a good one to use for the a33 defconfig too.

> I'll find some time to give yours a test.

Thanks!

Regards,

Hans
Hans de Goede Sept. 25, 2015, 8:09 a.m. UTC | #4
Hi,

On 25-09-15 10:06, Hans de Goede wrote:
> Hi,
>
> On 25-09-15 04:35, Chen-Yu Tsai wrote:
>> On Thu, Sep 24, 2015 at 11:24 PM, Hans de Goede <hdegoede@redhat.com> wrote:
>
> <snip>
>
>>> diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
>>> new file mode 100644
>>> index 0000000..a9c2b62
>>> --- /dev/null
>>> +++ b/configs/q8_a33_tablet_800x480_defconfig
>>> @@ -0,0 +1,24 @@
>>> +CONFIG_ARM=y
>>> +CONFIG_ARCH_SUNXI=y
>>> +CONFIG_MACH_SUN8I_A33=y
>>> +CONFIG_DRAM_CLK=456
>>> +CONFIG_DRAM_ZQ=15291
>>> +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
>>> +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
>>> +CONFIG_USB0_ID_DET="PH8"
>>> +CONFIG_AXP_GPIO=y
>>> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"
>>
>> FYI my q8h-v1.5 uses a slightly different mode line:
>>
>> x:800,y:480,depth:18,pclk_khz:36000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0
>
> Yes, there are multiple modelines floating around for 800x480 panels, I've
> 2 A13 tablets and the modeline of the fex file from tablet a causes the images
> to not be properly centered on the screen of tablet b. Luckily the other way
> around does work, so for the q8_a13_tablet_defconfig I'm using the modeline
> from the fex file from tablet b. I hope we can do something similar with q8
> a23 and a33 800x480 tablets.
>
> I've been buying q8 tablets with cracked screens

To be clear s/screen/digitizer/ aka touchscreen, it usually is almost always the
touchscreen which gets cracked and replacing that costs 4 usd (and half an hour
of work).

Regards,

Hans
Chen-Yu Tsai Oct. 2, 2015, 8:49 a.m. UTC | #5
On Fri, Sep 25, 2015 at 4:06 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> Hi,
>
> On 25-09-15 04:35, Chen-Yu Tsai wrote:
>>
>> On Thu, Sep 24, 2015 at 11:24 PM, Hans de Goede <hdegoede@redhat.com>
>> wrote:
>
>
> <snip>
>
>>> diff --git a/configs/q8_a33_tablet_800x480_defconfig
>>> b/configs/q8_a33_tablet_800x480_defconfig
>>> new file mode 100644
>>> index 0000000..a9c2b62
>>> --- /dev/null
>>> +++ b/configs/q8_a33_tablet_800x480_defconfig
>>> @@ -0,0 +1,24 @@
>>> +CONFIG_ARM=y
>>> +CONFIG_ARCH_SUNXI=y
>>> +CONFIG_MACH_SUN8I_A33=y
>>> +CONFIG_DRAM_CLK=456
>>> +CONFIG_DRAM_ZQ=15291
>>> +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
>>> +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
>>> +CONFIG_USB0_ID_DET="PH8"
>>> +CONFIG_AXP_GPIO=y
>>>
>>> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"
>>
>>
>> FYI my q8h-v1.5 uses a slightly different mode line:
>>
>>
>> x:800,y:480,depth:18,pclk_khz:36000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0
>
>
> Yes, there are multiple modelines floating around for 800x480 panels, I've
> 2 A13 tablets and the modeline of the fex file from tablet a causes the
> images
> to not be properly centered on the screen of tablet b. Luckily the other way
> around does work, so for the q8_a13_tablet_defconfig I'm using the modeline
> from the fex file from tablet b. I hope we can do something similar with q8
> a23 and a33 800x480 tablets.
>
> I've been buying q8 tablets with cracked screens (people seem to drop them
> quite
> a lot) for cheap from a local 2nd hand website, so now I've 5 ever so
> slightly
> different models, I still need to make a generic q8 config for those, and
> see if
> I can find a modeline which works on all of them.
>
> That modeline should probably be a good one to use for the a33 defconfig
> too.
>
>> I'll find some time to give yours a test.

So it looks like your modeline works as well. I can't see any difference
between the two on screen. Speaking of the screen, mine is slightly off
vertically. Feels like it is 1 line lower than it should be. And the right
most end displays partially under the touchscreen with either modeline.

ChenYu
Hans de Goede Oct. 2, 2015, 9:24 a.m. UTC | #6
Hi,

On 02-10-15 10:49, Chen-Yu Tsai wrote:
> On Fri, Sep 25, 2015 at 4:06 PM, Hans de Goede <hdegoede@redhat.com> wrote:
>> Hi,
>>
>> On 25-09-15 04:35, Chen-Yu Tsai wrote:
>>>
>>> On Thu, Sep 24, 2015 at 11:24 PM, Hans de Goede <hdegoede@redhat.com>
>>> wrote:
>>
>>
>> <snip>
>>
>>>> diff --git a/configs/q8_a33_tablet_800x480_defconfig
>>>> b/configs/q8_a33_tablet_800x480_defconfig
>>>> new file mode 100644
>>>> index 0000000..a9c2b62
>>>> --- /dev/null
>>>> +++ b/configs/q8_a33_tablet_800x480_defconfig
>>>> @@ -0,0 +1,24 @@
>>>> +CONFIG_ARM=y
>>>> +CONFIG_ARCH_SUNXI=y
>>>> +CONFIG_MACH_SUN8I_A33=y
>>>> +CONFIG_DRAM_CLK=456
>>>> +CONFIG_DRAM_ZQ=15291
>>>> +CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
>>>> +CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
>>>> +CONFIG_USB0_ID_DET="PH8"
>>>> +CONFIG_AXP_GPIO=y
>>>>
>>>> +CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"
>>>
>>>
>>> FYI my q8h-v1.5 uses a slightly different mode line:
>>>
>>>
>>> x:800,y:480,depth:18,pclk_khz:36000,le:45,ri:209,up:22,lo:22,hs:1,vs:1,sync:3,vmode:0
>>
>>
>> Yes, there are multiple modelines floating around for 800x480 panels, I've
>> 2 A13 tablets and the modeline of the fex file from tablet a causes the
>> images
>> to not be properly centered on the screen of tablet b. Luckily the other way
>> around does work, so for the q8_a13_tablet_defconfig I'm using the modeline
>> from the fex file from tablet b. I hope we can do something similar with q8
>> a23 and a33 800x480 tablets.
>>
>> I've been buying q8 tablets with cracked screens (people seem to drop them
>> quite
>> a lot) for cheap from a local 2nd hand website, so now I've 5 ever so
>> slightly
>> different models, I still need to make a generic q8 config for those, and
>> see if
>> I can find a modeline which works on all of them.
>>
>> That modeline should probably be a good one to use for the a33 defconfig
>> too.
>>
>>> I'll find some time to give yours a test.
>
> So it looks like your modeline works as well. I can't see any difference
> between the two on screen.

Great, thanks for testing this.

> Speaking of the screen, mine is slightly off
> vertically. Feels like it is 1 line lower than it should be. And the right
> most end displays partially under the touchscreen with either modeline.

Yeah I've this with some other q8 tablets too, where the black bezel of the
touchscreen slightly overlaps part of the lcd which should be visible, I guess
this can be expected given the prices of these tablets.

Regards,

Hans
diff mbox

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 09abc26..1dd5d5d 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -156,6 +156,7 @@  dtb-$(CONFIG_MACH_SUN8I_A33) += \
 	sun8i-a33-et-q8-v1.6.dtb \
 	sun8i-a33-ga10h-v1.1.dtb \
 	sun8i-a33-ippo-q8h-v1.2.dtb \
+	sun8i-a33-q8-tablet.dtb \
 	sun8i-a33-sinlinx-sina33.dtb
 dtb-$(CONFIG_MACH_SUN9I) += \
 	sun9i-a80-optimus.dtb \
diff --git a/arch/arm/dts/sun8i-a33-q8-tablet.dts b/arch/arm/dts/sun8i-a33-q8-tablet.dts
new file mode 100644
index 0000000..44b3229
--- /dev/null
+++ b/arch/arm/dts/sun8i-a33-q8-tablet.dts
@@ -0,0 +1,65 @@ 
+/*
+ * Copyright 2015 Hans de Goede <hdegoede@redhat.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+#include "sun8i-a33.dtsi"
+#include "sun8i-q8-common.dtsi"
+
+/ {
+	model = "Q8 A33 Tablet";
+	compatible = "allwinner,q8-a33", "allwinner,sun8i-a33";
+};
+
+/*
+ * FIXME for now we only support host mode and rely on u-boot to have
+ * turned on Vbus which is controlled by the axp223 pmic on the board.
+ *
+ * Once we have axp223 support we should switch to fully supporting otg.
+ */
+&usb_otg {
+	dr_mode = "host";
+	status = "okay";
+};
+
+&usbphy {
+	status = "okay";
+};
diff --git a/arch/arm/dts/sun8i-q8-common.dtsi b/arch/arm/dts/sun8i-q8-common.dtsi
new file mode 100644
index 0000000..07cd268
--- /dev/null
+++ b/arch/arm/dts/sun8i-q8-common.dtsi
@@ -0,0 +1,84 @@ 
+/*
+ * Copyright 2015 Hans de Goede <hdegoede@redhat.com>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This file is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This file is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+#include "sunxi-q8-common.dtsi"
+
+/ {
+	aliases {
+		serial0 = &r_uart;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&mmc0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_q8>;
+	vmmc-supply = <&reg_vcc3v0>;
+	bus-width = <4>;
+	cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
+	cd-inverted;
+	status = "okay";
+};
+
+&pio {
+	bl_en_pin_q8: bl_en_pin@0 {
+		allwinner,pins = "PH6";
+		allwinner,function = "gpio_in";
+		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+	};
+
+	mmc0_cd_pin_q8: mmc0_cd_pin@0 {
+		allwinner,pins = "PB4";
+		allwinner,function = "gpio_in";
+		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+		allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+	};
+};
+
+&r_uart {
+	pinctrl-names = "default";
+	pinctrl-0 = <&r_uart_pins_a>;
+	status = "okay";
+};
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index 4f5fd44..f7a837a 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -50,6 +50,8 @@  F:	configs/ga10h_v1_1_defconfig
 F:	configs/gt90h_v4_defconfig
 F:	configs/Ippo_q8h_v1_2_defconfig
 F:	configs/Ippo_q8h_v1_2_a33_1024x600_defconfig
+F:	configs/q8_a33_tablet_800x480_defconfig
+F:	configs/q8_a33_tablet_1024x600_defconfig
 F:	include/configs/sun9i.h
 F:	configs/Merrii_A80_Optimus_defconfig
 
diff --git a/configs/q8_a33_tablet_1024x600_defconfig b/configs/q8_a33_tablet_1024x600_defconfig
new file mode 100644
index 0000000..0820a5d
--- /dev/null
+++ b/configs/q8_a33_tablet_1024x600_defconfig
@@ -0,0 +1,24 @@ 
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN8I_A33=y
+CONFIG_DRAM_CLK=456
+CONFIG_DRAM_ZQ=15291
+CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
+CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
+CONFIG_USB0_ID_DET="PH8"
+CONFIG_AXP_GPIO=y
+CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:51000,le:159,ri:160,up:22,lo:12,hs:1,vs:1,sync:3,vmode:0"
+CONFIG_VIDEO_LCD_DCLK_PHASE=0
+CONFIG_VIDEO_LCD_POWER="PH7"
+CONFIG_VIDEO_LCD_BL_EN="PH6"
+CONFIG_VIDEO_LCD_BL_PWM="PH0"
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-q8-tablet"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_AXP221_DLDO1_VOLT=3300
+CONFIG_AXP221_ALDO1_VOLT=3000
+CONFIG_USB_MUSB_HOST=y
diff --git a/configs/q8_a33_tablet_800x480_defconfig b/configs/q8_a33_tablet_800x480_defconfig
new file mode 100644
index 0000000..a9c2b62
--- /dev/null
+++ b/configs/q8_a33_tablet_800x480_defconfig
@@ -0,0 +1,24 @@ 
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN8I_A33=y
+CONFIG_DRAM_CLK=456
+CONFIG_DRAM_ZQ=15291
+CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
+CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
+CONFIG_USB0_ID_DET="PH8"
+CONFIG_AXP_GPIO=y
+CONFIG_VIDEO_LCD_MODE="x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:167,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0"
+CONFIG_VIDEO_LCD_DCLK_PHASE=0
+CONFIG_VIDEO_LCD_POWER="PH7"
+CONFIG_VIDEO_LCD_BL_EN="PH6"
+CONFIG_VIDEO_LCD_BL_PWM="PH0"
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-q8-tablet"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=5"
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+CONFIG_AXP221_DLDO1_VOLT=3300
+CONFIG_AXP221_ALDO1_VOLT=3000
+CONFIG_USB_MUSB_HOST=y