[PATCH v2 2/3] ARM: dts: sun6i: Add sun6i-reference-design-tablet.dtsi
Icenowy Zheng
icenowy at aosc.xyz
Mon Aug 22 05:07:52 PDT 2016
22.08.2016, 17:01, "Hans de Goede" <hdegoede at redhat.com>:
> Hi,
>
> On 22-08-16 10:50, Chen-Yu Tsai wrote:
>> Hi,
>>
>> On Fri, Aug 19, 2016 at 2:02 AM, Hans de Goede <hdegoede at redhat.com> wrote:
>>> Just like with a13/a23/a33 most a31 tablets are derived from the same
>>> reference design. Add a .dtsi file with all the common bits to avoid
>>> endless copy and pasting of these.
>>>
>>> The sun6i-reference-design-tablet.dtsi this commit adds is a copy
>>> of sun6i-a31s-colorfly-e708-q1.dts with a few tablet specific bits
>>> removed / left in sun6i-a31s-colorfly-e708-q1.dts.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>>> ---
>>> arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts | 147 +--------------------
>>> ...8-q1.dts => sun6i-reference-design-tablet.dtsi} | 26 +---
>>> 2 files changed, 2 insertions(+), 171 deletions(-)
>>> copy arch/arm/boot/dts/{sun6i-a31s-colorfly-e708-q1.dts => sun6i-reference-design-tablet.dtsi} (90%)
>>>
>>> diff --git a/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts b/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts
>>> index 34d8710..882a4d8 100644
>>> --- a/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts
>>> +++ b/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts
>>> @@ -42,32 +42,11 @@
>>>
>>> /dts-v1/;
>>> #include "sun6i-a31s.dtsi"
>>> -#include "sunxi-common-regulators.dtsi"
>>> -
>>> -#include <dt-bindings/gpio/gpio.h>
>>> -#include <dt-bindings/input/input.h>
>>> -#include <dt-bindings/pinctrl/sun4i-a10.h>
>>> +#include "sun6i-reference-design-tablet.dtsi"
>>>
>>> / {
>>> model = "Colorfly E708 Q1 tablet";
>>> compatible = "colorfly,e708-q1", "allwinner,sun6i-a31s";
>>> -
>>> - aliases {
>>> - serial0 = &uart0;
>>> - };
>>> -
>>> - chosen {
>>> - stdout-path = "serial0:115200n8";
>>> - };
>>> -};
>>> -
>>> -&cpu0 {
>>> - cpu-supply = <®_dcdc3>;
>>> -};
>>> -
>>> -&ehci0 {
>>> - /* rtl8188etv wifi is connected here */
>>> - status = "okay";
>>> };
>>>
>>> &lradc {
>>> @@ -82,136 +61,12 @@
>>> };
>>> };
>>>
>>> -&mmc0 {
>>> - pinctrl-names = "default";
>>> - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>;
>>> - vmmc-supply = <®_dcdc1>;
>>> - bus-width = <4>;
>>> - cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */
>>> - cd-inverted;
>>> - status = "okay";
>>> -};
>>> -
>>> -&pio {
>>> - mmc0_cd_pin_e708_q1: mmc0_cd_pin at 0 {
>>> - allwinner,pins = "PA8";
>>> - allwinner,function = "gpio_in";
>>> - allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>> - allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
>>> - };
>>> -
>>> - usb0_id_detect_pin: usb0_id_detect_pin at 0 {
>>> - allwinner,pins = "PA15";
>>> - allwinner,function = "gpio_in";
>>> - allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>>> - allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
>>> - };
>>> -};
>>> -
>>> -&p2wi {
>>> - status = "okay";
>>> -
>>> - axp22x: pmic at 68 {
>>> - compatible = "x-powers,axp221";
>>> - reg = <0x68>;
>>> - interrupt-parent = <&nmi_intc>;
>>> - interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
>>> - drivevbus-supply = <®_vcc5v0>;
>>> - x-powers,drive-vbus-en;
>>> - };
>>> -};
>>> -
>>> -#include "axp22x.dtsi"
>>> -
>>> -®_aldo3 {
>>> - regulator-always-on;
>>> - regulator-min-microvolt = <2700000>;
>>> - regulator-max-microvolt = <3300000>;
>>> - regulator-name = "avcc";
>>> -};
>>> -
>>> -®_dc1sw {
>>> - regulator-name = "vcc-lcd";
>>> -};
>>> -
>>> -®_dc5ldo {
>>> - regulator-always-on;
>>> - regulator-min-microvolt = <700000>;
>>> - regulator-max-microvolt = <1320000>;
>>> - regulator-name = "vdd-cpus"; /* This is an educated guess */
>>> -};
>>> -
>>> -®_dcdc1 {
>>> - regulator-always-on;
>>> - regulator-min-microvolt = <3000000>;
>>> - regulator-max-microvolt = <3000000>;
>>> - regulator-name = "vcc-3v0";
>>> -};
>>> -
>>> -®_dcdc2 {
>>> - regulator-min-microvolt = <700000>;
>>> - regulator-max-microvolt = <1320000>;
>>> - regulator-name = "vdd-gpu";
>>> -};
>>> -
>>> -®_dcdc3 {
>>> - regulator-always-on;
>>> - regulator-min-microvolt = <700000>;
>>> - regulator-max-microvolt = <1320000>;
>>> - regulator-name = "vdd-cpu";
>>> -};
>>> -
>>> -®_dcdc4 {
>>> - regulator-always-on;
>>> - regulator-min-microvolt = <700000>;
>>> - regulator-max-microvolt = <1320000>;
>>> - regulator-name = "vdd-sys-dll";
>>> -};
>>> -
>>> -®_dcdc5 {
>>> - regulator-always-on;
>>> - regulator-min-microvolt = <1500000>;
>>> - regulator-max-microvolt = <1500000>;
>>> - regulator-name = "vcc-dram";
>>> -};
>>> -
>>> -®_dldo1 {
>>> - regulator-min-microvolt = <3300000>;
>>> - regulator-max-microvolt = <3300000>;
>>> - regulator-name = "vcc-wifi";
>>> -};
>>> -
>>> ®_dldo2 {
>>> regulator-min-microvolt = <1800000>;
>>> regulator-max-microvolt = <1800000>;
>>> regulator-name = "vcc-pg";
>>> };
>>>
>>> -®_drivevbus {
>>> - regulator-name = "usb0-vbus";
>>> - status = "okay";
>>> -};
>>> -
>>> &simplefb_lcd {
>>> - vcc-lcd-supply = <®_dc1sw>;
>>> vcc-pg-supply = <®_dldo2>;
>>> };
>>> -
>>> -&usb_otg {
>>> - dr_mode = "otg";
>>> - status = "okay";
>>> -};
>>> -
>>> -&usb_power_supply {
>>> - status = "okay";
>>> -};
>>> -
>>> -&usbphy {
>>> - pinctrl-names = "default";
>>> - pinctrl-0 = <&usb0_id_detect_pin>;
>>> - usb0_id_det-gpio = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */
>>> - usb0_vbus_power-supply = <&usb_power_supply>;
>>> - usb0_vbus-supply = <®_drivevbus>;
>>> - usb1_vbus-supply = <®_dldo1>;
>>> - status = "okay";
>>> -};
>>> diff --git a/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts b/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
>>> similarity index 90%
>>> copy from arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts
>>> copy to arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
>>> index 34d8710..0c43430 100644
>>> --- a/arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts
>>> +++ b/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
>>> @@ -40,8 +40,6 @@
>>> * OTHER DEALINGS IN THE SOFTWARE.
>>> */
>>>
>>> -/dts-v1/;
>>> -#include "sun6i-a31s.dtsi"
>>> #include "sunxi-common-regulators.dtsi"
>>>
>>> #include <dt-bindings/gpio/gpio.h>
>>> @@ -49,9 +47,6 @@
>>> #include <dt-bindings/pinctrl/sun4i-a10.h>
>>>
>>> / {
>>> - model = "Colorfly E708 Q1 tablet";
>>> - compatible = "colorfly,e708-q1", "allwinner,sun6i-a31s";
>>> -
>>> aliases {
>>> serial0 = &uart0;
>>> };
>>> @@ -66,20 +61,8 @@
>>> };
>>>
>>> &ehci0 {
>>> - /* rtl8188etv wifi is connected here */
>>> - status = "okay";
>>> -};
>>> -
>>> -&lradc {
>>
>> Shouldn't LRADC be standard for tablets?
>> Or are we looking at tablets with "soft" buttons?
>
> All A31 tablets I have do use the LRADC, but they do
> not use standard button <-> voltage mappings as
> A13 / A23 / A33 tablets do. Which buttons they
> have varies quie a bit, and they tend to not use
> the same voltages for e.g. volume-up / volume-down
> across tablets AFAICT.
Yes... I also found it...
And how to check the right values?
I cannot find them for my friend's Viewsonic ViewPad 133Q.
>
> Regards,
>
> Hans
>
>> Otherwise,
>>
>> Acked-by: Chen-Yu Tsai <wens at csie.org>
>>
>>> - vref-supply = <®_aldo3>;
>>> + /* Wifi is connected here */
>>> status = "okay";
>>> -
>>> - button at 1000 {
>>> - label = "Home";
>>> - linux,code = <KEY_HOMEPAGE>;
>>> - channel = <0>;
>>> - voltage = <1000000>;
>>> - };
>>> };
>>>
>>> &mmc0 {
>>> @@ -181,12 +164,6 @@
>>> regulator-name = "vcc-wifi";
>>> };
>>>
>>> -®_dldo2 {
>>> - regulator-min-microvolt = <1800000>;
>>> - regulator-max-microvolt = <1800000>;
>>> - regulator-name = "vcc-pg";
>>> -};
>>> -
>>> ®_drivevbus {
>>> regulator-name = "usb0-vbus";
>>> status = "okay";
>>> @@ -194,7 +171,6 @@
>>>
>>> &simplefb_lcd {
>>> vcc-lcd-supply = <®_dc1sw>;
>>> - vcc-pg-supply = <®_dldo2>;
>>> };
>>>
>>> &usb_otg {
>>> --
>>> 2.7.4
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list