[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53A8AE4C.6080702@suse.de>
Date: Tue, 24 Jun 2014 00:46:36 +0200
From: Andreas Färber <afaerber@...e.de>
To: Doug Anderson <dianders@...omium.org>
CC: linux-samsung-soc <linux-samsung-soc@...r.kernel.org>,
Stephan van Schaik <stephan@...khronix.com>,
Vincent Palatin <vpalatin@...omium.org>,
Rob Herring <robh+dt@...nel.org>,
Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Kumar Gala <galak@...eaurora.org>,
Russell King <linux@....linux.org.uk>,
Ben Dooks <ben-linux@...ff.org>,
Kukjin Kim <kgene.kim@...sung.com>,
"OPEN FIRMWARE AND..." <devicetree@...r.kernel.org>,
ARM PORT <linux-arm-kernel@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>,
Olof Johansson <olof@...om.net>,
Javier Martinez Canillas <javier.martinez@...labora.co.uk>,
tbroch@...omium.org, Tomasz Figa <t.figa@...sung.com>
Subject: Re: [RFC 4/4] ARM: dts: exynos5250: Add Spring device tree
Hi Doug,
Am 23.06.2014 21:47, schrieb Doug Anderson:
> Thanks for posting! A first pass on this is below...
Thanks a lot for your quick review! My first big .dts patch, and no
datasheets for the hardware at hand as a user.
A first pass of replies to my defense. ;)
> On Sun, Jun 22, 2014 at 6:21 PM, Andreas Färber <afaerber@...e.de> wrote:
[...]
>> diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
>> new file mode 100644
>> index 0000000..e857d44
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos5250-spring.dts
>> @@ -0,0 +1,556 @@
>> +/*
>> + * Google Spring board device tree source
>> + *
>> + * Copyright (c) 2013 Google, Inc
>> + * Copyright (c) 2014 SUSE LINUX Products GmbH
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + */
>> +
>> +/dts-v1/;
>> +#include "exynos5250.dtsi"
>> +#include "exynos5250-cros-common.dtsi"
>
> It is possible we may want to backpedal on the use of
> "exynos5250-cros-common.dtsi". I know that Olof (now CCed) said he
> wasn't a fan of how it turned out.
>
> The original idea was that it should include the arbitrary set of
> things that are common between a chunk of Chrome OS boards. As more
> boards were introduced things would need to migrate from the "common"
> file to the board files.
>
> At the moment the current conventional wisdom is that some duplication
> is better than the confusing movement of everything back and forth.
> See exynos5420-peach-pit and exynos5800-peach-pi in ToT linux-next.
>
>
>> +/ {
>> + model = "Google Spring";
>> + compatible = "google,spring", "samsung,exynos5250", "samsung,exynos5";
>> +
>> + pinctrl@...00000 {
>
> The new best way to do things is to put this down at the bottom. See
> exynos5420-peach-pit as an example:
>
> &pinctrl_0 {
> ...
> }
>
> Note that I believe it was decided that top-level references like that
> should be sorted alphabetically.
Thanks for the hint. (My chosen sort order here was by address.)
> If you wanted to apply that run to exynos5250-snow I don't think it
> would be a terrible idea.
I can of course apply changes to Snow, but I cannot test them myself.
>> + s5m8767_dvs: s5m8767-dvs {
>> + samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2";
>> + samsung,pin-function = <0>;
>> + samsung,pin-pud = <1>;
>> + samsung,pin-drv = <0>;
>> + };
>> +
>> + s5m8767_ds: s5m8767-ds {
>> + samsung,pins = "gpx2-3", "gpx2-4", "gpx2-5";
>> + samsung,pin-function = <0>;
>> + samsung,pin-pud = <1>;
>> + samsung,pin-drv = <0>;
>> + };
>> +
>> + tps65090_irq: tps65090-irq {
>> + samsung,pins = "gpx2-6";
>> + samsung,pin-function = <0>;
>> + samsung,pin-pud = <0>;
>> + samsung,pin-drv = <0>;
>> + };
>> +
>> + s5m8767_irq: s5m8767-irq {
>> + samsung,pins = "gpx3-2";
>> + samsung,pin-function = <0>;
>> + samsung,pin-pud = <0>;
>> + samsung,pin-drv = <0>;
>> + };
>> +
>> + hdmi_hpd_irq: hdmi-hpd-irq {
>> + samsung,pins = "gpx3-7";
>> + samsung,pin-function = <0>;
>> + samsung,pin-pud = <1>;
>> + samsung,pin-drv = <0>;
>> + };
>> + };
>> +
>> + pinctrl@...00000 {
>> + hsic_reset: hsic-reset {
>> + samsung,pins = "gpe1-0";
>> + samsung,pin-function = <1>;
>> + samsung,pin-pud = <0>;
>> + samsung,pin-drv = <0>;
>> + };
>
> I'm pretty sure that the HSIC reset needed some funky code to make it
> work and I'm not sure what the status of that is upstream
Yeah, you mentioned something along those lines. However it's the
equivalent of the usb3-vbus-en in -snow.dts. Rename or drop?
>> + };
>> +
>> + vbat: vbat-fixed-regulator {
>> + compatible = "regulator-fixed";
>> + regulator-name = "vbat-supply";
>> + regulator-boot-on;
>> + };
>> +
>> + usb@...00000 {
>> + status = "okay";
>> + };
>> +
>> + usb3_vbus_reg: regulator-usb3 {
>> + compatible = "regulator-fixed";
>> + regulator-name = "P5.0V_USB3CON";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + gpio = <&gpe1 0 1>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&hsic_reset>;
>> + enable-active-high;
>> + };
>> +
>> + phy@...00000 {
>> + vbus-supply = <&usb3_vbus_reg>;
>> + };
>> +
>> + usb@...10000 {
>> + samsung,vbus-gpio = <&gpx1 1 0>;
>> + status = "okay";
>> + };
>> +
>> + usb@...20000 {
>> + status = "okay";
>> + };
>> +
>> + mmc@...20000 {
>> + /* MMC2 pins are used as GPIO for eDP bridge control. */
>> + status = "disabled";
>> + };
>> +
>> + mmc@...30000 {
>> + status = "disabled";
>> + };
>> +
>> + i2c@...60000 {
>> + max77686@09 {
>
> There is no max77686 on spring. It uses s5m8767 in the place of max77686.
>
> ...you've got "status = disabled", just remove it.
That's because it's inherited from exynos5250-cros-common.dtsi.
The rtc that the system successfully uses is "s5m-rtc", which I guess is
on the s5m8767 then? (Confusing that 3.8 Spring had this rtc node
despite Snow's max77686 not having it.)
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + status = "disabled";
>> +
>> + rtc {
>> + reg = <0x6>;
>> + };
>> + };
>> +
>> + s5m8767_pmic@66 {
>> + compatible = "samsung,s5m8767-pmic";
>> + reg = <0x66>;
>> + interrupt-parent = <&gpx3>;
>> + interrupts = <2 0>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
>> + wakeup-source;
>> +
>> + s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 1>, /* DVS1 */
>> + <&gpd1 1 1>, /* DVS2 */
>> + <&gpd1 2 1>; /* DVS3 */
>> +
>> + s5m8767,pmic-buck-ds-gpios = <&gpx2 3 1>, /* SET1 */
>> + <&gpx2 4 1>, /* SET2 */
>> + <&gpx2 5 1>; /* SET3 */
>
> The final "1" in each of the GPIO specifiers above should be GPIO_ACTIVE_LOW.
>
>
>> +
>> + /*
>> + * The following arrays of DVS voltages are not used, since we are
>> + * not using GPIOs to control PMIC bucks, but they must be defined
>> + * to please the driver.
>> + */
>> + s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
>> + <1250000>, <1200000>,
>> + <1150000>, <1100000>,
>> + <1000000>, <950000>;
>> +
>> + s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
>> + <1100000>, <1100000>,
>> + <1000000>, <1000000>,
>> + <1000000>, <1000000>;
>> +
>> + s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
>> + <1200000>, <1200000>,
>> + <1200000>, <1200000>,
>> + <1200000>, <1200000>;
>> +
>> + clocks {
>> + compatible = "samsung,s5m8767-clk";
>> + #clock-cells = <1>;
>> + clock-output-names = "en32khz_ap",
>> + "en32khz_cp",
>> + "en32khz_bt";
>> + };
>> +
>> + regulators {
>> + s5m_ldo4_reg: LDO4 {
>> + regulator-name = "P1.0V_LDO_OUT4";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + op_mode = <0>;
>
> I think that "op_mode" here is questionable. Adding Javier to the
> thread who was looking at this for max77802 and possibly max77686.
Confirming that this op_mode is present in the original 3.8 device tree.
(I used dtc to compile my /proc/device-tree tarball back to .dts, so it
has hexadecimal <0x0> but that shouldn't matter to dtc AFAIU.)
>> + };
>> +
>> + s5m_ldo5_reg: LDO5 {
>> + regulator-name = "P1.0V_LDO_OUT5";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + op_mode = <0>;
>> + };
>> +
>> + s5m_ldo6_reg: LDO6 {
>> + regulator-name = "vdd_mydp";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo7_reg: LDO7 {
>> + regulator-name = "P1.1V_LDO_OUT7";
>> + regulator-min-microvolt = <1100000>;
>> + regulator-max-microvolt = <1100000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo8_reg: LDO8 {
>> + regulator-name = "P1.0V_LDO_OUT8";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo10_reg: LDO10 {
>> + regulator-name = "P1.8V_LDO_OUT10";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo11_reg: LDO11 {
>> + regulator-name = "P1.8V_LDO_OUT11";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + op_mode = <0>;
>> + };
>> +
>> + s5m_ldo12_reg: LDO12 {
>> + regulator-name = "P3.0V_LDO_OUT12";
>> + regulator-min-microvolt = <3000000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo13_reg: LDO13 {
>> + regulator-name = "P1.8V_LDO_OUT13";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + op_mode = <0>;
>> + };
>> +
>> + s5m_ldo14_reg: LDO14 {
>> + regulator-name = "P1.8V_LDO_OUT14";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo15_reg: LDO15 {
>> + regulator-name = "P1.0V_LDO_OUT15";
>> + regulator-min-microvolt = <1000000>;
>> + regulator-max-microvolt = <1000000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo16_reg: LDO16 {
>> + regulator-name = "P1.8V_LDO_OUT16";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + op_mode = <3>;
>> + };
>> +
>> + s5m_ldo17_reg: LDO17 {
>> + regulator-name = "P2.8V_LDO_OUT17";
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + regulator-always-on;
>> + op_mode = <0>;
>> + };
>> +
>> + s5m_ldo25_reg: LDO25 {
>> + regulator-name = "vdd_bridge";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + op_mode = <1>;
>> + };
>> +
>> + BUCK1 {
>> + regulator-name = "vdd_mif";
>> + regulator-min-microvolt = <950000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-always-on;
>> + regulator-boot-on;
>> + op_mode = <3>;
>> + };
>> +
>> + BUCK2 {
>> + regulator-name = "vdd_arm";
>> + regulator-min-microvolt = <850000>;
>> + regulator-max-microvolt = <1350000>;
>> + regulator-always-on;
>> + regulator-boot-on;
>> + op_mode = <3>;
>> + };
>> +
>> + BUCK3 {
>> + regulator-name = "vdd_int";
>> + regulator-min-microvolt = <900000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-boot-on;
>> + op_mode = <3>;
>> + };
>> +
>> + BUCK4 {
>> + regulator-name = "vdd_g3d";
>> + regulator-min-microvolt = <850000>;
>> + regulator-max-microvolt = <1300000>;
>> + regulator-boot-on;
>> + op_mode = <3>;
>> + };
>> +
>> + BUCK5 {
>> + regulator-name = "P1.8V_BUCK_OUT5";
>> + regulator-min-microvolt = <1800000>;
>> + regulator-max-microvolt = <1800000>;
>> + regulator-always-on;
>> + regulator-boot-on;
>> + op_mode = <1>;
>> + };
>> +
>> + BUCK6 {
>> + regulator-name = "P1.2V_BUCK_OUT6";
>> + regulator-min-microvolt = <1200000>;
>> + regulator-max-microvolt = <1200000>;
>> + regulator-always-on;
>> + regulator-boot>
>
-on;
>> + op_mode = <0>;
>> + };
>> +
>> + BUCK9 {
>> + regulator-name = "vdd_ummc";
>> + regulator-min-microvolt = <950000>;
>> + regulator-max-microvolt = <3000000>;
>> + regulator-always-on;
>> + regulator-boot-on;
>> + op_mode = <3>;
>> + };
>> + };
>> + };
>> + };
>> +
>> + i2c@...70000 {
>> + trackpad {
>> + status = "disabled";
>
> Having this bogus entry here doesn't add anything. Remove it until
> the trackpad should be added. See http://crbug.com/371114 for a
> slightly stale bug about trackpad.
You misunderstand: This resolves an error about the cypress,cyapa
inherited from -cros-common.dtsi. Spring uses a different device and two
different I2C addresses.
Nodes named trackpad-bootloader and trackpad-alt are prepared here:
https://github.com/afaerber/linux/commits/spring-next
>> + };
>> + };
>> +
>> + i2c@...A0000 {
>> + embedded-controller {
>
> Add "cros_ec" alias like snow.
>
>
>> + compatible = "google,cros-ec-i2c";
>> + reg = <0x1e>;
>> + interrupts = <6 0>;
>> + interrupt-parent = <&gpx1>;
>> + wakeup-source;
>> +
>> + keyboard-controller {
>
> Don't include keyboard-controller here. Add:
>
> #include "cros-ec-keyboard.dtsi"
>
> ...at the bottom. Note that I think that the spring EC has a special
> "charger" key that it uses to indicate when a charger was plugged in
> and unplugged. I'm not sure how that will end up getting supported
> upstream but you could just leave it out for now.
Is there such a pending patch for snow? That's what I modeled after.
Where is cros-ec-keyboard.dtsi? Don't see it in
http://git.kernel.org/cgit/linux/kernel/git/kgene/linux-samsung.git/tree/arch/arm/boot/dts?h=for-next
or
http://git.kernel.org/cgit/linux/kernel/git/kgene/linux-samsung.git/tree/include/dt-bindings?h=for-next
Are you proposing I factor it out?
>> + compatible = "google,cros-ec-keyb";
>> + keypad,num-rows = <8>;
>> + keypad,num-columns = <13>;
>
> Don't you need pinctrl here?
The keyboard is usable; what would pinctrl be needed for? There's none
in the 3.8 device tree.
>> + google,needs-ghost-filter;
>> + linux,keymap = <
>> + 0x0001007d /* L_META */
>> + 0x0002003b /* F1 */
>> + 0x00030030 /* B */
>> + 0x00040044 /* F10 */
>> + 0x00060031 /* N */
>> + 0x0008000d /* = */
>> + 0x000a0064 /* R_ALT */
>> +
>> + 0x01010001 /* ESC */
>> + 0x0102003e /* F4 */
>> + 0x01030022 /* G */
>> + 0x01040041 /* F7 */
>> + 0x01060023 /* H */
>> + 0x01080028 /* ' */
>> + 0x01090043 /* F9 */
>> + 0x010b000e /* BKSPACE */
>> +
>> + 0x0200001d /* L_CTRL */
>> + 0x0201000f /* TAB */
>> + 0x0202003d /* F3 */
>> + 0x02030014 /* T */
>> + 0x02040040 /* F6 */
>> + 0x0205001b /* ] */
>> + 0x02060015 /* Y */
>> + 0x02070056 /* 102ND */
>> + 0x0208001a /* [ */
>> + 0x02090042 /* F8 */
>> +
>> + 0x03010029 /* GRAVE */
>> + 0x0302003c /* F2 */
>> + 0x03030006 /* 5 */
>> + 0x0304003f /* F5 */
>> + 0x03060007 /* 6 */
>> + 0x0308000c /* - */
>> + 0x030b002b /* \ */
>> +
>> + 0x04000061 /* R_CTRL */
>> + 0x0401001e /* A */
>> + 0x04020020 /* D */
>> + 0x04030021 /* F */
>> + 0x0404001f /* S */
>> + 0x04050025 /* K */
>> + 0x04060024 /* J */
>> + 0x04080027 /* ; */
>> + 0x04090026 /* L */
>> + 0x040a002b /* \ */
>> + 0x040b001c /* ENTER */
>> +
>> + 0x0501002c /* Z */
>> + 0x0502002e /* C */
>> + 0x0503002f /* V */
>> + 0x0504002d /* X */
>> + 0x05050033 /* , */
>> + 0x05060032 /* M */
>> + 0x0507002a /* L_SHIFT */
>> + 0x05080035 /* / */
>> + 0x05090034 /* . */
>> + 0x050B0039 /* SPACE */
>> +
>> + 0x06010002 /* 1 */
>> + 0x06020004 /* 3 */
>> + 0x06030005 /* 4 */
>> + 0x06040003 /* 2 */
>> + 0x06050009 /* 8 */
>> + 0x06060008 /* 7 */
>> + 0x0608000b /* 0 */
>> + 0x0609000a /* 9 */
>> + 0x060a0038 /* L_ALT */
>> + 0x060b006c /* DOWN */
>> + 0x060c006a /* RIGHT */
>> +
>> + 0x07010010 /* Q */
>> + 0x07020012 /* E */
>> + 0x07030013 /* R */
>> + 0x07040011 /* W */
>> + 0x07050017 /* I */
>> + 0x07060016 /* U */
>> + 0x07070036 /* R_SHIFT */
>> + 0x07080019 /* P */
>> + 0x07090018 /* O */
>> + 0x070b0067 /* UP */
>> + 0x070c0069 /* LEFT */
>> + >;
>> + };
>> + };
>> +
>> + power-regulator {
>> + compatible = "ti,tps65090";
>
> I doubt tps65090 will "just work". Does it?
Good question. How to tell? :) Not familiar with clocks and regulators.
I don't see the nodes referenced anywhere, so I could just try to drop
(as I would, as per my cover letter, propose for anything non-essential
that turns controversial).
If we drop tps65090, can we safely drop vbat-fixed-regulator as well?
> On spring the tps65090 is not directly on the same i2c bus as the EC.
> It's actually hidden behind the EC.
>
> Locally in the ChromeOS tree there appears to be a forked copy of the
> 65090 regulator driver that's in use just for spring. See this from
> the ChromeOS 3.8 tree:
>
> ./drivers/regulator/tps65090-regulator.c
> ./drivers/regulator/cros_ec-tps65090.c
>
> The Spring version of the driver sends EC commands directly to access
> the tps65090.
>
> It is possible (untested) that you could also talk to tps65090 over an
> i2c tunnel. On exynos5420-peach-pit we have a full fledged i2c
> tunnel, but you may be able to extend the tunnel to export an i2c
> tunnel for spring using something like
> <https://chromium-review.googlesource.com/66116>
The SBS battery thingy (not in this patch) should also be behind some
tunnel. There's none defined in -cros-common.dtsi or in my patch, and
still it shows up in dmesg to my surprise, complaining "Couldn't read
remote-bus property".
>> + reg = <0x48>;
>> +
>> + /*
>> + * Config irq to disable internal pulls
>> + * even though we run in polling mode.
>> + */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&tps65090_irq>;
>> +
>> + vsys1-supply = <&vbat>;
>> + vsys2-supply = <&vbat>;
>> + vsys3-supply = <&vbat>;
>> + infet1-supply = <&vbat>;
>> + infet2-supply = <&vbat>;
>> + infet3-supply = <&vbat>;
>> + infet4-supply = <&vbat>;
>> + infet5-supply = <&vbat>;
>> + infet6-supply = <&vbat>;
>> + infet7-supply = <&vbat>;
>> + vsys-l1-supply = <&vbat>;
>> + vsys-l2-supply = <&vbat>;
>> +
>> + regulators {
>> + fet1 {
>> + regulator-name = "vcd_led";
>> + regulator-min-microvolt = <12000000>;
>> + regulator-max-microvolt = <12000000>;
>> + };
>> + fet3 {
>> + regulator-name = "wwan_r";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> + fet5 {
>> + regulator-name = "cam";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + regulator-always-on;
>> + };
>> + fet6 {
>> + regulator-name = "lcd_vdd";
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> + fet7 {
>> + regulator-name = "ts";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + };
>> + };
>> +
>> + charger {
>> + compatible = "ti,tps65090-charger";
>> + };
>> + };
>> + };
>> +
>> + hdmi {
>> + hdmi-en-supply = <&s5m_ldo8_reg>;
>> + vdd-supply = <&s5m_ldo8_reg>;
>> + vdd_osc-supply = <&s5m_ldo10_reg>;
>> + vdd_pll-supply = <&s5m_ldo8_reg>;
>> + };
>> +
>> + fimd@...00000 {
>> + status = "okay";
>> + samsung,invert-vclk;
>> + };
>> +
>> + dp-controller@...B0000 {
>> + status = "okay";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&dp_hpd>;
>
> This is probably not right. It looks as if spring uses gpc3-0 for
> display port HPD (as a GPIO). The upstream has this in the
> exynos5250-pinctrl.dtsi as a different pin.
>
> I think you'll need to define your own pinctrl here.
>
>
>> + samsung,color-space = <0>;
>> + samsung,dynamic-range = <0>;
>> + samsung,ycbcr-coeff = <0>;
>> + samsung,color-depth = <1>;
>> + samsung,link-rate = <0x0a>;
>> + samsung,lane-count = <1>;
>> + samsung,hpd-gpio = <&gpc3 0 0>;
>> +
>> + display-timings {
>> + native-mode = <&timing1>;
>> +
>> + timing1: timing@1 {
>> + clock-frequency = <70589280>;
>> + hactive = <1366>;
>> + vactive = <768>;
>> + hfront-porch = <40>;
>> + hback-porch = <40>;
>> + hsync-len = <32>;
>> + vback-porch = <10>;
>> + vfront-porch = <12>;
>> + vsync-len = <6>;
>> + };
>> + };
>> + };
>> +
>> + fixed-rate-clocks {
>> + xxti {
>> + compatible = "samsung,clock-xxti";
>> + clock-frequency = <24000000>;
>> + };
>> + };
>> +};
Will check on the other suggestions.
Thanks,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists