Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-25 Thread Sascha Hauer
On Wed, Jun 25, 2014 at 02:48:43PM +0800, Shawn Guo wrote:
> On Mon, Jun 23, 2014 at 12:18:39PM +0200, Lothar Waßmann wrote:
> ...
> > > > +   phy-handle = <>;
> > > > +   mac-address = []; /* will be set by U-Boot */
> > > 
> > > Shouldn't it be local-mac-address?
> > > 
> > probably yes, but both 'mac-address' and 'local-mac-address' are being
> > set up by U-Boot anyway.
> 
> Okay, never mind.  I just realized kernel supports both properties.
> 
> ...
> 
> > > > + {
> > > > +   cd-gpios = < 8 GPIO_ACTIVE_LOW>;
> > > > +   fsl,wp-controller;
> > > 
> > > Does it work for you, since the driver does not support it as of today?
> > > 
> > What driver doesn't support what?
> > AFAICT the sdhci-esdhc-imx.c driver supports both of these properties.
> 
> That was the case before, but it's not the case since commit
> 89d7e5c13122 (mmc: sdhci-esdhc-imx: add runtime pm support).
> 
> http://thread.gmane.org/gmane.linux.kernel.mmc/27287
> 
> ...
> 
> > > > +   spidev0: spi@0 {
> > > > +   compatible = "spidev";
> > > > +   reg = <0>;
> > > > +   spi-max-frequency = <5400>;
> > > > +   };
> > > > +
> > > > +   spidev1: spi@1 {
> > > > +   compatible = "spidev";
> > > > +   reg = <1>;
> > > > +   spi-max-frequency = <5400>;
> > > > +   };
> > > 
> > > I'm not sure we should have these two devices.
> > > 
> > Why not? With this the SPI bus can readily be used with the spidev
> > driver from Documentation/spi/spidev_test.c (which is what most of our
> > customers are asking for)!
> 
> Is this something that has been approved by DT maintainers?  I do not
> see "spidev" documented as a compatible in any bindings doc.

I don't think it has been approved, but it's used already in several
places:

arch/arm/boot/dts/spear1340-evb.dts:496:
compatible = "spidev";
arch/arm/boot/dts/spear1310-evb.dts:402:
compatible = "spidev";
arch/arm/boot/dts/imx28-tx28.dts:623:   compatible = "spidev";
arch/arm/boot/dts/imx28-tx28.dts:629:   compatible = "spidev";
arch/arm/boot/dts/atlas6-evb.dts:32:
compatible = "spidev";
arch/arm/boot/dts/marco-evb.dts:41: 
compatible = "spidev";
arch/arm/boot/dts/tegra30-colibri-eval-v3.dts:78:   
compatible = "spidev";
arch/arm/boot/dts/imx53-tx53.dtsi:173:  compatible = "spidev";
arch/arm/boot/dts/imx53-tx53.dtsi:179:  compatible = "spidev";
arch/powerpc/boot/dts/mgcoge.dts:235:   
compatible = "gen,spidev";
arch/powerpc/boot/dts/o2d.dtsi:43:  compatible = 
"spidev";
arch/powerpc/boot/dts/digsy_mtc.dts:34: compatible = 
"spidev";

Usually this binding gets denied with "spidev is Linux specific. Use a
specific compatible instead". This had the result that the spidev driver
now matches to "rohm,dh2228fv" and I have already seen people claiming
that their spi device is a "rohm,dh2228fv" just to let the spidev driver
match.

Maybe the reasoning for a spidev binding could be:

There is a SPI device, but we don't know what it is, so we just call it
"spidev". Linux just tries to make the best from the situation and makes
a userspace device from it.


Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-25 Thread Shawn Guo
On Mon, Jun 23, 2014 at 12:18:39PM +0200, Lothar Waßmann wrote:
...
> > > + phy-handle = <>;
> > > + mac-address = []; /* will be set by U-Boot */
> > 
> > Shouldn't it be local-mac-address?
> > 
> probably yes, but both 'mac-address' and 'local-mac-address' are being
> set up by U-Boot anyway.

Okay, never mind.  I just realized kernel supports both properties.

...

> > > + {
> > > + cd-gpios = < 8 GPIO_ACTIVE_LOW>;
> > > + fsl,wp-controller;
> > 
> > Does it work for you, since the driver does not support it as of today?
> > 
> What driver doesn't support what?
> AFAICT the sdhci-esdhc-imx.c driver supports both of these properties.

That was the case before, but it's not the case since commit
89d7e5c13122 (mmc: sdhci-esdhc-imx: add runtime pm support).

http://thread.gmane.org/gmane.linux.kernel.mmc/27287

...

> > > + spidev0: spi@0 {
> > > + compatible = "spidev";
> > > + reg = <0>;
> > > + spi-max-frequency = <5400>;
> > > + };
> > > +
> > > + spidev1: spi@1 {
> > > + compatible = "spidev";
> > > + reg = <1>;
> > > + spi-max-frequency = <5400>;
> > > + };
> > 
> > I'm not sure we should have these two devices.
> > 
> Why not? With this the SPI bus can readily be used with the spidev
> driver from Documentation/spi/spidev_test.c (which is what most of our
> customers are asking for)!

Is this something that has been approved by DT maintainers?  I do not
see "spidev" documented as a compatible in any bindings doc.

Shawn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-25 Thread Shawn Guo
On Mon, Jun 23, 2014 at 12:18:39PM +0200, Lothar Waßmann wrote:
...
   + phy-handle = phy0;
   + mac-address = []; /* will be set by U-Boot */
  
  Shouldn't it be local-mac-address?
  
 probably yes, but both 'mac-address' and 'local-mac-address' are being
 set up by U-Boot anyway.

Okay, never mind.  I just realized kernel supports both properties.

...

   +esdhc1 {
   + cd-gpios = gpio3 8 GPIO_ACTIVE_LOW;
   + fsl,wp-controller;
  
  Does it work for you, since the driver does not support it as of today?
  
 What driver doesn't support what?
 AFAICT the sdhci-esdhc-imx.c driver supports both of these properties.

That was the case before, but it's not the case since commit
89d7e5c13122 (mmc: sdhci-esdhc-imx: add runtime pm support).

http://thread.gmane.org/gmane.linux.kernel.mmc/27287

...

   + spidev0: spi@0 {
   + compatible = spidev;
   + reg = 0;
   + spi-max-frequency = 5400;
   + };
   +
   + spidev1: spi@1 {
   + compatible = spidev;
   + reg = 1;
   + spi-max-frequency = 5400;
   + };
  
  I'm not sure we should have these two devices.
  
 Why not? With this the SPI bus can readily be used with the spidev
 driver from Documentation/spi/spidev_test.c (which is what most of our
 customers are asking for)!

Is this something that has been approved by DT maintainers?  I do not
see spidev documented as a compatible in any bindings doc.

Shawn
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-25 Thread Sascha Hauer
On Wed, Jun 25, 2014 at 02:48:43PM +0800, Shawn Guo wrote:
 On Mon, Jun 23, 2014 at 12:18:39PM +0200, Lothar Waßmann wrote:
 ...
+   phy-handle = phy0;
+   mac-address = []; /* will be set by U-Boot */
   
   Shouldn't it be local-mac-address?
   
  probably yes, but both 'mac-address' and 'local-mac-address' are being
  set up by U-Boot anyway.
 
 Okay, never mind.  I just realized kernel supports both properties.
 
 ...
 
+esdhc1 {
+   cd-gpios = gpio3 8 GPIO_ACTIVE_LOW;
+   fsl,wp-controller;
   
   Does it work for you, since the driver does not support it as of today?
   
  What driver doesn't support what?
  AFAICT the sdhci-esdhc-imx.c driver supports both of these properties.
 
 That was the case before, but it's not the case since commit
 89d7e5c13122 (mmc: sdhci-esdhc-imx: add runtime pm support).
 
 http://thread.gmane.org/gmane.linux.kernel.mmc/27287
 
 ...
 
+   spidev0: spi@0 {
+   compatible = spidev;
+   reg = 0;
+   spi-max-frequency = 5400;
+   };
+
+   spidev1: spi@1 {
+   compatible = spidev;
+   reg = 1;
+   spi-max-frequency = 5400;
+   };
   
   I'm not sure we should have these two devices.
   
  Why not? With this the SPI bus can readily be used with the spidev
  driver from Documentation/spi/spidev_test.c (which is what most of our
  customers are asking for)!
 
 Is this something that has been approved by DT maintainers?  I do not
 see spidev documented as a compatible in any bindings doc.

I don't think it has been approved, but it's used already in several
places:

arch/arm/boot/dts/spear1340-evb.dts:496:
compatible = spidev;
arch/arm/boot/dts/spear1310-evb.dts:402:
compatible = spidev;
arch/arm/boot/dts/imx28-tx28.dts:623:   compatible = spidev;
arch/arm/boot/dts/imx28-tx28.dts:629:   compatible = spidev;
arch/arm/boot/dts/atlas6-evb.dts:32:
compatible = spidev;
arch/arm/boot/dts/marco-evb.dts:41: 
compatible = spidev;
arch/arm/boot/dts/tegra30-colibri-eval-v3.dts:78:   
compatible = spidev;
arch/arm/boot/dts/imx53-tx53.dtsi:173:  compatible = spidev;
arch/arm/boot/dts/imx53-tx53.dtsi:179:  compatible = spidev;
arch/powerpc/boot/dts/mgcoge.dts:235:   
compatible = gen,spidev;
arch/powerpc/boot/dts/o2d.dtsi:43:  compatible = 
spidev;
arch/powerpc/boot/dts/digsy_mtc.dts:34: compatible = 
spidev;

Usually this binding gets denied with spidev is Linux specific. Use a
specific compatible instead. This had the result that the spidev driver
now matches to rohm,dh2228fv and I have already seen people claiming
that their spi device is a rohm,dh2228fv just to let the spidev driver
match.

Maybe the reasoning for a spidev binding could be:

There is a SPI device, but we don't know what it is, so we just call it
spidev. Linux just tries to make the best from the situation and makes
a userspace device from it.


Sascha

-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-23 Thread Lothar Waßmann
Hi,

Shawn Guo wrote:
> On Thu, Jun 12, 2014 at 03:09:44PM +0200, Lothar Waßmann wrote:
> > Add support for Ka-Ro electronics i.MX51 based TX51 modules
> > 
> > Signed-off-by: Lothar Waßmann 
> > ---
> >  arch/arm/boot/dts/Makefile   |1 +
> >  arch/arm/boot/dts/imx51-tx51.dts |  620 
> > ++
> >  2 files changed, 621 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/imx51-tx51.dts
> > 
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index 0f1e8be..8dd4dbc 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -177,6 +177,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
> > imx51-babbage.dtb \
> > imx51-digi-connectcore-jsk.dtb \
> > imx51-eukrea-mbimxsd51-baseboard.dtb \
> > +   imx51-tx51.dtb \
> > imx53-ard.dtb \
> > imx53-m53evk.dtb \
> > imx53-mba53.dtb \
> > diff --git a/arch/arm/boot/dts/imx51-tx51.dts 
> > b/arch/arm/boot/dts/imx51-tx51.dts
> > new file mode 100644
> > index 000..9ae7758
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx51-tx51.dts
> > @@ -0,0 +1,620 @@
> > +/*
> > + * Copyright 2012-2014 Lothar Waßmann 
> > + *
> > + * The code contained herein is licensed under the GNU General Public
> > + * License. You may obtain a copy of the GNU General Public License
> > + * Version 2 at the following locations:
> > + *
> > + * http://www.opensource.org/licenses/gpl-license.html
> > + * http://www.gnu.org/copyleft/gpl.html
> > + */
> > +
> > +/dts-v1/;
> > +#include "imx51.dtsi"
> > +#include 
> > +#include 
> 
> imx51.dtsi already includes them.
> 
OK.

> > +#include 
> > +
> > +/ {
> > +   model = "Ka-Ro electronics TX51 module";
> > +   compatible = "karo,tx51", "fsl,imx51";
> > +
> > +   aliases {
> > +   backlight = 
> > +   display = 
> > +   i2c1 = _gpio;
> > +   usbotg = 
> > +   };
> > +
> > +   chosen {
> > +   stdout-path = 
> > +   };
> > +
> > +   backlight: pwm-backlight {
> > +   compatible = "pwm-backlight";
> > +
> 
> Drop this new line.
> 
OK.

> > +   pwms = < 0 50 PWM_POLARITY_INVERTED>;
> > +   power-supply = <_3v3>;
> > +   brightness-levels = <
> > + 0  1  2  3  4  5  6  7  8  9
> > +10 11 12 13 14 15 16 17 18 19
> > +20 21 22 23 24 25 26 27 28 29
> > +30 31 32 33 34 35 36 37 38 39
> > +40 41 42 43 44 45 46 47 48 49
> > +50 51 52 53 54 55 56 57 58 59
> > +60 61 62 63 64 65 66 67 68 69
> > +70 71 72 73 74 75 76 77 78 79
> > +80 81 82 83 84 85 86 87 88 89
> > +90 91 92 93 94 95 96 97 98 99
> > +   100
> > +   >;
> > +   default-brightness-level = <50>;
> > +   };
> > +
> > +   clocks {
> > +   ckih1 {
> > +   clock-frequency = <0>;
> > +   };
> > +
> > +   mclk: clock@0 {
> > +   compatible = "fixed-clock";
> > +   reg = <0>;
> > +   #clock-cells = <0>;
> > +   clock-frequency = <2700>;
> > +   };
> > +
> > +   clk_26M: clock@1 {
> 
> When using generic name, you will need clock-output-names property.
> Otherwise, the clocks will fail in registration except the first one,
> because of clock name collision.
> 
Didn't recognize that yet.

[...]
> > +   usbphy {
> > +   #address-cells = <1>;
> > +   #size-cells = <0>;
> > +   compatible = "simple-bus";
> > +
> > +   usbh1phy: usbh1phy@0 {
> 
> The node name should be something generic like usbphy?
> 
OK.

> > +   compatible = "usb-nop-xceiv";
> > +   reg = <0>;
> > +   clocks = <_26M>;
> > +   clock-names = "main_clk";
> > +   };
> > +   };
> > +};
> > +
> > + {
> > +   status = "okay";
> > +};
> > +
> > + {
> > +   pinctrl-names = "default";
> > +   pinctrl-0 = <_fec>;
> > +   phy-mode = "mii";
> > +// phy-reset-gpios = < 14 GPIO_ACTIVE_LOW>;
> 
> Drop it?
> 
Leftover from debugging...

> > +   phy-handle = <>;
> > +   mac-address = []; /* will be set by U-Boot */
> 
> Shouldn't it be local-mac-address?
> 
probably yes, but both 'mac-address' and 'local-mac-address' are being
set up by U-Boot anyway.

[...]
> > +_di0_disp0 {
> > +   remote-endpoint = <_in>;
> > +};
> > +
> > + {
> > +   status = "okay";
> 
> Put 'status' at the bottom of property list.
>
OK.

> > +
> > +   linux,keymap =  > +   MATRIX_KEY(0, 0, KEY_POWER)
> > +   MATRIX_KEY(0, 1, KEY_KP0)
> > +   MATRIX_KEY(0, 2, KEY_KP1)
> > +   MATRIX_KEY(0, 3, KEY_KP2)
> > +   MATRIX_KEY(1, 0, KEY_KP3)
> > +   MATRIX_KEY(1, 1, KEY_KP4)
> > +   MATRIX_KEY(1, 2, KEY_KP5)
> > +   MATRIX_KEY(1, 3, KEY_KP6)
> > +   

Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-23 Thread Lothar Waßmann
Hi,

Shawn Guo wrote:
 On Thu, Jun 12, 2014 at 03:09:44PM +0200, Lothar Waßmann wrote:
  Add support for Ka-Ro electronics i.MX51 based TX51 modules
  
  Signed-off-by: Lothar Waßmann l...@karo-electronics.de
  ---
   arch/arm/boot/dts/Makefile   |1 +
   arch/arm/boot/dts/imx51-tx51.dts |  620 
  ++
   2 files changed, 621 insertions(+)
   create mode 100644 arch/arm/boot/dts/imx51-tx51.dts
  
  diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
  index 0f1e8be..8dd4dbc 100644
  --- a/arch/arm/boot/dts/Makefile
  +++ b/arch/arm/boot/dts/Makefile
  @@ -177,6 +177,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
  imx51-babbage.dtb \
  imx51-digi-connectcore-jsk.dtb \
  imx51-eukrea-mbimxsd51-baseboard.dtb \
  +   imx51-tx51.dtb \
  imx53-ard.dtb \
  imx53-m53evk.dtb \
  imx53-mba53.dtb \
  diff --git a/arch/arm/boot/dts/imx51-tx51.dts 
  b/arch/arm/boot/dts/imx51-tx51.dts
  new file mode 100644
  index 000..9ae7758
  --- /dev/null
  +++ b/arch/arm/boot/dts/imx51-tx51.dts
  @@ -0,0 +1,620 @@
  +/*
  + * Copyright 2012-2014 Lothar Waßmann l...@karo-electronics.de
  + *
  + * The code contained herein is licensed under the GNU General Public
  + * License. You may obtain a copy of the GNU General Public License
  + * Version 2 at the following locations:
  + *
  + * http://www.opensource.org/licenses/gpl-license.html
  + * http://www.gnu.org/copyleft/gpl.html
  + */
  +
  +/dts-v1/;
  +#include imx51.dtsi
  +#include dt-bindings/gpio/gpio.h
  +#include dt-bindings/input/input.h
 
 imx51.dtsi already includes them.
 
OK.

  +#include dt-bindings/pwm/pwm.h
  +
  +/ {
  +   model = Ka-Ro electronics TX51 module;
  +   compatible = karo,tx51, fsl,imx51;
  +
  +   aliases {
  +   backlight = backlight;
  +   display = display;
  +   i2c1 = i2c_gpio;
  +   usbotg = usbotg;
  +   };
  +
  +   chosen {
  +   stdout-path = uart1;
  +   };
  +
  +   backlight: pwm-backlight {
  +   compatible = pwm-backlight;
  +
 
 Drop this new line.
 
OK.

  +   pwms = pwm1 0 50 PWM_POLARITY_INVERTED;
  +   power-supply = reg_3v3;
  +   brightness-levels = 
  + 0  1  2  3  4  5  6  7  8  9
  +10 11 12 13 14 15 16 17 18 19
  +20 21 22 23 24 25 26 27 28 29
  +30 31 32 33 34 35 36 37 38 39
  +40 41 42 43 44 45 46 47 48 49
  +50 51 52 53 54 55 56 57 58 59
  +60 61 62 63 64 65 66 67 68 69
  +70 71 72 73 74 75 76 77 78 79
  +80 81 82 83 84 85 86 87 88 89
  +90 91 92 93 94 95 96 97 98 99
  +   100
  +   ;
  +   default-brightness-level = 50;
  +   };
  +
  +   clocks {
  +   ckih1 {
  +   clock-frequency = 0;
  +   };
  +
  +   mclk: clock@0 {
  +   compatible = fixed-clock;
  +   reg = 0;
  +   #clock-cells = 0;
  +   clock-frequency = 2700;
  +   };
  +
  +   clk_26M: clock@1 {
 
 When using generic name, you will need clock-output-names property.
 Otherwise, the clocks will fail in registration except the first one,
 because of clock name collision.
 
Didn't recognize that yet.

[...]
  +   usbphy {
  +   #address-cells = 1;
  +   #size-cells = 0;
  +   compatible = simple-bus;
  +
  +   usbh1phy: usbh1phy@0 {
 
 The node name should be something generic like usbphy?
 
OK.

  +   compatible = usb-nop-xceiv;
  +   reg = 0;
  +   clocks = clk_26M;
  +   clock-names = main_clk;
  +   };
  +   };
  +};
  +
  +audmux {
  +   status = okay;
  +};
  +
  +fec {
  +   pinctrl-names = default;
  +   pinctrl-0 = pinctrl_fec;
  +   phy-mode = mii;
  +// phy-reset-gpios = gpio2 14 GPIO_ACTIVE_LOW;
 
 Drop it?
 
Leftover from debugging...

  +   phy-handle = phy0;
  +   mac-address = []; /* will be set by U-Boot */
 
 Shouldn't it be local-mac-address?
 
probably yes, but both 'mac-address' and 'local-mac-address' are being
set up by U-Boot anyway.

[...]
  +ipu_di0_disp0 {
  +   remote-endpoint = display0_in;
  +};
  +
  +kpp {
  +   status = okay;
 
 Put 'status' at the bottom of property list.

OK.

  +
  +   linux,keymap = /* sample keymap */
  +   MATRIX_KEY(0, 0, KEY_POWER)
  +   MATRIX_KEY(0, 1, KEY_KP0)
  +   MATRIX_KEY(0, 2, KEY_KP1)
  +   MATRIX_KEY(0, 3, KEY_KP2)
  +   MATRIX_KEY(1, 0, KEY_KP3)
  +   MATRIX_KEY(1, 1, KEY_KP4)
  +   MATRIX_KEY(1, 2, KEY_KP5)
  +   MATRIX_KEY(1, 3, KEY_KP6)
  +   MATRIX_KEY(2, 0, KEY_KP7)
  +   MATRIX_KEY(2, 1, KEY_KP8)
  +   MATRIX_KEY(2, 2, KEY_KP9)
  +   ;
  +};
  +
  +esdhc1 {
  +   cd-gpios = gpio3 

Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-18 Thread Shawn Guo
On Thu, Jun 12, 2014 at 03:09:44PM +0200, Lothar Waßmann wrote:
> Add support for Ka-Ro electronics i.MX51 based TX51 modules
> 
> Signed-off-by: Lothar Waßmann 
> ---
>  arch/arm/boot/dts/Makefile   |1 +
>  arch/arm/boot/dts/imx51-tx51.dts |  620 
> ++
>  2 files changed, 621 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx51-tx51.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 0f1e8be..8dd4dbc 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -177,6 +177,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
>   imx51-babbage.dtb \
>   imx51-digi-connectcore-jsk.dtb \
>   imx51-eukrea-mbimxsd51-baseboard.dtb \
> + imx51-tx51.dtb \
>   imx53-ard.dtb \
>   imx53-m53evk.dtb \
>   imx53-mba53.dtb \
> diff --git a/arch/arm/boot/dts/imx51-tx51.dts 
> b/arch/arm/boot/dts/imx51-tx51.dts
> new file mode 100644
> index 000..9ae7758
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx51-tx51.dts
> @@ -0,0 +1,620 @@
> +/*
> + * Copyright 2012-2014 Lothar Waßmann 
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/dts-v1/;
> +#include "imx51.dtsi"
> +#include 
> +#include 

imx51.dtsi already includes them.

> +#include 
> +
> +/ {
> + model = "Ka-Ro electronics TX51 module";
> + compatible = "karo,tx51", "fsl,imx51";
> +
> + aliases {
> + backlight = 
> + display = 
> + i2c1 = _gpio;
> + usbotg = 
> + };
> +
> + chosen {
> + stdout-path = 
> + };
> +
> + backlight: pwm-backlight {
> + compatible = "pwm-backlight";
> +

Drop this new line.

> + pwms = < 0 50 PWM_POLARITY_INVERTED>;
> + power-supply = <_3v3>;
> + brightness-levels = <
> +   0  1  2  3  4  5  6  7  8  9
> +  10 11 12 13 14 15 16 17 18 19
> +  20 21 22 23 24 25 26 27 28 29
> +  30 31 32 33 34 35 36 37 38 39
> +  40 41 42 43 44 45 46 47 48 49
> +  50 51 52 53 54 55 56 57 58 59
> +  60 61 62 63 64 65 66 67 68 69
> +  70 71 72 73 74 75 76 77 78 79
> +  80 81 82 83 84 85 86 87 88 89
> +  90 91 92 93 94 95 96 97 98 99
> + 100
> + >;
> + default-brightness-level = <50>;
> + };
> +
> + clocks {
> + ckih1 {
> + clock-frequency = <0>;
> + };
> +
> + mclk: clock@0 {
> + compatible = "fixed-clock";
> + reg = <0>;
> + #clock-cells = <0>;
> + clock-frequency = <2700>;
> + };
> +
> + clk_26M: clock@1 {

When using generic name, you will need clock-output-names property.
Otherwise, the clocks will fail in registration except the first one,
because of clock name collision.

> + compatible = "fixed-clock";
> + reg = <1>;
> + #clock-cells = <0>;
> + clock-frequency = <2600>;
> + gpios = < 7 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +
> + display: display@di0 {
> + compatible = "fsl,imx-parallel-display";
> + interface-pix-fmt = "rgb24";
> + pinctrl-names = "default";
> + pinctrl-0 = <_ipu_disp0>;
> +
> + port {
> + display0_in: endpoint {
> + remote-endpoint = <_di0_disp0>;
> + };
> + };
> +
> + display-timings {
> + VGA {
> + clock-frequency = <2520>;
> + hactive = <640>;
> + vactive = <480>;
> + hback-porch = <48>;
> + hsync-len = <96>;
> + hfront-porch = <16>;
> + vback-porch = <31>;
> + vsync-len = <2>;
> + vfront-porch = <12>;
> + hsync-active = <0>;
> + vsync-active = <0>;
> + de-active = <1>;
> + pixelclk-active = <0>;
> + };
> +
> + ETV570 {
> + clock-frequency = <2520>;
> + hactive = <640>;
> + vactive = <480>;
> + hback-porch = <114>;

Re: [PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-18 Thread Shawn Guo
On Thu, Jun 12, 2014 at 03:09:44PM +0200, Lothar Waßmann wrote:
 Add support for Ka-Ro electronics i.MX51 based TX51 modules
 
 Signed-off-by: Lothar Waßmann l...@karo-electronics.de
 ---
  arch/arm/boot/dts/Makefile   |1 +
  arch/arm/boot/dts/imx51-tx51.dts |  620 
 ++
  2 files changed, 621 insertions(+)
  create mode 100644 arch/arm/boot/dts/imx51-tx51.dts
 
 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
 index 0f1e8be..8dd4dbc 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -177,6 +177,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
   imx51-babbage.dtb \
   imx51-digi-connectcore-jsk.dtb \
   imx51-eukrea-mbimxsd51-baseboard.dtb \
 + imx51-tx51.dtb \
   imx53-ard.dtb \
   imx53-m53evk.dtb \
   imx53-mba53.dtb \
 diff --git a/arch/arm/boot/dts/imx51-tx51.dts 
 b/arch/arm/boot/dts/imx51-tx51.dts
 new file mode 100644
 index 000..9ae7758
 --- /dev/null
 +++ b/arch/arm/boot/dts/imx51-tx51.dts
 @@ -0,0 +1,620 @@
 +/*
 + * Copyright 2012-2014 Lothar Waßmann l...@karo-electronics.de
 + *
 + * The code contained herein is licensed under the GNU General Public
 + * License. You may obtain a copy of the GNU General Public License
 + * Version 2 at the following locations:
 + *
 + * http://www.opensource.org/licenses/gpl-license.html
 + * http://www.gnu.org/copyleft/gpl.html
 + */
 +
 +/dts-v1/;
 +#include imx51.dtsi
 +#include dt-bindings/gpio/gpio.h
 +#include dt-bindings/input/input.h

imx51.dtsi already includes them.

 +#include dt-bindings/pwm/pwm.h
 +
 +/ {
 + model = Ka-Ro electronics TX51 module;
 + compatible = karo,tx51, fsl,imx51;
 +
 + aliases {
 + backlight = backlight;
 + display = display;
 + i2c1 = i2c_gpio;
 + usbotg = usbotg;
 + };
 +
 + chosen {
 + stdout-path = uart1;
 + };
 +
 + backlight: pwm-backlight {
 + compatible = pwm-backlight;
 +

Drop this new line.

 + pwms = pwm1 0 50 PWM_POLARITY_INVERTED;
 + power-supply = reg_3v3;
 + brightness-levels = 
 +   0  1  2  3  4  5  6  7  8  9
 +  10 11 12 13 14 15 16 17 18 19
 +  20 21 22 23 24 25 26 27 28 29
 +  30 31 32 33 34 35 36 37 38 39
 +  40 41 42 43 44 45 46 47 48 49
 +  50 51 52 53 54 55 56 57 58 59
 +  60 61 62 63 64 65 66 67 68 69
 +  70 71 72 73 74 75 76 77 78 79
 +  80 81 82 83 84 85 86 87 88 89
 +  90 91 92 93 94 95 96 97 98 99
 + 100
 + ;
 + default-brightness-level = 50;
 + };
 +
 + clocks {
 + ckih1 {
 + clock-frequency = 0;
 + };
 +
 + mclk: clock@0 {
 + compatible = fixed-clock;
 + reg = 0;
 + #clock-cells = 0;
 + clock-frequency = 2700;
 + };
 +
 + clk_26M: clock@1 {

When using generic name, you will need clock-output-names property.
Otherwise, the clocks will fail in registration except the first one,
because of clock name collision.

 + compatible = fixed-clock;
 + reg = 1;
 + #clock-cells = 0;
 + clock-frequency = 2600;
 + gpios = gpio1 7 GPIO_ACTIVE_HIGH;
 + };
 + };
 +
 + display: display@di0 {
 + compatible = fsl,imx-parallel-display;
 + interface-pix-fmt = rgb24;
 + pinctrl-names = default;
 + pinctrl-0 = pinctrl_ipu_disp0;
 +
 + port {
 + display0_in: endpoint {
 + remote-endpoint = ipu_di0_disp0;
 + };
 + };
 +
 + display-timings {
 + VGA {
 + clock-frequency = 2520;
 + hactive = 640;
 + vactive = 480;
 + hback-porch = 48;
 + hsync-len = 96;
 + hfront-porch = 16;
 + vback-porch = 31;
 + vsync-len = 2;
 + vfront-porch = 12;
 + hsync-active = 0;
 + vsync-active = 0;
 + de-active = 1;
 + pixelclk-active = 0;
 + };
 +
 + ETV570 {
 + clock-frequency = 2520;
 + hactive = 640;
 + vactive = 480;
 + hback-porch = 114;
 + hsync-len = 

[PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-12 Thread Lothar Waßmann
Add support for Ka-Ro electronics i.MX51 based TX51 modules

Signed-off-by: Lothar Waßmann 
---
 arch/arm/boot/dts/Makefile   |1 +
 arch/arm/boot/dts/imx51-tx51.dts |  620 ++
 2 files changed, 621 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx51-tx51.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0f1e8be..8dd4dbc 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -177,6 +177,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx51-babbage.dtb \
imx51-digi-connectcore-jsk.dtb \
imx51-eukrea-mbimxsd51-baseboard.dtb \
+   imx51-tx51.dtb \
imx53-ard.dtb \
imx53-m53evk.dtb \
imx53-mba53.dtb \
diff --git a/arch/arm/boot/dts/imx51-tx51.dts b/arch/arm/boot/dts/imx51-tx51.dts
new file mode 100644
index 000..9ae7758
--- /dev/null
+++ b/arch/arm/boot/dts/imx51-tx51.dts
@@ -0,0 +1,620 @@
+/*
+ * Copyright 2012-2014 Lothar Waßmann 
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx51.dtsi"
+#include 
+#include 
+#include 
+
+/ {
+   model = "Ka-Ro electronics TX51 module";
+   compatible = "karo,tx51", "fsl,imx51";
+
+   aliases {
+   backlight = 
+   display = 
+   i2c1 = _gpio;
+   usbotg = 
+   };
+
+   chosen {
+   stdout-path = 
+   };
+
+   backlight: pwm-backlight {
+   compatible = "pwm-backlight";
+
+   pwms = < 0 50 PWM_POLARITY_INVERTED>;
+   power-supply = <_3v3>;
+   brightness-levels = <
+ 0  1  2  3  4  5  6  7  8  9
+10 11 12 13 14 15 16 17 18 19
+20 21 22 23 24 25 26 27 28 29
+30 31 32 33 34 35 36 37 38 39
+40 41 42 43 44 45 46 47 48 49
+50 51 52 53 54 55 56 57 58 59
+60 61 62 63 64 65 66 67 68 69
+70 71 72 73 74 75 76 77 78 79
+80 81 82 83 84 85 86 87 88 89
+90 91 92 93 94 95 96 97 98 99
+   100
+   >;
+   default-brightness-level = <50>;
+   };
+
+   clocks {
+   ckih1 {
+   clock-frequency = <0>;
+   };
+
+   mclk: clock@0 {
+   compatible = "fixed-clock";
+   reg = <0>;
+   #clock-cells = <0>;
+   clock-frequency = <2700>;
+   };
+
+   clk_26M: clock@1 {
+   compatible = "fixed-clock";
+   reg = <1>;
+   #clock-cells = <0>;
+   clock-frequency = <2600>;
+   gpios = < 7 GPIO_ACTIVE_HIGH>;
+   };
+   };
+
+   display: display@di0 {
+   compatible = "fsl,imx-parallel-display";
+   interface-pix-fmt = "rgb24";
+   pinctrl-names = "default";
+   pinctrl-0 = <_ipu_disp0>;
+
+   port {
+   display0_in: endpoint {
+   remote-endpoint = <_di0_disp0>;
+   };
+   };
+
+   display-timings {
+   VGA {
+   clock-frequency = <2520>;
+   hactive = <640>;
+   vactive = <480>;
+   hback-porch = <48>;
+   hsync-len = <96>;
+   hfront-porch = <16>;
+   vback-porch = <31>;
+   vsync-len = <2>;
+   vfront-porch = <12>;
+   hsync-active = <0>;
+   vsync-active = <0>;
+   de-active = <1>;
+   pixelclk-active = <0>;
+   };
+
+   ETV570 {
+   clock-frequency = <2520>;
+   hactive = <640>;
+   vactive = <480>;
+   hback-porch = <114>;
+   hsync-len = <30>;
+   hfront-porch = <16>;
+   vback-porch = <32>;
+   vsync-len = <3>;
+   vfront-porch = <10>;
+   hsync-active = <0>;
+   vsync-active = <0>;
+   

[PATCH] ARM: dts: add support for Ka-Ro TX51

2014-06-12 Thread Lothar Waßmann
Add support for Ka-Ro electronics i.MX51 based TX51 modules

Signed-off-by: Lothar Waßmann l...@karo-electronics.de
---
 arch/arm/boot/dts/Makefile   |1 +
 arch/arm/boot/dts/imx51-tx51.dts |  620 ++
 2 files changed, 621 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx51-tx51.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0f1e8be..8dd4dbc 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -177,6 +177,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx51-babbage.dtb \
imx51-digi-connectcore-jsk.dtb \
imx51-eukrea-mbimxsd51-baseboard.dtb \
+   imx51-tx51.dtb \
imx53-ard.dtb \
imx53-m53evk.dtb \
imx53-mba53.dtb \
diff --git a/arch/arm/boot/dts/imx51-tx51.dts b/arch/arm/boot/dts/imx51-tx51.dts
new file mode 100644
index 000..9ae7758
--- /dev/null
+++ b/arch/arm/boot/dts/imx51-tx51.dts
@@ -0,0 +1,620 @@
+/*
+ * Copyright 2012-2014 Lothar Waßmann l...@karo-electronics.de
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include imx51.dtsi
+#include dt-bindings/gpio/gpio.h
+#include dt-bindings/input/input.h
+#include dt-bindings/pwm/pwm.h
+
+/ {
+   model = Ka-Ro electronics TX51 module;
+   compatible = karo,tx51, fsl,imx51;
+
+   aliases {
+   backlight = backlight;
+   display = display;
+   i2c1 = i2c_gpio;
+   usbotg = usbotg;
+   };
+
+   chosen {
+   stdout-path = uart1;
+   };
+
+   backlight: pwm-backlight {
+   compatible = pwm-backlight;
+
+   pwms = pwm1 0 50 PWM_POLARITY_INVERTED;
+   power-supply = reg_3v3;
+   brightness-levels = 
+ 0  1  2  3  4  5  6  7  8  9
+10 11 12 13 14 15 16 17 18 19
+20 21 22 23 24 25 26 27 28 29
+30 31 32 33 34 35 36 37 38 39
+40 41 42 43 44 45 46 47 48 49
+50 51 52 53 54 55 56 57 58 59
+60 61 62 63 64 65 66 67 68 69
+70 71 72 73 74 75 76 77 78 79
+80 81 82 83 84 85 86 87 88 89
+90 91 92 93 94 95 96 97 98 99
+   100
+   ;
+   default-brightness-level = 50;
+   };
+
+   clocks {
+   ckih1 {
+   clock-frequency = 0;
+   };
+
+   mclk: clock@0 {
+   compatible = fixed-clock;
+   reg = 0;
+   #clock-cells = 0;
+   clock-frequency = 2700;
+   };
+
+   clk_26M: clock@1 {
+   compatible = fixed-clock;
+   reg = 1;
+   #clock-cells = 0;
+   clock-frequency = 2600;
+   gpios = gpio1 7 GPIO_ACTIVE_HIGH;
+   };
+   };
+
+   display: display@di0 {
+   compatible = fsl,imx-parallel-display;
+   interface-pix-fmt = rgb24;
+   pinctrl-names = default;
+   pinctrl-0 = pinctrl_ipu_disp0;
+
+   port {
+   display0_in: endpoint {
+   remote-endpoint = ipu_di0_disp0;
+   };
+   };
+
+   display-timings {
+   VGA {
+   clock-frequency = 2520;
+   hactive = 640;
+   vactive = 480;
+   hback-porch = 48;
+   hsync-len = 96;
+   hfront-porch = 16;
+   vback-porch = 31;
+   vsync-len = 2;
+   vfront-porch = 12;
+   hsync-active = 0;
+   vsync-active = 0;
+   de-active = 1;
+   pixelclk-active = 0;
+   };
+
+   ETV570 {
+   clock-frequency = 2520;
+   hactive = 640;
+   vactive = 480;
+   hback-porch = 114;
+   hsync-len = 30;
+   hfront-porch = 16;
+   vback-porch = 32;
+   vsync-len = 3;
+   vfront-porch = 10;
+   hsync-active = 0;
+