Re: [PATCH v2 2/3] ARM: dts: sun6i: Add sun6i-reference-design-tablet.dtsi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




HI,

On 22-08-16 14:07, Icenowy Zheng wrote:


22.08.2016, 17:01, "Hans de Goede" <hdegoede@xxxxxxxxxx>:
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@xxxxxxxxxx> 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@xxxxxxxxxx>
 ---
  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 = <&reg_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 = <&reg_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@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@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@68 {
 - compatible = "x-powers,axp221";
 - reg = <0x68>;
 - interrupt-parent = <&nmi_intc>;
 - interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
 - drivevbus-supply = <&reg_vcc5v0>;
 - x-powers,drive-vbus-en;
 - };
 -};
 -
 -#include "axp22x.dtsi"
 -
 -&reg_aldo3 {
 - regulator-always-on;
 - regulator-min-microvolt = <2700000>;
 - regulator-max-microvolt = <3300000>;
 - regulator-name = "avcc";
 -};
 -
 -&reg_dc1sw {
 - regulator-name = "vcc-lcd";
 -};
 -
 -&reg_dc5ldo {
 - regulator-always-on;
 - regulator-min-microvolt = <700000>;
 - regulator-max-microvolt = <1320000>;
 - regulator-name = "vdd-cpus"; /* This is an educated guess */
 -};
 -
 -&reg_dcdc1 {
 - regulator-always-on;
 - regulator-min-microvolt = <3000000>;
 - regulator-max-microvolt = <3000000>;
 - regulator-name = "vcc-3v0";
 -};
 -
 -&reg_dcdc2 {
 - regulator-min-microvolt = <700000>;
 - regulator-max-microvolt = <1320000>;
 - regulator-name = "vdd-gpu";
 -};
 -
 -&reg_dcdc3 {
 - regulator-always-on;
 - regulator-min-microvolt = <700000>;
 - regulator-max-microvolt = <1320000>;
 - regulator-name = "vdd-cpu";
 -};
 -
 -&reg_dcdc4 {
 - regulator-always-on;
 - regulator-min-microvolt = <700000>;
 - regulator-max-microvolt = <1320000>;
 - regulator-name = "vdd-sys-dll";
 -};
 -
 -&reg_dcdc5 {
 - regulator-always-on;
 - regulator-min-microvolt = <1500000>;
 - regulator-max-microvolt = <1500000>;
 - regulator-name = "vcc-dram";
 -};
 -
 -&reg_dldo1 {
 - regulator-min-microvolt = <3300000>;
 - regulator-max-microvolt = <3300000>;
 - regulator-name = "vcc-wifi";
 -};
 -
  &reg_dldo2 {
         regulator-min-microvolt = <1800000>;
         regulator-max-microvolt = <1800000>;
         regulator-name = "vcc-pg";
  };

 -&reg_drivevbus {
 - regulator-name = "usb0-vbus";
 - status = "okay";
 -};
 -
  &simplefb_lcd {
 - vcc-lcd-supply = <&reg_dc1sw>;
         vcc-pg-supply = <&reg_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 = <&reg_drivevbus>;
 - usb1_vbus-supply = <&reg_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.

I usually build the driver with a debug printk added like
this:

--- a/drivers/input/keyboard/sun4i-lradc-keys.c
+++ b/drivers/input/keyboard/sun4i-lradc-keys.c
@@ -99,6 +99,7 @@ static irqreturn_t sun4i_lradc_irq(int irq, void *dev_id)
        if ((ints & CHAN0_KEYDOWN_IRQ) && lradc->chan0_keycode == 0) {
                val = readl(lradc->base + LRADC_DATA0) & 0x3f;
                voltage = val * lradc->vref / 63;
+         pr_err("sun4i-lradc voltage %d\n", voltage);

                for (i = 0; i < lradc->chan0_map_count; i++) {
                        diff = abs(lradc->chan0_map[i].voltage - voltage);

When I need to figure out the values.

I hope that helps.

Regards,

Hans






Regards,

Hans

 Otherwise,

 Acked-by: Chen-Yu Tsai <wens@xxxxxxxx>

 - vref-supply = <&reg_aldo3>;
 + /* Wifi is connected here */
         status = "okay";
 -
 - button@1000 {
 - label = "Home";
 - linux,code = <KEY_HOMEPAGE>;
 - channel = <0>;
 - voltage = <1000000>;
 - };
  };

  &mmc0 {
 @@ -181,12 +164,6 @@
         regulator-name = "vcc-wifi";
  };

 -&reg_dldo2 {
 - regulator-min-microvolt = <1800000>;
 - regulator-max-microvolt = <1800000>;
 - regulator-name = "vcc-pg";
 -};
 -
  &reg_drivevbus {
         regulator-name = "usb0-vbus";
         status = "okay";
 @@ -194,7 +171,6 @@

  &simplefb_lcd {
         vcc-lcd-supply = <&reg_dc1sw>;
 - vcc-pg-supply = <&reg_dldo2>;
  };

  &usb_otg {
 --
 2.7.4

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux