Re: [Gta04-owner] [PATCH 10/13] twl4030_charger: add software controlled linear charging mode.

2015-11-24 Thread Andreas Kemnade
On Sat, 14 Nov 2015 19:12:16 +0100
Pavel Machek  wrote:

> Hi!
> 
> > > > Pavel Machek  writes:
> > > > > On Thu 2015-07-30 10:11:24, NeilBrown wrote:
> > > > >> 
> > > > >> Add a 'continuous' option for usb charging which enables
> > > > >> the "linear" charging mode of the twl4030.
> > > > >> 
> > > > >> Linear charging does a good job with not-so-reliable power sources.
> > > > >> Auto mode does not work well as it switches off when voltage drops
> > > > >> momentarily.  Care must be taken not to over-charge.
> > > > >
> > > > > Can you explain how the user can "care not to over-charge"?
> > > > 
> > > > The following text reads:
> > > > 
> > > > It was used with a bike hub dynamo since a year or so. In that case
> > > > there are automatically charging stops when the cyclist needs a 
> > > > break.
> > > > 
> > > > so: take a break from cycling occasionally.
> > > 
> > > If the charger does not exceed 4.2V, I'd not call it overcharge. (Yes, 
> > > some clever
> > > chargers actually let the battery drop below 4.2V when charge is done, 
> > > but...)
> > > 
> > Yes, that is the case. Perhaps it is not to be called overcharge but
> > it is said that lithium battery charging has to stop if in CV mode the
> > current drops too low.  In automatic mode the charger does exactly
> > that.
> > I would not let a battery for days at 4.2V CV.mode although a lot
> > of cheap chargers
> 
> Well, I agree that keeping battery at 4.2V constant voltage mode is
> bad, but I'd not call it overcharge. If someone can fix the comment,
> that would be nice.
>
here is my original comment ("on" was replaced by continuous "now"):

twl4030_charger: add software controlled linear charging mode.

   adds a sysfs control node to achieve that.
   It can be set to
   auto: normal automatic charging is enabled (default)
   off: charging is off
   on: charing is on (software controlled)
   CC/CV mode is still automatically done,
   but end of charge due to low current not.

Note: If linear charging mode is used there should be some method of
stopping charging automatically. It is not a so time-critical, but
it is the wrong setting for leaving a charger connected for several
days since Lithium batteries should not be kept at 100% for longer
periods. Linear charging does a good job with not so reliable power
sources, since several voltage controlling is then often too
intelligent. It was used with a bike hub dynamo since a year or so. In
that case there are automatically charging stops when the cyclist needs
a break. Signed-off-by: Andreas Kemnade 


> > > If the charger _does_ exceed 4.2V, then the battery will explode. Don't 
> > > do that. Don't
> > > offer that to the user.
> > > 
> > > On a related note... I've just killed USB charger by overloading it. They 
> > > are not protected.
> > > 
> > > I believe your automatically-pull-max-power really should stick to the 
> > > well-known charging
> > > currents (.5A, 1A, 1.7A), at the very minimum.
> > > 
> > The main reason for the patch was to prevent switching off charging
> > when Vbus drops low. The reason was not to get out extremely much
> > current out of the charger.
> > The electrical characteristics of a  bicycle as a power source are.
> > - the amount of current available changes
> >- 500mA at around 17km/h
> > - you cannot destroy it by electrically overloading
> > 
> > If the current is set to e.g. 500mA and that linear charging mode is
> > enabled, the battery gets the maximum current available (upto
> > 500mA) regardless of the speed which is often changing.
> 
> Yes... I guess that makes sense for you, but I wonder if we should be
> doing this by default. It seems a lot of cheap chargers can be easily
> destroyed if you overload them.
> 
Hmm, I guess the twl4030_charger would not be the only one destroying
such chargers. I have seen such hub dynamo-friendly behaviour on every
device I had connected to it before (an ipaq h2200, openmoko gta02).
I have checked all usb wall plug chargers I have seen and I found none
which has a lower current then 500mA. Only one has 500mA. The rest has
1A or even 2A.

But I think the non-ending cv stuff is a reason enough so that it is not
the default charge method. I use it only at bootup when battery is low
to have some time to fix charging issues manually and when cycling.
Cycling is detected by acceleration values and I get some feedback if
that charge mode is enabled or disabled.

Regards.
Andreas Kemnade


signature.asc
Description: PGP signature


[PATCH 15/18] ARM: am57xx: sbc-am57x: dts: add GPIO extender support

2015-11-24 Thread Dmitry Lifshitz
Add PCA9555 GPIO extender support (over I2C5 bus).

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
index 7b65efb..8b7c0b5 100644
--- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -90,4 +90,11 @@
reg = <0x50>;
pagesize = <16>;
};
+
+   pca9555: pca9555@20 {
+   compatible = "nxp,pca9555";
+   reg = <0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   };
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 18/18] ARM: am57xx: sbc-am57x: dts: add HDMI support

2015-11-24 Thread Dmitry Lifshitz
Add HDMI video output support.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 41 ++
 1 file changed, 41 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
index 13555aa..4b29223 100644
--- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -18,6 +18,7 @@
 
aliases {
display0 = 
+   display1 = 
};
 };
 
@@ -61,6 +62,19 @@
DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14)  
/* vin2a_vsync0.gpio4_0 */
>;
};
+
+   hdmi_pins: pinmux_hdmi_pins {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1)
/* i2c2_sda.hdmi1_ddc_scl */
+   DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1)
/* i2c2_scl.hdmi1_ddc_sda */
+   >;
+   };
+
+   hdmi_conn_pins: pinmux_hdmi_conn_pins {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14)   
/* spi1_cs2.gpio7_12 */
+   >;
+   };
 };
 
  {
@@ -136,3 +150,30 @@
};
};
 };
+
+ {
+   status = "ok";
+   vdda-supply = <_reg>;
+
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+
+   port {
+   hdmi_out: endpoint {
+   remote-endpoint = <_connector_in>;
+   };
+   };
+};
+
+_conn {
+   pinctrl-names = "default";
+   pinctrl-0 = <_conn_pins>;
+
+   hpd-gpios = < 12 GPIO_ACTIVE_HIGH>;
+
+   port {
+   hdmi_connector_in: endpoint {
+   remote-endpoint = <_out>;
+   };
+   };
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 16/18] ARM: am57xx: sbc-am57x: dts: add LCD support

2015-11-24 Thread Dmitry Lifshitz
Startek-kd050c 800x480 LCD panel timings are described in
compulab-sb-som.dtsi.

Add appropriate DT endpoints to connect DPI output and LCD.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
index 8b7c0b5..13555aa 100644
--- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -15,6 +15,10 @@
 / {
model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", 
"ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
+
+   aliases {
+   display0 = 
+   };
 };
 
 _pmx_core {
@@ -51,6 +55,12 @@
DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10)
/* mcasp1_axr1.i2c5_scl */
>;
};
+
+   lcd_pins_default: lcd_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14)  
/* vin2a_vsync0.gpio4_0 */
+   >;
+   };
 };
 
  {
@@ -98,3 +108,31 @@
#gpio-cells = <2>;
};
 };
+
+ {
+   status = "ok";
+
+   vdda_video-supply = <_reg>;
+
+   port {
+   dpi_lcd_out: endpoint@0 {
+   remote-endpoint = <_in>;
+   data-lines = <24>;
+   };
+   };
+};
+
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+
+   enable-gpios = < 14 GPIO_ACTIVE_HIGH
+0 GPIO_ACTIVE_HIGH>;
+
+   port {
+   lcd_in: endpoint {
+   remote-endpoint = <_lcd_out>;
+   data-lines = <24>;
+   };
+   };
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 07/18] ARM: am57xx: cl-som-am57x: dts: add dual EMAC support

2015-11-24 Thread Dmitry Lifshitz
Add dual EMAC support.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 105 ++
 1 file changed, 105 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index cf2328d..a838ea4 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -104,6 +104,85 @@
DRA7XX_CORE_IOPAD(0x34bc, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_cs3.qspi1_cs1 */
>;
};
+
+   cpsw_pins_default: cpsw_pins_default {
+   pinctrl-single,pins = <
+   /* Slave 1 */
+   DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0)   
/* rgmii1_tclk */
+   DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0)   
/* rgmii1_tctl */
+   DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0)   
/* rgmii1_td3 */
+   DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0)   
/* rgmii1_td2 */
+   DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0)   
/* rgmii1_td1 */
+   DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0)   
/* rgmii1_td0 */
+   DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0)
/* rgmii1_rclk */
+   DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0)
/* rgmii1_rctl */
+   DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0)
/* rgmii1_rd3 */
+   DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0)
/* rgmii1_rd2 */
+   DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0)
/* rgmii1_rd1 */
+   DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0)
/* rgmii1_rd0 */
+
+   /* Slave 2 */
+   DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3)   
/* rgmii2_tclk */
+   DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3)   
/* rgmii2_tctl */
+   DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3)   
/* rgmii2_td3 */
+   DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3)   
/* rgmii2_td2 */
+   DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3)   
/* rgmii2_td1 */
+   DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3)   
/* rgmii2_td0 */
+   DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3)
/* rgmii2_rclk */
+   DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3)
/* rgmii2_rctl */
+   DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3)
/* rgmii2_rd3 */
+   DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3)
/* rgmii2_rd2 */
+   DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3)
/* rgmii2_rd1 */
+   DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3)
/* rgmii2_rd0 */
+   >;
+   };
+
+   cpsw_pins_sleep: cpsw_pins_sleep {
+   pinctrl-single,pins = <
+   /* Slave 1 */
+   DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE15)
+
+   /* Slave 2 */
+   DRA7XX_CORE_IOPAD(0x3598, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x359c, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35a0, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35a4, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35a8, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35ac, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE15)
+

[PATCH 05/18] ARM: am57xx: cl-som-am57x: dts: add eMMC support

2015-11-24 Thread Dmitry Lifshitz
CM-SOM-AM57X has two options of main storage devices - eMMC or NAND.
Add eMMC chip support (over MMC2 bus).

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 33 +++
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index b6919a7..ed50a75 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -36,6 +36,13 @@
default-state = "off";
};
};
+
+   vdd_3v3: fixedregulator-vdd_3v3 {
+   compatible = "regulator-fixed";
+   regulator-name = "vdd_3v3";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   };
 };
 
 _pmx_core {
@@ -71,6 +78,21 @@
DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | 
MUX_MODE14) /* wakeup0.gpio1_0 */
>;
};
+
+   mmc2_pins_default: mmc2_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a23.mmc2_clk */
+   DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_cs1.mmc2_cmd */
+   DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a24.mmc2_dat0 */
+   DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a25.mmc2_dat1 */
+   DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a26.mmc2_dat2 */
+   DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a27.mmc2_dat3 */
+   DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a19.mmc2_dat4 */
+   DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a20.mmc2_dat5 */
+   DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a21.mmc2_dat6 */
+   DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a22.mmc2_dat7 */
+   >;
+   };
 };
 
  {
@@ -297,4 +319,15 @@
};
 };
 
+ {
+   status = "okay";
+
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+
+   vmmc-supply = <_3v3>;
+   bus-width = <8>;
+   ti,non-removable;
+   cap-mmc-dual-data-rate;
+};
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 08/18] ARM: am57xx: cl-som-am57x: dts: add USB support

2015-11-24 Thread Dmitry Lifshitz
Add USB support.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 16 
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index a838ea4..eba12a4 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -477,3 +477,19 @@
pinctrl-0 = <_mdio_pins_default>;
pinctrl-1 = <_mdio_pins_sleep>;
 };
+
+_phy1 {
+   phy-supply = <_reg>;
+};
+
+_phy2 {
+   phy-supply = <_reg>;
+};
+
+ {
+   dr_mode = "host";
+};
+
+ {
+   dr_mode = "peripheral";
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 17/18] ARM: am57xx: compulab-sb-som: dts: add HDMI connector

2015-11-24 Thread Dmitry Lifshitz
Add HDMI connector node without a valid input endpoint.

CompuLab SB-SOM is a carrier board, hence the endpoint
should be added in the board DT with a valid HDMI output.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/compulab-sb-som.dtsi | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/compulab-sb-som.dtsi 
b/arch/arm/boot/dts/compulab-sb-som.dtsi
index 402a143..93d7e23 100644
--- a/arch/arm/boot/dts/compulab-sb-som.dtsi
+++ b/arch/arm/boot/dts/compulab-sb-som.dtsi
@@ -39,4 +39,11 @@
pixelclk-active = <1>;
};
};
+
+   hdmi_conn: connector@0 {
+   compatible = "hdmi-connector";
+   label = "hdmi";
+
+   type = "a";
+   };
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 13/18] ARM: am57xx: sbc-am57x: dts: add usb vbus pinmux

2015-11-24 Thread Dmitry Lifshitz
usb1_drvvbus pin is used to Drive-VBUS enable to external charge
pump/power switch.

Add a pinmux for that pin.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
index 67e7f4a..b92650b 100644
--- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -38,6 +38,12 @@
DRA7XX_CORE_IOPAD(0x3770, PIN_INPUT | MUX_MODE14)   
/* mmc1_sdwp.gpio6_28 */
>;
};
+
+   usb1_pins: pinmux_usb1_pins {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) 
/* usb1_drvvbus */
+   >;
+   };
 };
 
  {
@@ -60,3 +66,8 @@
cd-gpios = < 27 GPIO_ACTIVE_LOW>;
wp-gpios = < 28 GPIO_ACTIVE_HIGH>;
 };
+
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 01/18] ARM: am57xx: cl-som-am57x: dts: add basic module support

2015-11-24 Thread Dmitry Lifshitz
Add support for CompuLab CM-SOM-AM57X board.

CL-SOM-AM57x is a miniature System-on-Module (SoM) based on
TI Sitara AM57x ARM Cortex-A15 System-on-Chip family.

https://www.compulab.co.il/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/

Add basic DT support for standalone module (without a carrier board):

* Memory configuration
* Heartbeat led
* I2C1 bus
* PMIC
* SATA

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 .../devicetree/bindings/arm/omap/omap.txt  |   3 +
 arch/arm/boot/dts/Makefile |   3 +-
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts  | 259 +
 3 files changed, 264 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/am57xx-cl-som-am57x.dts

diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt 
b/Documentation/devicetree/bindings/arm/omap/omap.txt
index da84372..dd53c90 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -156,6 +156,9 @@ Boards:
 - AM437x SK EVM: AM437x StarterKit Evaluation Module
   compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43"
 
+- AM57XX CL-SOM-AM57x
+  compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", 
"ti,dra7"
+
 - DRA742 EVM:  Software Development Board for DRA742
   compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
 
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 5492a24..803a020 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -477,8 +477,9 @@ dtb-$(CONFIG_SOC_OMAP5) += \
omap5-sbc-t54.dtb \
omap5-uevm.dtb
 dtb-$(CONFIG_SOC_DRA7XX) += \
-   dra7-evm.dtb \
am57xx-beagle-x15.dtb \
+   am57xx-cl-som-am57x.dtb \
+   dra7-evm.dtb \
dra72-evm.dtb
 dtb-$(CONFIG_ARCH_ORION5X) += \
orion5x-lacie-d2-network.dtb \
diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
new file mode 100644
index 000..b11d7da
--- /dev/null
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -0,0 +1,259 @@
+/*
+ * Support for CompuLab CL-SOM-AM57x System-on-Module
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Dmitry Lifshitz 
+ *
+ * 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 
+#include 
+#include "dra74x.dtsi"
+
+/ {
+   model = "CompuLab CL-SOM-AM57x";
+   compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", 
"ti,dra74", "ti,dra7";
+
+   memory {
+   device_type = "memory";
+   reg = <0x8000 0x2000>; /* 512 MB - minimal 
configuration */
+   };
+
+   leds {
+   compatible = "gpio-leds";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+
+   led@0 {
+   label = "cl-som-am57x:green";
+   gpios = < 5 GPIO_ACTIVE_HIGH>;
+   linux,default-trigger = "heartbeat";
+   default-state = "off";
+   };
+   };
+};
+
+_pmx_core {
+   leds_pins_default: leds_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x347c, PIN_OUTPUT | MUX_MODE14)  
/* gpmc_a15.gpio2_5 */
+   >;
+   };
+
+   i2c1_pins_default: i2c1_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT_PULLUP | MUX_MODE0) 
/* i2c1_sda.sda */
+   DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT_PULLUP | MUX_MODE0) 
/* i2c1_scl.scl */
+   >;
+   };
+
+   tps659038_pins_default: tps659038_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | 
MUX_MODE14) /* wakeup0.gpio1_0 */
+   >;
+   };
+};
+
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+   clock-frequency = <40>;
+
+   tps659038: tps659038@58 {
+   compatible = "ti,tps659038";
+   reg = <0x58>;
+   interrupt-parent = <>;
+   interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+
+   #interrupt-cells = <2>;
+   interrupt-controller;
+
+   ti,system-power-controller;
+
+   tps659038_pmic {
+   compatible = "ti,tps659038-pmic";
+
+   regulators {
+   smps12_reg: smps12 {
+   /* VDD_MPU */
+   

[PATCH 02/18] ARM: am57xx: cl-som-am57x: dts: add RTC support

2015-11-24 Thread Dmitry Lifshitz
Add EM3027 RTC chip support (over I2C4 bus).

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 21 +
 1 file changed, 21 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index b11d7da..773e5389 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -52,6 +52,13 @@
>;
};
 
+   i2c4_pins_default: i2c4_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x36ac, PIN_INPUT| MUX_MODE10)
/* mcasp1_acl.i2c4_sda */
+   DRA7XX_CORE_IOPAD(0x36b0, PIN_INPUT| MUX_MODE10)
/* mcasp1_fsr.i2c4_scl */
+   >;
+   };
+
tps659038_pins_default: tps659038_pins_default {
pinctrl-single,pins = <
DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | 
MUX_MODE14) /* wakeup0.gpio1_0 */
@@ -257,3 +264,17 @@
status = "okay";
};
 };
+
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+   clock-frequency = <10>;
+
+   rtc0: rtc@56 {
+   compatible = "emmicro,em3027";
+   reg = <0x56>;
+   };
+};
+
+
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 06/18] ARM: am57xx: cl-som-am57x: dts: add spi-flash support

2015-11-24 Thread Dmitry Lifshitz
On-board spi-flash chip is used as a main boot device.
Add spi-flash chip support (over QSPI bus).

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 41 +++
 1 file changed, 41 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index ed50a75..cf2328d 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -93,6 +93,17 @@
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_a22.mmc2_dat7 */
>;
};
+
+   qspi1_pins: pinmux_qspi1_pins {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3474, PIN_INPUT | MUX_MODE1)
/* gpmc_a13.qspi1_rtclk */
+   DRA7XX_CORE_IOPAD(0x3480, PIN_INPUT | MUX_MODE1)
/* gpmc_a16.qspi1_d0 */
+   DRA7XX_CORE_IOPAD(0x3484, PIN_INPUT | MUX_MODE1)
/* gpmc_a17.qspi1_d1 */
+   DRA7XX_CORE_IOPAD(0x3488, PIN_INPUT | MUX_MODE1)
/* qpmc_a18.qspi1_sclk */
+   DRA7XX_CORE_IOPAD(0x34b8, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_cs2.qspi1_cs0 */
+   DRA7XX_CORE_IOPAD(0x34bc, PIN_INPUT_PULLUP | MUX_MODE1) 
/* gpmc_cs3.qspi1_cs1 */
+   >;
+   };
 };
 
  {
@@ -331,3 +342,33 @@
cap-mmc-dual-data-rate;
 };
 
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+
+   spi_flash: spi_flash@0 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "jedec,spi-nor";
+   reg = <0>;  /* CS0 */
+   spi-max-frequency = <2000>;
+   spi-tx-bus-width = <1>;
+   spi-rx-bus-width = <1>;
+
+   partition@0 {
+   label = "uboot";
+   reg = <0x0 0xc>;
+   };
+
+   partition@c {
+   label = "uboot environment";
+   reg = <0xc 0x4>;
+   };
+
+   partition@10 {
+   label = "reserved";
+   reg = <0x10 0x0>;
+   };
+   };
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 09/18] ARM: am57xx: cl-som-am57x: dts: add touchscreen support

2015-11-24 Thread Dmitry Lifshitz
Add ADS7846 touchscreen support.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 44 +++
 1 file changed, 44 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index eba12a4..1830d4f 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -43,6 +43,13 @@
regulator-min-microvolt = <330>;
regulator-max-microvolt = <330>;
};
+
+   ads7846reg: fixedregulator-ads7846-reg {
+   compatible = "regulator-fixed";
+   regulator-name = "ads7846-reg";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   };
 };
 
 _pmx_core {
@@ -183,6 +190,12 @@
DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT | MUX_MODE15)
>;
};
+
+   ads7846_pins: pinmux_ads7846_pins {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3464, PIN_INPUT_PULLDOWN | 
MUX_MODE14) /* gpmc_a9.gpio1_31 */
+   >;
+   };
 };
 
  {
@@ -450,6 +463,37 @@
reg = <0x10 0x0>;
};
};
+
+   /* touch controller */
+   ads7846@0 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+
+   compatible = "ti,ads7846";
+   vcc-supply = <>;
+
+   reg = <1>;  /* CS1 */
+   spi-max-frequency = <150>;
+
+   interrupt-parent = <>;
+   interrupts = <31 0>;
+   pendown-gpio = < 31 0>;
+
+
+   ti,x-min = /bits/ 16 <0x0>;
+   ti,x-max = /bits/ 16 <0x0fff>;
+   ti,y-min = /bits/ 16 <0x0>;
+   ti,y-max = /bits/ 16 <0x0fff>;
+
+   ti,x-plate-ohms = /bits/ 16 <180>;
+   ti,pressure-max = /bits/ 16 <255>;
+
+   ti,debounce-max = /bits/ 16 <30>;
+   ti,debounce-tol = /bits/ 16 <10>;
+   ti,debounce-rep = /bits/ 16 <1>;
+
+   linux,wakeup;
+   };
 };
 
  {
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 04/18] ARM: am57xx: cl-som-am57x: dts: add EEPROM support

2015-11-24 Thread Dmitry Lifshitz
On-board EEPROM chip is used for storing a board production
info.

Add module EEPROM support (over I2C4 bus).

Signed-off-by: Dmitry Lifshitz 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index eb9b81b..b6919a7 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -289,6 +289,12 @@
compatible = "emmicro,em3027";
reg = <0x56>;
};
+
+   eeprom_module: atmel@50 {
+   compatible = "atmel,24c02";
+   reg = <0x50>;
+   pagesize = <16>;
+   };
 };
 
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 00/18] Add support for CL-SOM-AM57X and SBC-AM57X

2015-11-24 Thread Dmitry Lifshitz
This patch series adds support for CompuLab CL-SOM-AM57X and
SBC-AM57X boards.

CL-SOM-AM57x is a miniature System-on-Module (SoM) based on
TI Sitara AM57x ARM Cortex-A15 System-on-Chip family.

SBC-AM57x is a single board computer, implemented with the
CL-SOM-AM57x computer-on-module providing most of the functions,
and SB-SOM-AM57x carrier board providing additional peripheral
functions and connectors.

The SBC-AM57x has the following features:


CPU:Texas Instruments Sitara AM5728 dual-core ARM Cortex-A15, 
1.5GHz or
Texas Instruments Sitara AM5718 single-core ARM Cortex-A15, 
1.5GHz

RAM:DDR3, 512MB – 4GB

Storage:NAND flash, 512MB - 1GB or eMMC flash, 4GB - 32GB
SPI-flash 2MB

Ethernet:   Up to 2x 10/100/1000Mbps Ethernet ports (MAC+PHY)

WiFi/BT:802.11b/g/n WiFi interface (TI WiLink 8 WL1801 chipset) or
Dual-band 2x2 802.11a/b/g/n WiFi interface (TI WiLink 8 WL1837 
chipset)

Analog Audio:   Audio codec with stereo output, stereo input and microphone 
support

More details can be found here:

https://www.compulab.co.il/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/

https://www.compulab.co.il/products/sbcs/sbc-am57x-ti-am5728-am5718-single-board-computer/

This series is based on the following patch set ("Add support for sbc-t43" 
Nikita Kiryanov):

https://www.mail-archive.com/linux-omap@vger.kernel.org/msg121614.html

Dmitry Lifshitz (18):
  ARM: am57xx: cl-som-am57x: dts: add basic module support
  ARM: am57xx: cl-som-am57x: dts: add RTC support
  ARM: am57xx: cl-som-am57x: dts: add I2C3 support
  ARM: am57xx: cl-som-am57x: dts: add EEPROM support
  ARM: am57xx: cl-som-am57x: dts: add eMMC support
  ARM: am57xx: cl-som-am57x: dts: add spi-flash support
  ARM: am57xx: cl-som-am57x: dts: add dual EMAC support
  ARM: am57xx: cl-som-am57x: dts: add USB support
  ARM: am57xx: cl-som-am57x: dts: add touchscreen support
  ARM: am57xx: cl-som-am57x: dts: add analog audio support
  ARM: am57xx: sbc-am57x: dts: add basic board support
  ARM: am57xx: cl-som-am57x: dts: add MMC1 support
  ARM: am57xx: sbc-am57x: dts: add usb vbus pinmux
  ARM: am57xx: sbc-am57x: dts: add EEPROM support
  ARM: am57xx: sbc-am57x: dts: add GPIO extender support
  ARM: am57xx: sbc-am57x: dts: add LCD support
  ARM: am57xx: compulab-sb-som: dts: add HDMI connector
  ARM: am57xx: sbc-am57x: dts: add HDMI support

 .../devicetree/bindings/arm/omap/omap.txt  |   6 +
 arch/arm/boot/dts/Makefile |   4 +-
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts  | 606 +
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 179 ++
 arch/arm/boot/dts/compulab-sb-som.dtsi |   7 +
 5 files changed, 801 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/am57xx-cl-som-am57x.dts
 create mode 100644 arch/arm/boot/dts/am57xx-sbc-am57x.dts

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 03/18] ARM: am57xx: cl-som-am57x: dts: add I2C3 support

2015-11-24 Thread Dmitry Lifshitz
Enable I2C3 bus and add appropriate pinmux.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index 773e5389..eb9b81b 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -52,6 +52,13 @@
>;
};
 
+   i2c3_pins_default: i2c3_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x36a4, PIN_INPUT| MUX_MODE10)
/* mcasp1_aclkx.i2c3_sda */
+   DRA7XX_CORE_IOPAD(0x36a8, PIN_INPUT| MUX_MODE10)
/* mcasp1_fsx.i2c3_scl */
+   >;
+   };
+
i2c4_pins_default: i2c4_pins_default {
pinctrl-single,pins = <
DRA7XX_CORE_IOPAD(0x36ac, PIN_INPUT| MUX_MODE10)
/* mcasp1_acl.i2c4_sda */
@@ -265,6 +272,13 @@
};
 };
 
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+   clock-frequency = <40>;
+};
+
  {
status = "okay";
pinctrl-names = "default";
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 14/18] ARM: am57xx: sbc-am57x: dts: add EEPROM support

2015-11-24 Thread Dmitry Lifshitz
On-board EEPROM chip is used for storing a board production info.

Add carrier board EEPROM support (over I2C5 bus).

Signed-off-by: Dmitry Lifshitz 
---
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 20 
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
index b92650b..7b65efb 100644
--- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -44,6 +44,13 @@
DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) 
/* usb1_drvvbus */
>;
};
+
+   i2c5_pins_default: i2c5_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10)
/* mcasp1_axr0.i2c5_sda */
+   DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10)
/* mcasp1_axr1.i2c5_scl */
+   >;
+   };
 };
 
  {
@@ -71,3 +78,16 @@
pinctrl-names = "default";
pinctrl-0 = <_pins>;
 };
+
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+   clock-frequency = <40>;
+
+   eeprom_base: atmel@50 {
+   compatible = "atmel,24c08";
+   reg = <0x50>;
+   pagesize = <16>;
+   };
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 12/18] ARM: am57xx: cl-som-am57x: dts: add MMC1 support

2015-11-24 Thread Dmitry Lifshitz
Add MMC1 support, used for SD/MMC card.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
index 804ad72..67e7f4a 100644
--- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -24,6 +24,20 @@
DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_SLEW | MUX_MODE1)   
/* uart2_rtsn.uart3_txd */
>;
};
+
+   mmc1_pins_default: mmc1_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14)   
/* mmc1sdcd.gpio219 */
+   DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) 
/* mmc1_clk.clk */
+   DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) 
/* mmc1_cmd.cmd */
+   DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) 
/* mmc1_dat0.dat0 */
+   DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) 
/* mmc1_dat1.dat1 */
+   DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) 
/* mmc1_dat2.dat2 */
+   DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) 
/* mmc1_dat3.dat3 */
+   DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT | MUX_MODE14)   
/* mmc1_sdcd.gpio6_27 */
+   DRA7XX_CORE_IOPAD(0x3770, PIN_INPUT | MUX_MODE14)   
/* mmc1_sdwp.gpio6_28 */
+   >;
+   };
 };
 
  {
@@ -34,3 +48,15 @@
pinctrl-names = "default";
pinctrl-0 = <_pins_default>;
 };
+
+ {
+   status = "okay";
+
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+
+   vmmc-supply = <_reg>;
+   bus-width = <4>;
+   cd-gpios = < 27 GPIO_ACTIVE_LOW>;
+   wp-gpios = < 28 GPIO_ACTIVE_HIGH>;
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 10/18] ARM: am57xx: cl-som-am57x: dts: add analog audio support

2015-11-24 Thread Dmitry Lifshitz
Add analog audio DT nodes:

1. simple-audio-card node
2. wm8731 codec node
3. MCASP3 pinmux

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 67 +++
 1 file changed, 67 insertions(+)

diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts 
b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
index 1830d4f..f7bec0d 100644
--- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -50,6 +50,33 @@
regulator-min-microvolt = <330>;
regulator-max-microvolt = <330>;
};
+
+   sound0: sound@0 {
+   compatible = "simple-audio-card";
+   simple-audio-card,name = "CL-SOM-AM57x-Sound-Card";
+   simple-audio-card,format = "i2s";
+   simple-audio-card,bitclock-master = <_master>;
+   simple-audio-card,frame-master = <_master>;
+   simple-audio-card,widgets =
+   "Headphone", "Headphone Jack",
+   "Microphone", "Microphone Jack",
+   "Line", "Line Jack";
+   simple-audio-card,routing =
+   "Headphone Jack", "RHPOUT",
+   "Headphone Jack", "LHPOUT",
+   "LLINEIN", "Line Jack",
+   "MICIN", "Mic Bias",
+   "Mic Bias", "Microphone Jack";
+
+   dailink0_master: simple-audio-card,cpu {
+   sound-dai = <>;
+   };
+
+   simple-audio-card,codec {
+   sound-dai = <>;
+   system-clock-frequency = <1200>;
+   };
+   };
 };
 
 _pmx_core {
@@ -196,6 +223,24 @@
DRA7XX_CORE_IOPAD(0x3464, PIN_INPUT_PULLDOWN | 
MUX_MODE14) /* gpmc_a9.gpio1_31 */
>;
};
+
+   mcasp3_pins_default: mcasp3_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT_PULLDOWN | 
MUX_MODE0) /* mcasp3_aclkx.mcasp3_aclkx */
+   DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT_PULLDOWN | 
MUX_MODE0) /* mcasp3_fsx.mcasp3_fsx */
+   DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | 
MUX_MODE0) /* mcasp3_axr0.mcasp3_axr0 */
+   DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | 
MUX_MODE0) /* mcasp3_axr1.mcasp3_axr1 */
+   >;
+   };
+
+   mcasp3_pins_sleep: mcasp3_pins_sleep {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x372c, PIN_INPUT | MUX_MODE15)
+   DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT | MUX_MODE15)
+   >;
+   };
 };
 
  {
@@ -420,6 +465,13 @@
reg = <0x50>;
pagesize = <16>;
};
+
+   wm8731: wm8731@1a {
+   #sound-dai-cells = <0>;
+   compatible = "wlf,wm8731";
+   reg = <0x1a>;
+   status = "okay";
+   };
 };
 
  {
@@ -537,3 +589,18 @@
  {
dr_mode = "peripheral";
 };
+
+ {
+   #sound-dai-cells = <0>;
+   pinctrl-names = "default", "sleep";
+   pinctrl-0 = <_pins_default>;
+   pinctrl-1 = <_pins_sleep>;
+   status = "okay";
+
+   op-mode = <0>;  /* MCASP_IIS_MODE */
+   tdm-slots = <2>;
+   /* 4 serializers */
+   serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+   1 2 0 0
+   >;
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 11/18] ARM: am57xx: sbc-am57x: dts: add basic board support

2015-11-24 Thread Dmitry Lifshitz
SBC-AM57x is a single board computer designed for industrial and
embedded applications. It is based on the Texas Instruments Sitara AM57x
system-on-chip family. SBC-AM57x is implemented with the CL-SOM-AM57x
computer-on-module providing most of the functions, and SB-SOM-AM57x
carrier board providing additional peripheral functions and connectors.

https://www.compulab.co.il/products/sbcs/sbc-am57x-ti-am5728-am5718-single-board-computer/

https://www.compulab.co.il/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/

Add basic board support, including UART3, used as a serial console.

Signed-off-by: Dmitry Lifshitz 
Acked-by: Igor Grinberg 
---
 .../devicetree/bindings/arm/omap/omap.txt  |  3 ++
 arch/arm/boot/dts/Makefile |  1 +
 arch/arm/boot/dts/am57xx-sbc-am57x.dts | 36 ++
 3 files changed, 40 insertions(+)
 create mode 100644 arch/arm/boot/dts/am57xx-sbc-am57x.dts

diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt 
b/Documentation/devicetree/bindings/arm/omap/omap.txt
index dd53c90..42cdad1 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -159,6 +159,9 @@ Boards:
 - AM57XX CL-SOM-AM57x
   compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", 
"ti,dra7"
 
+- AM57XX SBC-AM57x
+  compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", 
"ti,dra742", "ti,dra74", "ti,dra7"
+
 - DRA742 EVM:  Software Development Board for DRA742
   compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
 
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 803a020..4c73ab9 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -479,6 +479,7 @@ dtb-$(CONFIG_SOC_OMAP5) += \
 dtb-$(CONFIG_SOC_DRA7XX) += \
am57xx-beagle-x15.dtb \
am57xx-cl-som-am57x.dtb \
+   am57xx-sbc-am57x.dtb \
dra7-evm.dtb \
dra72-evm.dtb
 dtb-$(CONFIG_ARCH_ORION5X) += \
diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts 
b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
new file mode 100644
index 000..804ad72
--- /dev/null
+++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts
@@ -0,0 +1,36 @@
+/*
+ * Support for CompuLab SBC-AM57x single board computer
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Dmitry Lifshitz 
+ *
+ * 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.
+ */
+
+#include "am57xx-cl-som-am57x.dts"
+#include "compulab-sb-som.dtsi"
+
+/ {
+   model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
+   compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", 
"ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
+};
+
+_pmx_core {
+   uart3_pins_default: uart3_pins_default {
+   pinctrl-single,pins = <
+   DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_SLEW | MUX_MODE2)   
/* uart2_ctsn.uart3_rxd */
+   DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_SLEW | MUX_MODE1)   
/* uart2_rtsn.uart3_txd */
+   >;
+   };
+};
+
+ {
+   status = "okay";
+   interrupts-extended = <_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
+ <_pmx_core 0x3f8>;
+
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins_default>;
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Clock usbhost_48m_fck didn't enable in 100000 tries and crash

2015-11-24 Thread Daniel.
Doing some printk mess I found that the usbhost_48m_fck is enabled. So
my problem should be another thing:

clock.c:omap2_dflt_clk_enable@193: usbhost_48m_fck enable_reg value 0x01

2015-11-23 18:10 GMT-02:00 Michael Trimarchi :
> Hi
>
> Can you check if you have this patch in?
>
> commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2
> Author: Paul Walmsley 
> Date:   Fri Jul 24 19:44:06 2009 -0600
>
> OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB
>
> Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS,
> USBHOST, and HSOTGUSB devices.  These devices are both interconnect
> initiators and targets.  Without this patch, clk_enable()s on clocks for
> these modules can be very high latency (potentially up to ~200
> milliseconds) and message such as the following are generated:
>
> Clock usbhost_48m_fck didn't enable in 10 tries
>
> Two bugs are fixed by this patch.  First, OMAP hardware only supports
> target CM_IDLEST register bits on ES2+ chips and beyond.  ES1 chips
> should not wait for these clocks to enable.  So, split the appropriate
> clocks into ES1 and ES2+ variants, so that kernels running on ES1
> devices won't try to wait.
>
> Second, the current heuristic in omap2_clk_dflt_find_idlest() will
> fail for these clocks.  It assumes that the CM_IDLEST bit to wait upon
> is the same as the CM_*CLKEN bit, which is false[1].  Fix by
> implementing custom clkops .find_idlest function pointers for the
> appropriate clocks that return the correct slave IDLEST bit shift.
>
> This was originally fixed in the linux-omap kernel during 2.6.29 in a
> slightly different manner[2][3].
>
>
> On Mon, Nov 23, 2015 at 9:06 PM, Daniel.  wrote:
>> Hi,
>>
>> Building as built-in doesn't solve my problem. The difference is that
>> when compiled as module the dump shows up when I load it, and when is
>> built-in the dump shows up at boot time. Also when built-in the
>> problem seems to ocurr when device is reseted (on ehci_omap_stop) and
>> the first stack dump is followed by much more other dumps. At the end
>> I can see something like: "Fixing recursive fault but reboot is
>> needed!"
>>
>>
>> Here is the module info:
>> root@csi:~# modinfo ehci-hcd
>> filename:   /lib/modules/2.6.37+/kernel/drivers/usb/host/ehci-hcd.ko
>> author: Felipe Balbi 
>> author: Texas Instruments, Inc.
>> alias:  platform:omap-ehci
>> license:GPL
>> author: David Brownell
>> description:USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>> srcversion: B282C11CACFB9E75921367C
>> depends:
>> vermagic:   2.6.37+ mod_unload modversions ARMv7
>> parm:   log2_irq_thresh:log2 IRQ latency, 1-64 microframes (int)
>> parm:   park:park setting; 1-3 back-to-back async packets (uint)
>> parm:   ignore_oc:ignore bogus hardware overcurrent indications 
>> (bool)
>> parm:   hird:host initiated resume duration, +1 for each 75us
>>  (int)
>> root@csi:~#
>>
>>
>> Best regards,
>>
>> 2015-11-23 17:55 GMT-02:00 Michael Trimarchi :
>>> Hi
>>>
>>> On Mon, Nov 23, 2015 at 8:05 PM, Daniel.  wrote:
 Hi Michael,

 It's a plain linux. I'm considering upgrading kernel as last option.
 Variscite doesn't
 support another kernel for this SoM so this would be a really hard
 work. I'm looking
 for a solution on this kernel and mainly trying to understand why
 usbhost_48m_fck
 is not getting enabled. I'm contacting Variscite in parallel.

>>>
>>> Can you point me to te module description? I think that the module
>>> is working if it's compiled in. Correct?
>>>
>>> Michael
>>>
>>>
 Thanks for your reply, best regards!

 2015-11-23 16:57 GMT-02:00 Michael Trimarchi 
 :
> Hi Daniel
>
>
> On Mon, Nov 23, 2015 at 7:45 PM, Daniel.  wrote:
>> Hi every body!
>>
>> I'm running a (2.6.37) kernel based on linux-omap tree
>> (http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary).
>> The board is a SoM from Variscite (var-som-am3517).
>>
>> I've compiled the ehci-hcd as a module. When I enable it I got this dump:
>> http://pastebin.com/5idXXBBi
>>
>
> Do you have an android device? or it's just plain linux.
> For option 2 I suggest to move on newest kernel
>
> Michael
>
>> Googling arroud I found that this can be triggered while trying to
>> access uhh registers when usbhost_48m_fck is not enabled. This is what
>> I think is happening since the message
>> "Clock usbhost_48m_fck didn't enable in 10 tries" is aways present
>> before the crash, and since the crash happens at first read o uhh
>> registers. I just can't figure out why 

Re: Clock usbhost_48m_fck didn't enable in 100000 tries and crash

2015-11-24 Thread Michael Trimarchi
Hi

Do you have /sys/kernel/debug/clk/clock_summary?

Michael

On Tue, Nov 24, 2015 at 7:50 PM, Daniel.  wrote:
> Doing some printk mess I found that the usbhost_48m_fck is enabled. So
> my problem should be another thing:
>
> clock.c:omap2_dflt_clk_enable@193: usbhost_48m_fck enable_reg value 0x01
>
> 2015-11-23 18:10 GMT-02:00 Michael Trimarchi :
>> Hi
>>
>> Can you check if you have this patch in?
>>
>> commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2
>> Author: Paul Walmsley 
>> Date:   Fri Jul 24 19:44:06 2009 -0600
>>
>> OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB
>>
>> Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS,
>> USBHOST, and HSOTGUSB devices.  These devices are both interconnect
>> initiators and targets.  Without this patch, clk_enable()s on clocks for
>> these modules can be very high latency (potentially up to ~200
>> milliseconds) and message such as the following are generated:
>>
>> Clock usbhost_48m_fck didn't enable in 10 tries
>>
>> Two bugs are fixed by this patch.  First, OMAP hardware only supports
>> target CM_IDLEST register bits on ES2+ chips and beyond.  ES1 chips
>> should not wait for these clocks to enable.  So, split the appropriate
>> clocks into ES1 and ES2+ variants, so that kernels running on ES1
>> devices won't try to wait.
>>
>> Second, the current heuristic in omap2_clk_dflt_find_idlest() will
>> fail for these clocks.  It assumes that the CM_IDLEST bit to wait upon
>> is the same as the CM_*CLKEN bit, which is false[1].  Fix by
>> implementing custom clkops .find_idlest function pointers for the
>> appropriate clocks that return the correct slave IDLEST bit shift.
>>
>> This was originally fixed in the linux-omap kernel during 2.6.29 in a
>> slightly different manner[2][3].
>>
>>
>> On Mon, Nov 23, 2015 at 9:06 PM, Daniel.  wrote:
>>> Hi,
>>>
>>> Building as built-in doesn't solve my problem. The difference is that
>>> when compiled as module the dump shows up when I load it, and when is
>>> built-in the dump shows up at boot time. Also when built-in the
>>> problem seems to ocurr when device is reseted (on ehci_omap_stop) and
>>> the first stack dump is followed by much more other dumps. At the end
>>> I can see something like: "Fixing recursive fault but reboot is
>>> needed!"
>>>
>>>
>>> Here is the module info:
>>> root@csi:~# modinfo ehci-hcd
>>> filename:   /lib/modules/2.6.37+/kernel/drivers/usb/host/ehci-hcd.ko
>>> author: Felipe Balbi 
>>> author: Texas Instruments, Inc.
>>> alias:  platform:omap-ehci
>>> license:GPL
>>> author: David Brownell
>>> description:USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>>> srcversion: B282C11CACFB9E75921367C
>>> depends:
>>> vermagic:   2.6.37+ mod_unload modversions ARMv7
>>> parm:   log2_irq_thresh:log2 IRQ latency, 1-64 microframes (int)
>>> parm:   park:park setting; 1-3 back-to-back async packets (uint)
>>> parm:   ignore_oc:ignore bogus hardware overcurrent indications 
>>> (bool)
>>> parm:   hird:host initiated resume duration, +1 for each 75us
>>>  (int)
>>> root@csi:~#
>>>
>>>
>>> Best regards,
>>>
>>> 2015-11-23 17:55 GMT-02:00 Michael Trimarchi :
 Hi

 On Mon, Nov 23, 2015 at 8:05 PM, Daniel.  wrote:
> Hi Michael,
>
> It's a plain linux. I'm considering upgrading kernel as last option.
> Variscite doesn't
> support another kernel for this SoM so this would be a really hard
> work. I'm looking
> for a solution on this kernel and mainly trying to understand why
> usbhost_48m_fck
> is not getting enabled. I'm contacting Variscite in parallel.
>

 Can you point me to te module description? I think that the module
 is working if it's compiled in. Correct?

 Michael


> Thanks for your reply, best regards!
>
> 2015-11-23 16:57 GMT-02:00 Michael Trimarchi 
> :
>> Hi Daniel
>>
>>
>> On Mon, Nov 23, 2015 at 7:45 PM, Daniel.  wrote:
>>> Hi every body!
>>>
>>> I'm running a (2.6.37) kernel based on linux-omap tree
>>> (http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary).
>>> The board is a SoM from Variscite (var-som-am3517).
>>>
>>> I've compiled the ehci-hcd as a module. When I enable it I got this 
>>> dump:
>>> http://pastebin.com/5idXXBBi
>>>
>>
>> Do you have an android device? or it's just plain linux.
>> For option 2 I suggest to move on newest kernel
>>
>> Michael
>>
>>> Googling arroud I found that this can be triggered while trying to
>>> access uhh registers when usbhost_48m_fck is 

Re: [PATCH v2 3/3] ARM: BCM5301X: remove workaround imprecise abort fault handler

2015-11-24 Thread Florian Fainelli
On 15/10/15 03:32, Lucas Stach wrote:
> This is not needed anymore. Handling a potentially pending imprecise external
> abort left behind by the bootloader is now done in a slightly safer way inside
> the common ARM startup code.
> 
> Signed-off-by: Lucas Stach 
> Acked-by: Hauke Mehrtens 

Applied to soc/next, thanks!
-- 
Florian
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] clk: ti: drop locking code from mux/divider drivers

2015-11-24 Thread Tero Kristo

On 10/24/2015 12:10 AM, Grygorii Strashko wrote:

On 10/01/2015 10:20 PM, Grygorii Strashko wrote:

TI's mux and divider clock drivers do not require locking and they do
not initialize internal spinlocks. This code was occasionally
copy-posted from generic mux/divider drivers. So remove it.

Cc: Tony Lindgren 
Cc: Sekhar Nori 
Signed-off-by: Grygorii Strashko 
---


Gentle ping.


Queued for 4.4-rc-fixes, thanks.

-Tero




  drivers/clk/ti/divider.c | 16 +++-
  drivers/clk/ti/mux.c | 15 +++
  2 files changed, 6 insertions(+), 25 deletions(-)





--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ti/clkt_dpll: fix wrong do_div() usage

2015-11-24 Thread Tero Kristo

On 11/04/2015 06:09 AM, Nicolas Pitre wrote:

do_div() is meant to be used with an unsigned dividend.

Signed-off-by: Nicolas Pitre 


Fixed Subject locally to format "clk: ti: %s".

Queued for 4.4-rc fixes, thanks.

-Tero



diff --git a/drivers/clk/ti/clkt_dpll.c b/drivers/clk/ti/clkt_dpll.c
index 9023ca9caf..b5cc6f66ae 100644
--- a/drivers/clk/ti/clkt_dpll.c
+++ b/drivers/clk/ti/clkt_dpll.c
@@ -240,7 +240,7 @@ u8 omap2_init_dpll_parent(struct clk_hw *hw)
   */
  unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk)
  {
-   long long dpll_clk;
+   u64 dpll_clk;
u32 dpll_mult, dpll_div, v;
struct dpll_data *dd;

@@ -262,7 +262,7 @@ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk)
dpll_div = v & dd->div1_mask;
dpll_div >>= __ffs(dd->div1_mask);

-   dpll_clk = (long long)clk_get_rate(dd->clk_ref) * dpll_mult;
+   dpll_clk = (u64)clk_get_rate(dd->clk_ref) * dpll_mult;
do_div(dpll_clk, dpll_div + 1);

return dpll_clk;



--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT PULL] clk: ti: fixes for 4.4-rc

2015-11-24 Thread Tero Kristo

Hi Michael, Stephen,

Here are some TI clock driver fixes for 4.4-rc.

-Tero



The following changes since commit 8005c49d9aea74d382f474ce11afbbc7d7130bec:

  Linux 4.4-rc1 (2015-11-15 17:00:27 -0800)

are available in the git repository at:

  https://github.com/t-kristo/linux-pm.git for-4.4-rc/ti-clk-fixes

for you to fetch changes up to 167af5ef2cdba14ff14a13c91e5532ed479083d8:

  clk: ti: drop locking code from mux/divider drivers (2015-11-24 
11:30:27 +0200)



Grygorii Strashko (1):
  clk: ti: drop locking code from mux/divider drivers

Neil Armstrong (1):
  clk: ti816x: Add missing dmtimer clkdev entries

Nicolas Pitre (2):
  clk: ti: clkt_dpll: fix wrong do_div() usage
  clk: ti: fapll: fix wrong do_div() usage

 drivers/clk/ti/clk-816x.c  |2 ++
 drivers/clk/ti/clkt_dpll.c |4 ++--
 drivers/clk/ti/divider.c   |   16 +++-
 drivers/clk/ti/fapll.c |4 ++--
 drivers/clk/ti/mux.c   |   15 +++
 5 files changed, 12 insertions(+), 29 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ti/fapll: fix wrong do_div() usage

2015-11-24 Thread Tero Kristo

On 11/04/2015 06:17 AM, Nicolas Pitre wrote:

do_div() is meant to be used with an unsigned dividend.

Signed-off-by: Nicolas Pitre 


Fixed Subject locally to format "clk: ti: %s".

Queued for 4.4-rc-fixes, thanks.

-Tero



diff --git a/drivers/clk/ti/fapll.c b/drivers/clk/ti/fapll.c
index f4b2e9888b..66a0d0ed8b 100644
--- a/drivers/clk/ti/fapll.c
+++ b/drivers/clk/ti/fapll.c
@@ -168,7 +168,7 @@ static unsigned long ti_fapll_recalc_rate(struct clk_hw *hw,
  {
struct fapll_data *fd = to_fapll(hw);
u32 fapll_n, fapll_p, v;
-   long long rate;
+   u64 rate;

if (ti_fapll_clock_is_bypass(fd))
return parent_rate;
@@ -314,7 +314,7 @@ static unsigned long ti_fapll_synth_recalc_rate(struct 
clk_hw *hw,
  {
struct fapll_synth *synth = to_synth(hw);
u32 synth_div_m;
-   long long rate;
+   u64 rate;

/* The audio_pll_clk1 is hardwired to produce 32.768KiHz clock */
if (!synth->div)



--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 2/4] clk: ti816x: Add missing dmtimer clkdev entries

2015-11-24 Thread Tero Kristo

On 11/13/2015 06:29 PM, Neil Armstrong wrote:

Add missing clkdev dmtimer related entries for dm816x.
32Khz and ext sources were missing.

Cc: Brian Hutchinson 
Acked-by: Tony Lindgren 
Signed-off-by: Neil Armstrong 


Your own sign-off should be at the top of the list, fixed this locally 
myself.


Queued for 4.4-rc-fixes, thanks.

-Tero


---
  drivers/clk/ti/clk-816x.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/clk/ti/clk-816x.c b/drivers/clk/ti/clk-816x.c
index 1dfad0c..2a5d84f 100644
--- a/drivers/clk/ti/clk-816x.c
+++ b/drivers/clk/ti/clk-816x.c
@@ -20,6 +20,8 @@ static struct ti_dt_clk dm816x_clks[] = {
DT_CLK(NULL, "sys_clkin", "sys_clkin_ck"),
DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"),
DT_CLK(NULL, "sys_32k_ck", "sys_32k_ck"),
+   DT_CLK(NULL, "timer_32k_ck", "sysclk18_ck"),
+   DT_CLK(NULL, "timer_ext_ck", "tclkin_ck"),
DT_CLK(NULL, "mpu_ck", "mpu_ck"),
DT_CLK(NULL, "timer1_fck", "timer1_fck"),
DT_CLK(NULL, "timer2_fck", "timer2_fck"),



--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [patch] OMAPDSS: DSI: cleanup DSI_IRQ_ERROR_MASK define

2015-11-24 Thread Tomi Valkeinen


On 23/11/15 20:22, Dan Carpenter wrote:
> DSI_IRQ_SYNC_LOST was ORed twice so we can remove one.
> 
> Signed-off-by: Dan Carpenter 
> 
> diff --git a/drivers/video/fbdev/omap2/dss/dsi.c 
> b/drivers/video/fbdev/omap2/dss/dsi.c
> index b3606de..e86df6d 100644
> --- a/drivers/video/fbdev/omap2/dss/dsi.c
> +++ b/drivers/video/fbdev/omap2/dss/dsi.c
> @@ -144,7 +144,7 @@ struct dsi_reg { u16 module; u16 idx; };
>  #define DSI_IRQ_TA_TIMEOUT   (1 << 20)
>  #define DSI_IRQ_ERROR_MASK \
>   (DSI_IRQ_HS_TX_TIMEOUT | DSI_IRQ_LP_RX_TIMEOUT | DSI_IRQ_SYNC_LOST | \
> - DSI_IRQ_TA_TIMEOUT | DSI_IRQ_SYNC_LOST)
> + DSI_IRQ_TA_TIMEOUT)
>  #define DSI_IRQ_CHANNEL_MASK 0xf
>  
>  /* Virtual channel interrupts */
> 

Thanks, queued for 4.5.

 Tomi



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] OMAPDSS: DISPC: Remove boolean comparisons

2015-11-24 Thread Tomi Valkeinen


On 15/10/15 15:29, Luis de Bethencourt wrote:
> Boolean tests do not need explicit comparison to true or false.
> 
> Signed-off-by: Luis de Bethencourt 
> ---
>  drivers/video/fbdev/omap2/dss/dispc-compat.c | 6 +++---
>  drivers/video/fbdev/omap2/dss/dispc.c| 6 +++---
>  drivers/video/fbdev/omap2/dss/manager.c  | 2 +-
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 

Thanks, queued for 4.5.

 Tomi



signature.asc
Description: OpenPGP digital signature


Re: PCIe regression with DRA7xx in 4.4-rc1

2015-11-24 Thread Kishon Vijay Abraham I
Hi,

On Tuesday 24 November 2015 05:38 PM, Gabriele Paoloni wrote:
> Hi Kishon
> 
>> -Original Message-
>> From: Kishon Vijay Abraham I [mailto:kis...@ti.com]
>> Sent: 24 November 2015 12:01
>> To: linux-...@vger.kernel.org; linux-ker...@vger.kernel.org; linux-
>> o...@vger.kernel.org; james.mo...@arm.com; gabriel.fernan...@st.com;
>> minghuan.l...@freescale.com; Wangzhou (B); Gabriele Paoloni; a...@arndb.de;
>> bhelg...@google.com; pratyush.an...@gmail.com; Nori, Sekhar;
>> jingooh...@gmail.com; linux-arm-ker...@lists.infradead.org
>> Subject: PCIe regression with DRA7xx in 4.4-rc1
>>
>> Hi,
>>
>> I'm seeing a regression with ("PCI:
>> designware: Make driver arch-agnostic").
>>
>> Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that
>> I
>> observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O
>> error, err_mask=0x4)"
>>
> 
> May this be related to the bug flagged in:
> 
> [PATCH] PCI: designware: remove wrong io_base assignment
> 
> [...]
> diff --git a/drivers/pci/host/pcie-designware.c 
> b/drivers/pci/host/pcie-designware.c
> index 540f077c37ea..02a7452bdf23 100644
> --- a/drivers/pci/host/pcie-designware.c
> +++ b/drivers/pci/host/pcie-designware.c
> @@ -440,7 +440,6 @@ int dw_pcie_host_init(struct pcie_port *pp)
>ret, pp->io);
>   continue;
>   }
> - pp->io_base = pp->io->start;
>   break;
>   case IORESOURCE_MEM:
>   pp->mem = win->res;
> 


yes, this indeed solved the bug.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PCIe regression with DRA7xx in 4.4-rc1

2015-11-24 Thread Jisheng Zhang


On Tue, 24 Nov 2015 17:31:07 +0530
Kishon Vijay Abraham I wrote:

> Hi,
> 
> I'm seeing a regression with ("PCI:
> designware: Make driver arch-agnostic").
> 
> Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that 
> I
> observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O
> error, err_mask=0x4)"
> 
> Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine
> but when I give ifconfig up, it fails.
> 
> If I just revert commit , the PCIe
> cards starts to work fine again

FYI, maybe the patch can fix the regression.
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-November/387362.html

> 
> Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine.
> Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now.
> 
> Actually I'm not able to find any obvious problems with the patch and the irq
> number and the memory resource also looks fine. Any idea what could be the 
> problem?
> 
> [1] -> http://pastebin.ubuntu.com/13491456/
> [2] -> http://pastebin.ubuntu.com/13491526/
> 
> [3] -> http://pastebin.ubuntu.com/13491658/
> [4] -> http://pastebin.ubuntu.com/13491593/
> 
> Thanks
> Kishon
> 
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: PCIe regression with DRA7xx in 4.4-rc1

2015-11-24 Thread Gabriele Paoloni
Hi Kishon

> -Original Message-
> From: Kishon Vijay Abraham I [mailto:kis...@ti.com]
> Sent: 24 November 2015 12:01
> To: linux-...@vger.kernel.org; linux-ker...@vger.kernel.org; linux-
> o...@vger.kernel.org; james.mo...@arm.com; gabriel.fernan...@st.com;
> minghuan.l...@freescale.com; Wangzhou (B); Gabriele Paoloni; a...@arndb.de;
> bhelg...@google.com; pratyush.an...@gmail.com; Nori, Sekhar;
> jingooh...@gmail.com; linux-arm-ker...@lists.infradead.org
> Subject: PCIe regression with DRA7xx in 4.4-rc1
> 
> Hi,
> 
> I'm seeing a regression with ("PCI:
> designware: Make driver arch-agnostic").
> 
> Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that
> I
> observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O
> error, err_mask=0x4)"
> 

May this be related to the bug flagged in:

[PATCH] PCI: designware: remove wrong io_base assignment

[...]
diff --git a/drivers/pci/host/pcie-designware.c 
b/drivers/pci/host/pcie-designware.c
index 540f077c37ea..02a7452bdf23 100644
--- a/drivers/pci/host/pcie-designware.c
+++ b/drivers/pci/host/pcie-designware.c
@@ -440,7 +440,6 @@ int dw_pcie_host_init(struct pcie_port *pp)
 ret, pp->io);
continue;
}
-   pp->io_base = pp->io->start;
break;
case IORESOURCE_MEM:
pp->mem = win->res;
-- 
1.7.9.5
[...]

Can you try to see if applying the patch above solves the issue?

Thanks

Gab

> Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine
> but when I give ifconfig up, it fails.
> 
> If I just revert commit , the PCIe
> cards starts to work fine again
> 
> Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine.
> Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now.
> 
> Actually I'm not able to find any obvious problems with the patch and the irq
> number and the memory resource also looks fine. Any idea what could be the
> problem?
> 
> [1] -> http://pastebin.ubuntu.com/13491456/
> [2] -> http://pastebin.ubuntu.com/13491526/
> 
> [3] -> http://pastebin.ubuntu.com/13491658/
> [4] -> http://pastebin.ubuntu.com/13491593/
> 
> Thanks
> Kishon


Re: [PATCH 1/3] video: omapdss: delete unneeded of_node_put

2015-11-24 Thread Tomi Valkeinen


On 12/10/15 23:43, Julia Lawall wrote:
> Device node iterators perform an of_node_put on each iteration, so putting
> an of_node_put before a continue results in a double put.
> 
> A simplified version of the semantic match that finds this problem is as
> follows (http://coccinelle.lip6.fr):
> 
> // 
> @@
> expression root,e;
> local idexpression child;
> iterator i;
> @@
> 
>  i(..., child, ...) {
>... when != of_node_get(child)
> *  of_node_put(child);
>...
> *  continue;
> }
> // 
> 
> Signed-off-by: Julia Lawall 
> 
> ---
>  drivers/video/fbdev/omap2/dss/omapdss-boot-init.c |4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)

Thanks, queued for 4.5.

 Tomi



signature.asc
Description: OpenPGP digital signature


PCIe regression with DRA7xx in 4.4-rc1

2015-11-24 Thread Kishon Vijay Abraham I
Hi,

I'm seeing a regression with ("PCI:
designware: Make driver arch-agnostic").

Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that I
observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O
error, err_mask=0x4)"

Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine
but when I give ifconfig up, it fails.

If I just revert commit , the PCIe
cards starts to work fine again

Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine.
Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now.

Actually I'm not able to find any obvious problems with the patch and the irq
number and the memory resource also looks fine. Any idea what could be the 
problem?

[1] -> http://pastebin.ubuntu.com/13491456/
[2] -> http://pastebin.ubuntu.com/13491526/

[3] -> http://pastebin.ubuntu.com/13491658/
[4] -> http://pastebin.ubuntu.com/13491593/

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 02/14] ARM: am437x: cm-t43: dts: add support for module eeprom

2015-11-24 Thread Nikita Kiryanov
CM-T43 has an on-board EEPROM on i2c bus 0. Add it to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 69887c4..a4cd2b8 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -51,6 +51,12 @@
pinctrl-names = "default";
pinctrl-0 = <_pins>;
clock-frequency = <10>;
+
+   eeprom_module: at24@50 {
+   compatible = "atmel,24c02";
+   reg = <0x50>;
+   pagesize = <16>;
+   };
 };
 
  {
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 09/14] ARM: am437x: cm-t43: dts: add touchscreen support

2015-11-24 Thread Nikita Kiryanov
AM437x has an internal touchscreen controller. Add support for it
on cm-t43.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 5ca4160..1842087 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -399,6 +399,20 @@
status = "okay";
 };
 
+ {
+   status = "okay";
+   tsc {
+   ti,wires = <4>;
+   ti,x-plate-resistance = <200>;
+   ti,coordiante-readouts = <5>;
+   ti,wire-config = <0x00 0x11 0x22 0x33>;
+   };
+
+   adc {
+   ti,adc-channels = <4 5 6 7>;
+   };
+};
+
  {
cpu0-supply = <>;
operating-points = <100 133>,
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 07/14] ARM: am437x: cm-t43: dts: add USB support

2015-11-24 Thread Nikita Kiryanov
Add USB support for CompuLab sbc-t43 single board computer,
defaulting to host mode.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts  | 30 ++
 arch/arm/boot/dts/am437x-sbc-t43.dts | 22 ++
 2 files changed, 52 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 856b2ce..70d5c20 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -327,6 +327,36 @@
dual_emac_res_vlan = <2>;
 };
 
+_1 {
+   status = "okay";
+};
+
+_phy1 {
+   status = "okay";
+};
+
+ {
+   dr_mode = "host";
+   status = "okay";
+};
+
+_2 {
+   status = "okay";
+};
+
+_phy2 {
+   status = "okay";
+};
+
+ {
+   dr_mode = "host";
+   status = "okay";
+   interrupts = ,
+,
+;
+   interrupt-names = "peripheral", "host", "otg";
+};
+
  {
status = "okay";
 };
diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts 
b/arch/arm/boot/dts/am437x-sbc-t43.dts
index f3cd76b..5d2919e 100644
--- a/arch/arm/boot/dts/am437x-sbc-t43.dts
+++ b/arch/arm/boot/dts/am437x-sbc-t43.dts
@@ -36,6 +36,18 @@
AM4372_IOPAD(0x97c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | 
MUX_MODE3)  /* uart1_rtsn.i2c2_scl */
>;
};
+
+   usb2_phy1_default: usb2_phy1_default {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | 
PIN_INPUT_PULLDOWN | MUX_MODE0)
+   >;
+   };
+
+   usb2_phy2_default: usb2_phy2_default {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | 
PIN_INPUT_PULLDOWN | MUX_MODE0)
+   >;
+   };
 };
 
  {
@@ -55,3 +67,13 @@
pinctrl-0 = <_pins_default>;
 };
 
+_1 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_phy1_default>;
+};
+
+_2 {
+   pinctrl-names = "default";
+   pinctrl-0 = <_phy2_default>;
+};
+
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: PCIe regression with DRA7xx in 4.4-rc1

2015-11-24 Thread Kishon Vijay Abraham I
Hi,

On Tuesday 24 November 2015 05:44 PM, Jisheng Zhang wrote:
> 
> 
> On Tue, 24 Nov 2015 17:31:07 +0530
> Kishon Vijay Abraham I wrote:
> 
>> Hi,
>>
>> I'm seeing a regression with ("PCI:
>> designware: Make driver arch-agnostic").
>>
>> Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after 
>> that I
>> observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O
>> error, err_mask=0x4)"
>>
>> Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine
>> but when I give ifconfig up, it fails.
>>
>> If I just revert commit , the PCIe
>> cards starts to work fine again
> 
> FYI, maybe the patch can fix the regression.
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-November/387362.html

yes, it fixed.

Thanks
Kishon

> 
>>
>> Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine.
>> Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now.
>>
>> Actually I'm not able to find any obvious problems with the patch and the irq
>> number and the memory resource also looks fine. Any idea what could be the 
>> problem?
>>
>> [1] -> http://pastebin.ubuntu.com/13491456/
>> [2] -> http://pastebin.ubuntu.com/13491526/
>>
>> [3] -> http://pastebin.ubuntu.com/13491658/
>> [4] -> http://pastebin.ubuntu.com/13491593/
>>
>> Thanks
>> Kishon
>>
>> ___
>> linux-arm-kernel mailing list
>> linux-arm-ker...@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 13/14] ARM: am437x: cm-t43: dts: add support for mmc1

2015-11-24 Thread Nikita Kiryanov
On SBC-T43 the mmc1 interface is connected to an SD-Card slot.
Add the necessary muxing and configuration to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-sbc-t43.dts | 24 
 1 file changed, 24 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts 
b/arch/arm/boot/dts/am437x-sbc-t43.dts
index 7394aa1..b2c42d9 100644
--- a/arch/arm/boot/dts/am437x-sbc-t43.dts
+++ b/arch/arm/boot/dts/am437x-sbc-t43.dts
@@ -7,6 +7,7 @@
  */
 
 #include "am437x-cm-t43.dts"
+#include "compulab-sb-som.dtsi"
 
 / {
model = "CompuLab CM-T43 on SB-SOM-T43";
@@ -14,6 +15,19 @@
 };
 
 _pinmux {
+   mmc1_pins: pinmux_mmc1_pins {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* 
mmc0_clk.mmc0_clk */
+   AM4372_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* 
mmc0_cmd.mmc0_cmd */
+   AM4372_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* 
mmc0_dat0.mmc0_dat0 */
+   AM4372_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* 
mmc0_dat1.mmc0_dat1 */
+   AM4372_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* 
mmc0_dat2.mmc0_dat2 */
+   AM4372_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* 
mmc0_dat3.mmc0_dat3 */
+   AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* 
spi0_cs1.gpio0_6 */
+   AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* 
ecap0_in_pwm0_out.gpio0_7 */
+   >;
+   };
+
uart0_pins_default: uart0_pins_default {
pinctrl-single,pins = <
AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | 
MUX_MODE0)
@@ -75,6 +89,16 @@
pinctrl-0 = <_pins>;
 };
 
+ {
+   status = "okay";
+   bus-width = <4>;
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+   vmmc-supply = <_3v3>;
+   cd-gpios = < 6 GPIO_ACTIVE_HIGH>;
+   wp-gpios = < 7 GPIO_ACTIVE_HIGH>;
+};
+
  {
pinctrl-names = "default";
pinctrl-0 = <_pins_default>;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 05/14] ARM: am437x: cm-t43: dts: add NAND support

2015-11-24 Thread Nikita Kiryanov
One of the CompuLab cm-t43 configurations comes with on-board NAND flash as
primary storage. It is partitioned into kernel, dtb, and rootfs partitions.
Add it to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 78 +
 1 file changed, 78 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 0761383..370e4e8 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -54,6 +54,80 @@
>;
};
 
+   nand_flash_x8: nand_flash_x8 {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0x800, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x804, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x808, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x80c, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x810, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x814, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x818, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x81c, PIN_INPUT | PULL_DISABLE | 
MUX_MODE0)
+   AM4372_IOPAD(0x870, PIN_INPUT_PULLUP  | MUX_MODE0)
+   AM4372_IOPAD(0x874, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x87c, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x898, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   AM4372_IOPAD(0x894, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   AM4372_IOPAD(0x890, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   AM4372_IOPAD(0x89c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   >;
+   };
+};
+
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_flash_x8>;
+   ranges = <0 0 0x0800 0x100>;
+   nand@0,0 {
+   reg = <0 0 0>;
+   ti,nand-ecc-opt = "bch8";
+   ti,elm-id = <>;
+
+   nand-bus-width = <8>;
+   gpmc,device-width = <1>;
+   gpmc,sync-clk-ps = <0>;
+   gpmc,cs-on-ns = <0>;
+   gpmc,cs-rd-off-ns = <44>;
+   gpmc,cs-wr-off-ns = <44>;
+   gpmc,adv-on-ns = <6>;
+   gpmc,adv-rd-off-ns = <34>;
+   gpmc,adv-wr-off-ns = <44>;
+   gpmc,we-on-ns = <0>;
+   gpmc,we-off-ns = <40>;
+   gpmc,oe-on-ns = <0>;
+   gpmc,oe-off-ns = <54>;
+   gpmc,access-ns = <64>;
+   gpmc,rd-cycle-ns = <82>;
+   gpmc,wr-cycle-ns = <82>;
+   gpmc,wait-on-read = "true";
+   gpmc,wait-on-write = "true";
+   gpmc,bus-turnaround-ns = <0>;
+   gpmc,cycle2cycle-delay-ns = <0>;
+   gpmc,clk-activation-ns = <0>;
+   gpmc,wait-monitoring-ns = <0>;
+   gpmc,wr-access-ns = <40>;
+   gpmc,wr-data-mux-bus-ns = <0>;
+
+   gpmc,wait-pin = <0>;
+
+   #address-cells = <1>;
+   #size-cells = <1>;
+   /* MTD partition table */
+   partition@0 {
+   label = "kernel";
+   reg = <0x0 0x0098>;
+   };
+   partition@98 {
+   label = "dtb";
+   reg = <0x0098 0x0008>;
+   };
+   partition@a0 {
+   label = "rootfs";
+   reg = <0x00a0 0x0>;
+   };
+   };
 };
 
  {
@@ -187,6 +261,10 @@
};
 };
 
+ {
+   status = "okay";
+};
+
  {
status = "okay";
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 03/14] ARM: am437x: cm-t43: dts: add PMIC support.

2015-11-24 Thread Nikita Kiryanov
Add PMIC support for CompuLab cm-t43 module. For now we keep all regulators
enabled until this could be refined with power management support.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 64 +
 1 file changed, 64 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index a4cd2b8..7ef3971 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -52,6 +52,69 @@
pinctrl-0 = <_pins>;
clock-frequency = <10>;
 
+   tps65218: tps65218@24 {
+   compatible = "ti,tps65218";
+   reg = <0x24>;
+   interrupts = ; /* NMIn */
+   interrupt-parent = <>;
+   interrupt-controller;
+   #interrupt-cells = <2>;
+
+   dcdc1: regulator-dcdc1 {
+   compatible = "ti,tps65218-dcdc1";
+   regulator-name = "vdd_core";
+   regulator-min-microvolt = <912000>;
+   regulator-max-microvolt = <1144000>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   dcdc2: regulator-dcdc2 {
+   compatible = "ti,tps65218-dcdc2";
+   regulator-name = "vdd_mpu";
+   regulator-min-microvolt = <912000>;
+   regulator-max-microvolt = <1378000>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   dcdc3: regulator-dcdc3 {
+   compatible = "ti,tps65218-dcdc3";
+   regulator-name = "vdcdc3";
+   regulator-suspend-enable;
+   regulator-min-microvolt = <150>;
+   regulator-max-microvolt = <150>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   dcdc5: regulator-dcdc5 {
+   compatible = "ti,tps65218-dcdc5";
+   regulator-name = "v1_0bat";
+   regulator-min-microvolt = <100>;
+   regulator-max-microvolt = <100>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   dcdc6: regulator-dcdc6 {
+   compatible = "ti,tps65218-dcdc6";
+   regulator-name = "v1_8bat";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   ldo1: regulator-ldo1 {
+   compatible = "ti,tps65218-ldo1";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+   };
+
eeprom_module: at24@50 {
compatible = "atmel,24c02";
reg = <0x50>;
@@ -88,6 +151,7 @@
 };
 
  {
+   cpu0-supply = <>;
operating-points = <100 133>,
   <80 126>,
   <72 120>,
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 14/14] ARM: am437x: cm-t43: dts: add lcd support

2015-11-24 Thread Nikita Kiryanov
Add the necessary dss configuration to drive the startek lcd on CompuLab
sbc-t43 single board computer.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-sbc-t43.dts | 65 
 1 file changed, 65 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts 
b/arch/arm/boot/dts/am437x-sbc-t43.dts
index b2c42d9..0758094 100644
--- a/arch/arm/boot/dts/am437x-sbc-t43.dts
+++ b/arch/arm/boot/dts/am437x-sbc-t43.dts
@@ -12,6 +12,10 @@
 / {
model = "CompuLab CM-T43 on SB-SOM-T43";
compatible = 
"compulab,am437x-sbc-t43","compulab,am437x-cm-t43","ti,am4372","ti,am43";
+
+   aliases {
+   display0 = 
+   };
 };
 
 _pinmux {
@@ -28,6 +32,41 @@
>;
};
 
+   dss_pinctrl_default: dss_pinctrl_default {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE2) /* 
cam0 hd -> DSS DATA 23 */
+   AM4372_IOPAD(0x9b4, PIN_OUTPUT_PULLUP | MUX_MODE2)
+   AM4372_IOPAD(0x9b8, PIN_OUTPUT_PULLUP | MUX_MODE2)
+   AM4372_IOPAD(0x9bc, PIN_OUTPUT_PULLUP | MUX_MODE2)
+   AM4372_IOPAD(0x9c0, PIN_OUTPUT_PULLUP | MUX_MODE2)
+   AM4372_IOPAD(0x9c4, PIN_OUTPUT_PULLUP | MUX_MODE2)
+   AM4372_IOPAD(0x9c8, PIN_OUTPUT_PULLUP | MUX_MODE2)
+   AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLUP | MUX_MODE2) /* 
cam1 data 9 -> DSS DATA 16 */
+
+   AM4372_IOPAD(0x8a0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* 
DSS DATA 0 */
+   AM4372_IOPAD(0x8a4, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8b4, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8b8, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8bc, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8c0, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8c4, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8c8, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8cc, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8d0, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8d4, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   AM4372_IOPAD(0x8dc, PIN_OUTPUT_PULLUP | MUX_MODE0) /* 
DSS DATA 15 */
+   AM4372_IOPAD(0x8e0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* 
DSS VSYNC */
+   AM4372_IOPAD(0x8e4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* 
DSS HSYNC */
+   AM4372_IOPAD(0x8e8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* 
DSS PCLK */
+   AM4372_IOPAD(0x8ec, PIN_OUTPUT_PULLUP | MUX_MODE0) /* 
DSS AC BIAS EN */
+   AM4372_IOPAD(0xa20, PIN_OUTPUT_PULLUP | MUX_MODE7)
+   >;
+   };
+
uart0_pins_default: uart0_pins_default {
pinctrl-single,pins = <
AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | 
MUX_MODE0)
@@ -99,6 +138,20 @@
wp-gpios = < 7 GPIO_ACTIVE_HIGH>;
 };
 
+ {
+   status = "ok";
+
+   pinctrl-names = "default";
+   pinctrl-0 = <_pinctrl_default>;
+
+   port {
+   dpi_lcd_out: endpoint@0 {
+   remote-endpoint = <_in>;
+   data-lines = <24>;
+   };
+   };
+};
+
  {
pinctrl-names = "default";
pinctrl-0 = <_pins_default>;
@@ -114,3 +167,15 @@
pinctrl-0 = <_phy2_default>;
 };
 
+ {
+   enable-gpios = < 14 GPIO_ACTIVE_HIGH
+28 GPIO_ACTIVE_HIGH>;
+
+   port {
+   lcd_in: endpoint {
+   remote-endpoint = <_lcd_out>;
+   data-lines = <24>;
+   };
+   };
+};
+
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 06/14] ARM: am437x: cm-t43: dts: add dual emac support

2015-11-24 Thread Nikita Kiryanov
CM-T43 comes with 2 ethernet ports connected to the cpsw subsystem, which
has 2 modes of operation: switch mode and dual emac mode.
Add the relevant muxing and set it up to work in dual emac mode by
default.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 66 +
 1 file changed, 66 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 370e4e8..856b2ce 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -73,6 +73,47 @@
AM4372_IOPAD(0x89c, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
>;
};
+
+   cpsw_default: cpsw_default {
+   pinctrl-single,pins = <
+   /* Slave 1 */
+   AM4372_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* mii1_txen.rgmii1_txen */
+   AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2) 
/* mii1_rxdv.rgmii1_rxctl */
+   AM4372_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* mii1_txd1.rgmii1_txd3 */
+   AM4372_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* mii1_txd0.rgmii1_txd2 */
+   AM4372_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* mii1_txd1.rgmii1_txd1 */
+   AM4372_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* mii1_txd0.rgmii1_txd0 */
+   AM4372_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* mii1_txclk.rmii1_tclk */
+   AM4372_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2) 
/* mii1_rxclk.rmii1_rclk */
+   AM4372_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2) 
/* mii1_rxd1.rgmii1_rxd3 */
+   AM4372_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2) 
/* mii1_rxd0.rgmii1_rxd2 */
+   AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2) 
/* mii1_rxd1.rgmii1_rxd1 */
+   AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2) 
/* mii1_rxd0.rgmii1_rxd0 */
+   AM4372_IOPAD(0xa74, MUX_MODE3)
+   /* Slave 2 */
+   AM4372_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* gpmc_a0.txen */
+   AM4372_IOPAD(0x844, PIN_INPUT_PULLDOWN  | MUX_MODE2)
/* gpmc_a1.rxctl */
+   AM4372_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* gpmc_a2.txd3 */
+   AM4372_IOPAD(0x84c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* gpmc_a3.txd2 */
+   AM4372_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* gpmc_a4.txd1 */
+   AM4372_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* gpmc_a5.txd0 */
+   AM4372_IOPAD(0x858, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
/* gpmc_a6.tclk */
+   AM4372_IOPAD(0x85c, PIN_INPUT_PULLDOWN  | MUX_MODE2)
/* gpmc_a7.rclk */
+   AM4372_IOPAD(0x860, PIN_INPUT_PULLDOWN  | MUX_MODE2)
/* gpmc_a8.rxd3 */
+   AM4372_IOPAD(0x864, PIN_INPUT_PULLDOWN  | MUX_MODE2)
/* gpmc_a9.rxd2 */
+   AM4372_IOPAD(0x868, PIN_INPUT_PULLDOWN  | MUX_MODE2)
/* gpmc_a10.rxd1 */
+   AM4372_IOPAD(0x86c, PIN_INPUT_PULLDOWN  | MUX_MODE2)
/* gpmc_a11.rxd0 */
+   AM4372_IOPAD(0xa38, MUX_MODE7)
+   >;
+   };
+
+   davinci_mdio_default: davinci_mdio_default {
+   pinctrl-single,pins = <
+   /* MDIO */
+   AM4372_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | 
MUX_MODE0)   /* mdio_data.mdio_data */
+   AM4372_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)  
/* mdio_clk.mdio_clk */
+   >;
+   };
 };
 
  {
@@ -261,6 +302,31 @@
};
 };
 
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_default>;
+   dual_emac = <1>;
+   status = "okay";
+};
+
+_mdio {
+   pinctrl-names = "default";
+   pinctrl-0 = <_mdio_default>;
+   status = "okay";
+};
+
+_emac0 {
+   phy_id = <_mdio>, <0>;
+   phy-mode = "rgmii-txid";
+   dual_emac_res_vlan = <1>;
+};
+
+_emac1 {
+   phy_id = <_mdio>, <1>;
+   phy-mode = "rgmii-txid";
+   dual_emac_res_vlan = <2>;
+};
+
  {
status = "okay";
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 00/14] Add support for sbc-t43

2015-11-24 Thread Nikita Kiryanov
This series adds support for CompuLab sbc-t43 single baseboard computer.
sbc-t43 is composed of cm-t43 (the TI am437x based core module), and sb-som
baseboard. The sbc-t43 features include:

CPU:Texas Instruments Sitara AM4379 ARM Cortex-A9, 1GHz, or
Texas Instruments Sitara AM4376 ARM Cortex-A9, 800MHz
RAM:128MB - 1GB, DDR3-800, 32-bit data bua
Storage:NAND flash, 128MB - 512MB, or eMMC flash, 4GB - 32GB
SPI-flash 2MB
Two 1000/100/10Mbps Ethernet ports
WiFi/Bluetooth/NFC
Audio codec
SD-Card slot, up to 3 USB ports
DVI/LCD connectors

This series is based over v4.4-rc2-15-gcaa9c04 and depends on the following
patch:
https://lkml.org/lkml/2015/11/12/955
[pinctrl: Move am4372 and dra7 macros to the the SoC header files]

Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Tony Lindgren 
Cc: Ian Campbell 

Nikita Kiryanov (14):
  ARM: am437x: cm-t43: dts: add basic support for sbc-t43
  ARM: am437x: cm-t43: dts: add support for module eeprom
  ARM: am437x: cm-t43: dts: add PMIC support.
  ARM: am437x: cm-t43: dts: add spi-flash support
  ARM: am437x: cm-t43: dts: add NAND support
  ARM: am437x: cm-t43: dts: add dual emac support
  ARM: am437x: cm-t43: dts: add USB support
  ARM: am437x: cm-t43: dts: add eMMC support
  ARM: am437x: cm-t43: dts: add touchscreen support
  ARM: am437x: cm-t43: dts: add pca9555 support
  ARM: am437x: cm-t43: dts: add support for baseboard eeprom
  ARM: sb-som: dts: introduce SB-SOM baseboard
  ARM: am437x: cm-t43: dts: add support for mmc1
  ARM: am437x: cm-t43: dts: add lcd support

 .../devicetree/bindings/arm/compulab-boards.txt|   5 +
 .../devicetree/bindings/arm/omap/omap.txt  |   6 +
 .../bindings/display/panel/startek,startek-kd050c  |   4 +
 .../devicetree/bindings/vendor-prefixes.txt|   1 +
 arch/arm/boot/dts/Makefile |   6 +-
 arch/arm/boot/dts/am437x-cm-t43.dts| 423 +
 arch/arm/boot/dts/am437x-sbc-t43.dts   | 181 +
 arch/arm/boot/dts/compulab-sb-som.dtsi |  42 ++
 8 files changed, 666 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/compulab-boards.txt
 create mode 100644 
Documentation/devicetree/bindings/display/panel/startek,startek-kd050c
 create mode 100644 arch/arm/boot/dts/am437x-cm-t43.dts
 create mode 100644 arch/arm/boot/dts/am437x-sbc-t43.dts
 create mode 100644 arch/arm/boot/dts/compulab-sb-som.dtsi

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 04/14] ARM: am437x: cm-t43: dts: add spi-flash support

2015-11-24 Thread Nikita Kiryanov
CM-T43 has an on-board 2MB SPI-flash which stores U-Boot and the U-Boot
environment. Add it to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 41 +
 1 file changed, 41 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 7ef3971..0761383 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -44,6 +44,16 @@
AM4372_IOPAD(0x98c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | 
MUX_MODE0)  /* i2c0_scl.i2c0_scl */
>;
};
+
+   spi0_pins: pinmux_spi0_pins {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0) /* 
spi0_sclk.spi0_sclk */
+   AM4372_IOPAD(0x954, PIN_INPUT | MUX_MODE0) /* 
spi0_d0.spi0_d0 */
+   AM4372_IOPAD(0x958, PIN_OUTPUT | MUX_MODE0) /* 
spi0_d1.spi0_d1 */
+   AM4372_IOPAD(0x95C, PIN_OUTPUT | MUX_MODE0) /* 
spi0_cs0.spi0_cs0 */
+   >;
+   };
+
 };
 
  {
@@ -146,6 +156,37 @@
status = "okay";
 };
 
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+   dmas = < 16
+17>;
+   dma-names = "tx0", "rx0";
+
+   flash: w25q64cvzpig@0 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "jedec,spi-nor";
+   reg = <0>;
+   spi-max-frequency = <2000>;
+   partition@0 {
+   label = "uboot";
+   reg = <0x0 0xc>;
+   };
+
+   partition@c {
+   label = "uboot environment";
+   reg = <0xc 0x4>;
+   };
+
+   partition@10 {
+   label = "reserved";
+   reg = <0x10 0x10>;
+   };
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 08/14] ARM: am437x: cm-t43: dts: add eMMC support

2015-11-24 Thread Nikita Kiryanov
One of the CompuLab cm-t43 configurations comes with on-board eMMC as
primary storage, residing on the mmc2 interface. Add it to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
index 70d5c20..5ca4160 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -26,6 +26,16 @@
linux,default-trigger = "heartbeat";
};
};
+
+   vmmc_3v3: fixedregulator-v3_3 {
+   compatible = "regulator-fixed";
+   regulator-name = "vmmc_3v3";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-always-on;
+   enable-active-high;
+   };
+
 };
 
 _pinmux {
@@ -45,6 +55,21 @@
>;
};
 
+   emmc_pins: emmc_pins {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0x820, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad8.mmc1_dat0 */
+   AM4372_IOPAD(0x824, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad9.mmc1_dat1 */
+   AM4372_IOPAD(0x828, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad10.mmc1_dat2 */
+   AM4372_IOPAD(0x82c, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad11.mmc1_dat3 */
+   AM4372_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad12.mmc1_dat4 */
+   AM4372_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad13.mmc1_dat5 */
+   AM4372_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad14.mmc1_dat6 */
+   AM4372_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_ad15.mmc1_dat7 */
+   AM4372_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_csn1.mmc1_clk */
+   AM4372_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* 
gpmc_csn2.mmc1_cmd */
+   >;
+   };
+
spi0_pins: pinmux_spi0_pins {
pinctrl-single,pins = <
AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0) /* 
spi0_sclk.spi0_sclk */
@@ -271,6 +296,15 @@
status = "okay";
 };
 
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+   vmmc-supply = <_3v3>;
+   bus-width = <8>;
+   ti,non-removable;
+};
+
  {
status = "okay";
pinctrl-names = "default";
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 01/14] ARM: am437x: cm-t43: dts: add basic support for sbc-t43

2015-11-24 Thread Nikita Kiryanov
Add basic support for SBC-T43: a CM-T43 based single board computer.
CM-T43 is an AM437x based System-on-Module designed to serve as a building
block in embedded applications. SBC-T43 is composed of CM-T43 module on
top of the SB-SOM-T43 baseboard.
Basic support includes UART, GPIO, and I2C.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 .../devicetree/bindings/arm/omap/omap.txt  |  6 ++
 arch/arm/boot/dts/Makefile |  6 +-
 arch/arm/boot/dts/am437x-cm-t43.dts| 90 ++
 arch/arm/boot/dts/am437x-sbc-t43.dts   | 57 ++
 4 files changed, 157 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/am437x-cm-t43.dts
 create mode 100644 arch/arm/boot/dts/am437x-sbc-t43.dts

diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt 
b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 9f4e513..da84372 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -141,6 +141,12 @@ Boards:
 - OMAP5 EVM : Evaluation Module
   compatible = "ti,omap5-evm", "ti,omap5"
 
+- AM437x CM-T43
+  compatible = "compulab,am437x-cm-t43", "ti,am4372", "ti,am43"
+
+- AM437x SBC-T43
+  compatible = 
"compulab,am437x-sbc-t43","compulab,am437x-cm-t43","ti,am4372","ti,am43"
+
 - AM43x EPOS EVM
   compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43"
 
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 30bbc37..dc3b9af 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -478,9 +478,11 @@ dtb-$(CONFIG_ARCH_OMAP4) += \
omap4-var-stk-om44.dtb
 dtb-$(CONFIG_SOC_AM43XX) += \
am43x-epos-evm.dtb \
-   am437x-sk-evm.dtb \
+   am437x-cm-t43.dtb \
+   am437x-gp-evm.dtb \
am437x-idk-evm.dtb \
-   am437x-gp-evm.dtb
+   am437x-sbc-t43.dtb \
+   am437x-sk-evm.dtb
 dtb-$(CONFIG_SOC_OMAP5) += \
omap5-cm-t54.dtb \
omap5-igep0050.dtb \
diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts 
b/arch/arm/boot/dts/am437x-cm-t43.dts
new file mode 100644
index 000..69887c4
--- /dev/null
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/
+ *
+ * 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 
+#include 
+#include 
+#include "am4372.dtsi"
+
+/ {
+   model = "CompuLab CM-T43";
+   compatible = "compulab,am437x-cm-t43","ti,am4372","ti,am43";
+
+   leds {
+   compatible = "gpio-leds";
+
+   ledb {
+   label = "cm-t43:green";
+   gpios = < 24 GPIO_ACTIVE_HIGH>;
+   linux,default-trigger = "heartbeat";
+   };
+   };
+};
+
+_pinmux {
+   pinctrl-names = "default";
+   pinctrl-0 = <_t43_led_pins>;
+
+   cm_t43_led_pins: cm_t43_led_pins {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0xa78, MUX_MODE7)
+   >;
+   };
+
+   i2c0_pins: i2c0_pins {
+   pinctrl-single,pins = <
+   AM4372_IOPAD(0x988, PIN_INPUT_PULLUP | SLEWCTRL_FAST | 
MUX_MODE0)  /* i2c0_sda.i2c0_sda */
+   AM4372_IOPAD(0x98c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | 
MUX_MODE0)  /* i2c0_scl.i2c0_scl */
+   >;
+   };
+};
+
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+   clock-frequency = <10>;
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   operating-points = <100 133>,
+  <80 126>,
+  <72 120>,
+  <60 110>,
+  <30 95>;
+};
diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts 
b/arch/arm/boot/dts/am437x-sbc-t43.dts
new file mode 100644
index 000..f3cd76b
--- /dev/null
+++ b/arch/arm/boot/dts/am437x-sbc-t43.dts
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/
+ *
+ * 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.
+ */
+
+#include "am437x-cm-t43.dts"
+
+/ {
+   model = "CompuLab CM-T43 on SB-SOM-T43";
+   compatible = 

[PATCH 11/14] ARM: am437x: cm-t43: dts: add support for baseboard eeprom

2015-11-24 Thread Nikita Kiryanov
SB-SOM baseboard comes with an on-board EEPROM. On SBC-T43 this EEPROM
resides on the i2c1 bus. Add it to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-sbc-t43.dts | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts 
b/arch/arm/boot/dts/am437x-sbc-t43.dts
index b2e3201..7394aa1 100644
--- a/arch/arm/boot/dts/am437x-sbc-t43.dts
+++ b/arch/arm/boot/dts/am437x-sbc-t43.dts
@@ -61,6 +61,12 @@
gpio-controller;
#gpio-cells = <2>;
};
+
+   eeprom_base: at24@50 {
+   compatible = "atmel,24c02";
+   reg = <0x50>;
+   pagesize = <16>;
+   };
 };
 
  {
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 10/14] ARM: am437x: cm-t43: dts: add pca9555 support

2015-11-24 Thread Nikita Kiryanov
SB-SOM comes with a PCA9555 GPIO extender. On SBC-T43 this resides on the
i2c1 bus. Add it to the device tree.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 arch/arm/boot/dts/am437x-sbc-t43.dts | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts 
b/arch/arm/boot/dts/am437x-sbc-t43.dts
index 5d2919e..b2e3201 100644
--- a/arch/arm/boot/dts/am437x-sbc-t43.dts
+++ b/arch/arm/boot/dts/am437x-sbc-t43.dts
@@ -54,6 +54,13 @@
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <_pins>;
+
+   pca9555: pca9555@20 {
+   compatible = "nxp,pca9555";
+   reg = <0x20>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   };
 };
 
  {
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 12/14] ARM: sb-som: dts: introduce SB-SOM baseboard

2015-11-24 Thread Nikita Kiryanov
CompuLab SB-SOM baseboard is a carrier board for multiple arm-based SoMs.
It currently supports (with minor adjustments to assembly) CM-T43, CM-T54,
and CM-QS600 modules. It is a building block in the SBC-T43 single board
computer, which consists of cm-t43 on top of sb-som-t43.

Signed-off-by: Nikita Kiryanov 
Cc: Tony Lindgren 
Cc: Igor Grinberg 
Cc: Dmitry Lifshitz 
Cc: Ian Campbell 
---
 .../devicetree/bindings/arm/compulab-boards.txt|  5 +++
 .../bindings/display/panel/startek,startek-kd050c  |  4 +++
 .../devicetree/bindings/vendor-prefixes.txt|  1 +
 arch/arm/boot/dts/compulab-sb-som.dtsi | 42 ++
 4 files changed, 52 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/compulab-boards.txt
 create mode 100644 
Documentation/devicetree/bindings/display/panel/startek,startek-kd050c
 create mode 100644 arch/arm/boot/dts/compulab-sb-som.dtsi

diff --git a/Documentation/devicetree/bindings/arm/compulab-boards.txt 
b/Documentation/devicetree/bindings/arm/compulab-boards.txt
new file mode 100644
index 000..3e742a5
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/compulab-boards.txt
@@ -0,0 +1,5 @@
+CompuLab SB-SOM is a multi-module baseboard capable of carrying CM-T43, CM-T54,
+and QS-600 modules with minor modifications to the SB-SOM assembly.
+
+Required root node properties:
+- compatible = should be "compulab,sb-som"
diff --git 
a/Documentation/devicetree/bindings/display/panel/startek,startek-kd050c 
b/Documentation/devicetree/bindings/display/panel/startek,startek-kd050c
new file mode 100644
index 000..70cd8d1
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/startek,startek-kd050c
@@ -0,0 +1,4 @@
+Startek Electronic Technology Co. KD050C 5.0" WVGA TFT LCD panel
+
+Required properties:
+- compatible: should be "startek,startek-kd050c"
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt 
b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 55df1d4..409b134 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -218,6 +218,7 @@ sonySony Corporation
 spansion   Spansion Inc.
 sprd   Spreadtrum Communications Inc.
 st STMicroelectronics
+startekStartek
 steST-Ericsson
 stericsson ST-Ericsson
 synology   Synology, Inc.
diff --git a/arch/arm/boot/dts/compulab-sb-som.dtsi 
b/arch/arm/boot/dts/compulab-sb-som.dtsi
new file mode 100644
index 000..402a143
--- /dev/null
+++ b/arch/arm/boot/dts/compulab-sb-som.dtsi
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/
+ *
+ * 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.
+ */
+
+/ {
+   model = "CompuLab SB-SOM";
+   compatible = "compulab,sb-som";
+
+   vsb_3v3: fixedregulator-v3_3 {
+   compatible = "regulator-fixed";
+   regulator-name = "vsb_3v3";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-always-on;
+   enable-active-high;
+   };
+
+   lcd0: display {
+   compatible = "startek,startek-kd050c", "panel-dpi";
+   label = "lcd";
+
+   panel-timing {
+   clock-frequency = <3300>;
+   hactive = <800>;
+   vactive = <480>;
+   hfront-porch = <40>;
+   hback-porch = <40>;
+   hsync-len = <43>;
+   vback-porch = <29>;
+   vfront-porch = <13>;
+   vsync-len = <3>;
+   hsync-active = <0>;
+   vsync-active = <0>;
+   de-active = <1>;
+   pixelclk-active = <1>;
+   };
+   };
+};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Clock usbhost_48m_fck didn't enable in 100000 tries and crash

2015-11-24 Thread Daniel.
Hi Michael

About this:
"Two bugs are fixed by this patch.  First, OMAP hardware only supports
target CM_IDLEST register bits on ES2+ chips and beyond.  ES1 chips
should not wait for these clocks to enable.  So, split the appropriate
clocks into ES1 and ES2+ variants, so that kernels running on ES1
devices won't try to wait."

My chip is ES1. I think that ES2+ code is running since I see these waits
ocurring on code... I'll take a better look in this, thanks again!

Does anyone know how to check if a clock is enabled?

Regards,

2015-11-23 18:24 GMT-02:00 Daniel. :
> I've already tried, it fails to apply. My tree is based on last commit from
> TI linux-omap3 (4f1fb3bea4cc381c76e8e439f8af393c1a698dfc) so I *think*
> that this is already applied (since come from the same tree).
>
> I will try to apply it by hand
> Thanks!
> Regards,
>
> 2015-11-23 18:10 GMT-02:00 Michael Trimarchi :
>> Hi
>>
>> Can you check if you have this patch in?
>>
>> commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2
>> Author: Paul Walmsley 
>> Date:   Fri Jul 24 19:44:06 2009 -0600
>>
>> OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB
>>
>> Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS,
>> USBHOST, and HSOTGUSB devices.  These devices are both interconnect
>> initiators and targets.  Without this patch, clk_enable()s on clocks for
>> these modules can be very high latency (potentially up to ~200
>> milliseconds) and message such as the following are generated:
>>
>> Clock usbhost_48m_fck didn't enable in 10 tries
>>
>> Two bugs are fixed by this patch.  First, OMAP hardware only supports
>> target CM_IDLEST register bits on ES2+ chips and beyond.  ES1 chips
>> should not wait for these clocks to enable.  So, split the appropriate
>> clocks into ES1 and ES2+ variants, so that kernels running on ES1
>> devices won't try to wait.
>>
>> Second, the current heuristic in omap2_clk_dflt_find_idlest() will
>> fail for these clocks.  It assumes that the CM_IDLEST bit to wait upon
>> is the same as the CM_*CLKEN bit, which is false[1].  Fix by
>> implementing custom clkops .find_idlest function pointers for the
>> appropriate clocks that return the correct slave IDLEST bit shift.
>>
>> This was originally fixed in the linux-omap kernel during 2.6.29 in a
>> slightly different manner[2][3].
>>
>>
>> On Mon, Nov 23, 2015 at 9:06 PM, Daniel.  wrote:
>>> Hi,
>>>
>>> Building as built-in doesn't solve my problem. The difference is that
>>> when compiled as module the dump shows up when I load it, and when is
>>> built-in the dump shows up at boot time. Also when built-in the
>>> problem seems to ocurr when device is reseted (on ehci_omap_stop) and
>>> the first stack dump is followed by much more other dumps. At the end
>>> I can see something like: "Fixing recursive fault but reboot is
>>> needed!"
>>>
>>>
>>> Here is the module info:
>>> root@csi:~# modinfo ehci-hcd
>>> filename:   /lib/modules/2.6.37+/kernel/drivers/usb/host/ehci-hcd.ko
>>> author: Felipe Balbi 
>>> author: Texas Instruments, Inc.
>>> alias:  platform:omap-ehci
>>> license:GPL
>>> author: David Brownell
>>> description:USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>>> srcversion: B282C11CACFB9E75921367C
>>> depends:
>>> vermagic:   2.6.37+ mod_unload modversions ARMv7
>>> parm:   log2_irq_thresh:log2 IRQ latency, 1-64 microframes (int)
>>> parm:   park:park setting; 1-3 back-to-back async packets (uint)
>>> parm:   ignore_oc:ignore bogus hardware overcurrent indications 
>>> (bool)
>>> parm:   hird:host initiated resume duration, +1 for each 75us
>>>  (int)
>>> root@csi:~#
>>>
>>>
>>> Best regards,
>>>
>>> 2015-11-23 17:55 GMT-02:00 Michael Trimarchi :
 Hi

 On Mon, Nov 23, 2015 at 8:05 PM, Daniel.  wrote:
> Hi Michael,
>
> It's a plain linux. I'm considering upgrading kernel as last option.
> Variscite doesn't
> support another kernel for this SoM so this would be a really hard
> work. I'm looking
> for a solution on this kernel and mainly trying to understand why
> usbhost_48m_fck
> is not getting enabled. I'm contacting Variscite in parallel.
>

 Can you point me to te module description? I think that the module
 is working if it's compiled in. Correct?

 Michael


> Thanks for your reply, best regards!
>
> 2015-11-23 16:57 GMT-02:00 Michael Trimarchi 
> :
>> Hi Daniel
>>
>>
>> On Mon, Nov 23, 2015 at 7:45 PM, Daniel.  wrote:
>>> Hi every body!
>>>
>>> I'm running a (2.6.37) kernel based on linux-omap tree

Re: am35xx memory management issues

2015-11-24 Thread Markku Ahvenjärvi
Hi Tony,

On 13.11.2015 15:05, Markku Ahvenjärvi wrote:
> Hi,
> 
> On 12.11.2015 19:06, Tony Lindgren wrote:
>> Hi,
>>
>> * Markku Ahvenjärvi  [151112 07:26]:
>>> Hello everyone,
>>>
>>> We have am3517 based board and are experiencing sporadic corruption of mm 
>>> structures. We've had this problem for months now and haven't really got 
>>> bottom of it.
>>>
>>> Our board is currently using 3.18.20, but with am3517-evm we've tried 
>>> pretty much everything between v3.14 and v4.2. So far we've been able to 
>>> reproduce it on am3517-evm, craneboard and beagleboard (rev. C3 and C4). We 
>>> have also tested am/dm37x-evm, am335x-evm and beagle bone black, no 
>>> problems seen.
>>>
>>> Usually kernel it panics in 'kernel BUG at mm/rmap.c:406!', but 
>>> occasionally there's 'BUG: Bad rss-counter state' prints followed by NULL 
>>> pointer deref or another BUG statement in mm/slab.c. Sometimes spinlock 
>>> lockup or already unlocked reported, so it is quite random.
>>>
>>> Reproducing can take from half hour up to few days. We are using stress-ng 
>>> with options:
>>> stress-ng --cpu 1 --vm 3 --vm-bytes 64M --fork 4
>>>
>>> In our tests we have noticed that kernel configuration affect frequency of 
>>> the problem. So far we haven't seen any with omap2plus_defconfig, but with 
>>> slimmer defconfig like the one we are using for our board we can get it in 
>>> few hours. We bisected our defconfig and omap2plus_defconfig, but couldn't 
>>> pinpoint any specific config that would cause these problems: it just got 
>>> less frequent until stopped occurring. To rule out any bad behaving 
>>> drivers, we basically disabled everything but serial and it just kept 
>>> crashing.
>>
>> Adding also LAKML to Cc. Can you check if it starts happening if you
>> leave out other omaps from .config other than CONFIG_ARCH_OMAP3?
>> That's to compile code only for ARMv7 and leave out ARMv6.
>>
>> Also please check if leaving out CONFIG_SMP_ON_UP affects things.
> 
> Alright, will do.

We've been testing omap2plus defconfig without other omaps and without 
CONFIG_SMP_ON_UP. So far we haven't seen any panics, but I've had only a few 
units testing it.

Meanwhile we've been testing our custom board with a configuration that is 
quite close to omap2plus, including other omaps and CONFIG_SMP_ON_UP. We've had 
couple of panics, so it seems that these doesn't affect the problem. We had 15 
units running stress-ng and it took ~8 days until we saw first panic, so if 
omap2plus is affected it is quite rare.

Any other suggestions?

Regards,

Markku

> 
>>> Someone was having quite similar problems back in 2012, but other than that 
>>> we've found nothing:
>>> http://thread.gmane.org/gmane.linux.ports.arm.omap/78039/
>>>
>>> Anyone seen this kind of issues before? Any ideas what might cause this?
>>
>> If it starts happening after after leaving out ARMv6 or SMP_ON_UP,
>> it could be a cache bug or missing errata that's needed.
> 
> Right.
> 
> Regards,
> 
> Markku
> 
>>
>> Regards,
>>
>> Tony
>>
>>
>>> [0.00] Booting Linux on physical CPU 0x0
>>> [0.00] Linux version 3.18.24 (markku@thinkpad) (gcc version 4.9.3 
>>> 20141031 (prerelease) (Linaro GCC 2014.11) ) #2 PREEMPT Wed Nov 4 09:51:36 
>>> EET 2015
>>> [0.00] CPU: ARMv7 Processor [411fc087] revision 7 (ARMv7), 
>>> cr=10c5387d
>>> [0.00] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing 
>>> instruction cache
>>> [0.00] Machine model: TI AM3517 EVM (AM3517/05 TMDSEVM3517)
>>> [0.00] cma: Reserved 8 MiB at 0x8f40
>>> [0.00] Memory policy: Data cache writeback
>>> [0.00] On node 0 totalpages: 65280
>>> [0.00] free_area_init_node: node 0, pgdat c09be980, node_mem_map 
>>> cfce7000
>>> [0.00]   Normal zone: 512 pages used for memmap
>>> [0.00]   Normal zone: 0 pages reserved
>>> [0.00]   Normal zone: 65280 pages, LIFO batch:15
>>> [0.00]   HighMem zone: 1048574 pages exceeds freesize 0
>>> [0.00] CPU: All CPU(s) started in SVC mode.
>>> [0.00] AM3517 ES1.1 (l2cache sgx neon )
>>> [0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
>>> [0.00] pcpu-alloc: [0] 0
>>> [0.00] Built 1 zonelists in Zone order, mobility grouping on.  
>>> Total pages: 64768
>>> [0.00] Kernel command line: console=ttyO2,115200
>>> [0.00] PID hash table entries: 1024 (order: 0, 4096 bytes)
>>> [0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 
>>> bytes)
>>> [0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
>>> [0.00] Memory: 239940K/261120K available (4809K kernel code, 341K 
>>> rwdata, 1816K rodata, 2996K init, 353K bss, 21180K reserved, 0K highmem)
>>> [0.00] Virtual kernel memory layout:
>>> [0.00] vector  : 0x - 0x1000   (   4 kB)
>>> [0.00] fixmap  : 0xffc0 - 0xffe0   (2048 kB)
>>> [

[PATCH v2 3/6] ARM: OMAP2+: dts: cm-t335: add support for NAND flash

2015-11-24 Thread Uri Mashiach
From: Ilya Ledvich 

Add pinmux configuration for NAND specific GPMC pins.
Add description for GPMC controller. Add child node for NAND flash
including CM-T335 specific partition table to GPMC node.
Enable error-location module (ELM).

Acked-by: Igor Grinberg 
Signed-off-by: Ilya Ledvich 
Signed-off-by: Uri Mashiach 
---
v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions

 arch/arm/boot/dts/am335x-cm-t335.dts | 106 +++
 1 file changed, 106 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index 02b6679..431b6dd 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -62,6 +62,41 @@
>;
};
 
+   nandflash_pins: pinmux_nandflash_pins {
+   pinctrl-single,pins = <
+   /* gpmc_ad0.gpmc_ad0 */
+   AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad1.gpmc_ad1 */
+   AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad2.gpmc_ad2 */
+   AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad3.gpmc_ad3 */
+   AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad4.gpmc_ad4 */
+   AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad5.gpmc_ad5 */
+   AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad6.gpmc_ad6 */
+   AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_ad7.gpmc_ad7 */
+   AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_wait0.gpmc_wait0 */
+   AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* gpmc_wpn.gpio0_30 */
+   AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE7)
+   /* gpmc_csn0.gpmc_csn0  */
+   AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0)
+   /* gpmc_advn_ale.gpmc_advn_ale */
+   AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0)
+   /* gpmc_oen_ren.gpmc_oen_ren */
+   AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0)
+   /* gpmc_wen.gpmc_wen */
+   AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0)
+   /* gpmc_ben0_cle.gpmc_ben0_cle */
+   AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0)
+   >;
+   };
+
uart0_pins: pinmux_uart0_pins {
pinctrl-single,pins = <
/* uart0_rxd.uart0_rxd */
@@ -98,3 +133,74 @@
};
 };
 
+ {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+   ranges = <0 0 0x0800 0x1000>;   /* CS0: NAND */
+   nand@0,0 {
+   reg = <0 0 0>; /* CS0, offset 0 */
+   ti,nand-ecc-opt = "bch8";
+   ti,elm-id = <>;
+   nand-bus-width = <8>;
+   gpmc,device-width = <1>;
+   gpmc,sync-clk-ps = <0>;
+   gpmc,cs-on-ns = <0>;
+   gpmc,cs-rd-off-ns = <44>;
+   gpmc,cs-wr-off-ns = <44>;
+   gpmc,adv-on-ns = <6>;
+   gpmc,adv-rd-off-ns = <34>;
+   gpmc,adv-wr-off-ns = <44>;
+   gpmc,we-on-ns = <0>;
+   gpmc,we-off-ns = <40>;
+   gpmc,oe-on-ns = <0>;
+   gpmc,oe-off-ns = <54>;
+   gpmc,access-ns = <64>;
+   gpmc,rd-cycle-ns = <82>;
+   gpmc,wr-cycle-ns = <82>;
+   gpmc,wait-on-read = "true";
+   gpmc,wait-on-write = "true";
+   gpmc,bus-turnaround-ns = <0>;
+   gpmc,cycle2cycle-delay-ns = <0>;
+   gpmc,clk-activation-ns = <0>;
+   gpmc,wait-monitoring-ns = <0>;
+   gpmc,wr-access-ns = <40>;
+   gpmc,wr-data-mux-bus-ns = <0>;
+   /* MTD partition table */
+   #address-cells = <1>;
+   #size-cells = <1>;
+   partition@0 {
+   label = "spl";
+   reg = <0x 0x0020>;
+   };
+   partition@1 {
+   label = "uboot";
+   reg = <0x0020 0x0010>;
+   };
+   partition@2 {
+   label = "uboot environment";
+   reg = <0x0030 0x0010>;
+   };
+   partition@3 {
+   label = "dtb";
+   reg = <0x0040 0x0010>;
+   };
+   

[PATCH v2 1/6] ARM: OMAP2+: dts: cm-t335: add initial support

2015-11-24 Thread Uri Mashiach
From: Ilya Ledvich 

Add basic support for CompuLab cm-t335 module based on AM335X SoC.

CM-T335 is a tiny computer-on-module (CoM) / system-on-module (SoM)
The module is built around the Texas Instruments Sitara AM3352/4
system-on-chip.

The CPU is supplemented with up-to 512MB DDR3 and up-to 1GB of on-board
NAND storage, WiFi connected to SPI, Bluetooth, Analog audio, Gigabit
Ethernet, CAN bus.

Current patch adds support:
UART0 and GPIO LED

Detailed description can be found at the module site:
http://www.compulab.co.il/products/computer-on-modules/cm-t335/

Signed-off-by: Ilya Ledvich 
[uri.mashi...@compulab.co.il: the default RAM amount reduced to
128MB to support also the minimal module configuration]
Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions

 .../devicetree/bindings/arm/omap/omap.txt  |  3 ++
 arch/arm/boot/dts/Makefile |  7 +--
 arch/arm/boot/dts/am335x-cm-t335.dts   | 63 ++
 3 files changed, 70 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/am335x-cm-t335.dts

diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt 
b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 9f4e513..2154f97 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -138,6 +138,9 @@ Boards:
 - AM335X phyBOARD-WEGA: Single Board Computer dev kit
   compatible = "phytec,am335x-wega", "phytec,am335x-phycore-som", "ti,am33xx"
 
+- AM335X CM-T335 : System On Module, built around the Sitara AM3352/4
+  compatible = "compulab,cm-t335", "ti,am33xx"
+
 - OMAP5 EVM : Evaluation Module
   compatible = "ti,omap5-evm", "ti,omap5"
 
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index bb8fa02..0e011dc 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -446,13 +446,14 @@ dtb-$(CONFIG_SOC_AM33XX) += \
am335x-base0033.dtb \
am335x-bone.dtb \
am335x-boneblack.dtb \
-   am335x-sl50.dtb \
+   am335x-chiliboard.dtb \
+   am335x-cm-t335.dtb \
am335x-evm.dtb \
am335x-evmsk.dtb \
+   am335x-lxm.dtb \
am335x-nano.dtb \
am335x-pepper.dtb \
-   am335x-lxm.dtb \
-   am335x-chiliboard.dtb \
+   am335x-sl50.dtb \
am335x-wega-rdk.dtb
 dtb-$(CONFIG_ARCH_OMAP4) += \
omap4-duovero-parlor.dtb \
diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
new file mode 100644
index 000..719658e
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -0,0 +1,63 @@
+/*
+ * am335x-cm-t335.dts - Device Tree file for Compulab CM-T335
+ *
+ * Copyright (C) 2014 - 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ *
+ * 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 "am33xx.dtsi"
+
+/ {
+   model = "CompuLab CM-T335";
+   compatible = "compulab,cm-t335", "ti,am33xx";
+
+   memory {
+   device_type = "memory";
+   reg = <0x8000 0x800>;   /* 128 MB */
+   };
+
+   leds {
+   compatible = "gpio-leds";
+   pinctrl-names = "default";
+   pinctrl-0 = <_led_pins>;
+   led@0 {
+   label = "cm_t335:green";
+   gpios = < 0 GPIO_ACTIVE_LOW>; /* gpio2_0 */
+   linux,default-trigger = "heartbeat";
+   };
+   };
+};
+
+_pinmux {
+   pinctrl-names = "default";
+   pinctrl-0 = <>;
+
+   gpio_led_pins: pinmux_gpio_led_pins {
+   pinctrl-single,pins = <
+   /* gpmc_csn3.gpio2_0 */
+   AM33XX_IOPAD(0x888, PIN_OUTPUT | MUX_MODE7)
+   >;
+   };
+
+   uart0_pins: pinmux_uart0_pins {
+   pinctrl-single,pins = <
+   /* uart0_rxd.uart0_rxd */
+   AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* uart0_txd.uart0_txd */
+   AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   >;
+   };
+};
+
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+
+   status = "okay";
+};
+
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 0/6] ARM: OMAP2+: dts: cm-t335: initial support

2015-11-24 Thread Uri Mashiach
Add basic support for CompuLab cm-t335 module based on AM335X SoC.

CM-T335 is a tiny computer-on-module (CoM) / system-on-module (SoM)
The module is built around the Texas Instruments Sitara AM3352/4
system-on-chip.

The CPU is supplemented with up-to 512MB DDR3 and up-to 1GB of on-board
NAND storage, WiFi connected to SPI, Bluetooth, Analog audio, Gigabit
Ethernet, CAN bus.

[v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions ]
Ilya Ledvich (6):
  ARM: OMAP2+: dts: cm-t335: add initial support
  ARM: OMAP2+: dts: cm-t335: add basic support for I2C
  ARM: OMAP2+: dts: cm-t335: add support for NAND flash
  ARM: OMAP2+: dts: cm-t335: add support for MMC
  ARM: OMAP2+: dts: cm-t335: add support for network device
  ARM: OMAP2+: dts: cm-t335: add support for PWM backlight

 .../devicetree/bindings/arm/omap/omap.txt  |   3 +
 arch/arm/boot/dts/Makefile |   7 +-
 arch/arm/boot/dts/am335x-cm-t335.dts   | 348 +
 3 files changed, 355 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/am335x-cm-t335.dts

-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 2/6] ARM: OMAP2+: dts: cm-t335: add basic support for I2C

2015-11-24 Thread Uri Mashiach
From: Ilya Ledvich 

Add pinmux configuration for I2C0 and I2C1 pins.
Add description for I2C0 bus, set clock frequency to 400kHz.
Add child nodes for 24c02 EEPROM and em3027 RTC on I2C0 bus.

Signed-off-by: Ilya Ledvich 
Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions

 arch/arm/boot/dts/am335x-cm-t335.dts | 37 
 1 file changed, 37 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index 719658e..02b6679 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -37,6 +37,24 @@
pinctrl-names = "default";
pinctrl-0 = <>;
 
+   i2c0_pins: pinmux_i2c0_pins {
+   pinctrl-single,pins = <
+   /* i2c0_sda.i2c0_sda */
+   AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* i2c0_scl.i2c0_scl */
+   AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)
+   >;
+   };
+
+   i2c1_pins: pinmux_i2c1_pins {
+   pinctrl-single,pins = <
+   /* uart0_ctsn.i2c1_sda */
+   AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE2)
+   /* uart0_rtsn.i2c1_scl */
+   AM33XX_IOPAD(0x96c, PIN_INPUT_PULLUP | MUX_MODE2)
+   >;
+   };
+
gpio_led_pins: pinmux_gpio_led_pins {
pinctrl-single,pins = <
/* gpmc_csn3.gpio2_0 */
@@ -61,3 +79,22 @@
status = "okay";
 };
 
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+
+   status = "okay";
+   clock-frequency = <40>;
+   /* CM-T335 board EEPROM */
+   eeprom: 24c02@50 {
+   compatible = "atmel,24c02";
+   reg = <0x50>;
+   pagesize = <16>;
+   };
+   /* Real Time Clock */
+   ext_rtc: em3027@56 {
+   compatible = "emmicro,em3027";
+   reg = <0x56>;
+   };
+};
+
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 6/6] ARM: OMAP2+: dts: cm-t335: add support for PWM backlight

2015-11-24 Thread Uri Mashiach
From: Ilya Ledvich 

Add pinmux configuration for ECAP0 pin.
Add node for PWM backlight device.
Use PWM output from ecap0 as backlight source.

Signed-off-by: Ilya Ledvich 
Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions

 arch/arm/boot/dts/am335x-cm-t335.dts | 24 
 1 file changed, 24 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index 9be0bfe..4939d82 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -39,6 +39,13 @@
regulator-min-microvolt = <330>;
regulator-max-microvolt = <330>;
};
+
+   backlight {
+   compatible = "pwm-backlight";
+   pwms = < 0 5 0>;
+   brightness-levels = <0 51 53 56 62 75 101 152 255>;
+   default-brightness-level = <8>;
+   };
 };
 
 _pinmux {
@@ -114,6 +121,13 @@
>;
};
 
+   ecap0_pins: pinmux_ecap0_pins {
+   pinctrl-single,pins = <
+   /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
+   AM33XX_IOPAD(0x964, 0x0)
+   >;
+   };
+
cpsw_default: cpsw_default {
pinctrl-single,pins = <
/* Slave 1 */
@@ -223,6 +237,16 @@
};
 };
 
+ {
+   status = "okay";
+
+   ecap0: ecap@48300100 {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+   };
+};
+
  {
status = "okay";
pinctrl-names = "default";
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 4/6] ARM: OMAP2+: dts: cm-t335: add support for MMC

2015-11-24 Thread Uri Mashiach
From: Ilya Ledvich 

Add pinmux configuration for MMC0 pins.
Add fixed regulator 'vmmc_fixed'.
Enable MMC0 in 4-bit mode.

Signed-off-by: Ilya Ledvich 
Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions

 arch/arm/boot/dts/am335x-cm-t335.dts | 33 +
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index 431b6dd..0a20256 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -31,6 +31,14 @@
linux,default-trigger = "heartbeat";
};
};
+
+   /* regulator for mmc */
+   vmmc_fixed: fixedregulator@0 {
+   compatible = "regulator-fixed";
+   regulator-name = "vmmc_fixed";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   };
 };
 
 _pinmux {
@@ -105,6 +113,23 @@
AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
>;
};
+
+   mmc1_pins: pinmux_mmc1_pins {
+   pinctrl-single,pins = <
+   /* mmc0_dat3.mmc0_dat3 */
+   AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* mmc0_dat2.mmc0_dat2 */
+   AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* mmc0_dat1.mmc0_dat1 */
+   AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* mmc0_dat0.mmc0_dat0 */
+   AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* mmc0_clk.mmc0_clk */
+   AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* mmc0_cmd.mmc0_cmd */
+   AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)
+   >;
+   };
 };
 
  {
@@ -204,3 +229,11 @@
status = "okay";
 };
 
+ {
+   status = "okay";
+   vmmc-supply = <_fixed>;
+   bus-width = <4>;
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+};
+
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 5/6] ARM: OMAP2+: dts: cm-t335: add support for network device

2015-11-24 Thread Uri Mashiach
From: Ilya Ledvich 

Add pinmux configurations for RGMII1 based CPSW Ethernet pins and
MDIO pins:
 - default configuration required for module in active state,
 - sleep configuration required for module in inactive state.
Add mac node with single slave device. Add nodes for davinci_mdio and
cpsw_emac0.

Signed-off-by: Ilya Ledvich 
Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions

 arch/arm/boot/dts/am335x-cm-t335.dts | 85 
 1 file changed, 85 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index 0a20256..9be0bfe 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -114,6 +114,71 @@
>;
};
 
+   cpsw_default: cpsw_default {
+   pinctrl-single,pins = <
+   /* Slave 1 */
+   /* mii1_tx_en.rgmii1_tctl */
+   AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_rxdv.rgmii1_rctl */
+   AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_txd3.rgmii1_td3 */
+   AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_txd2.rgmii1_td2 */
+   AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_txd1.rgmii1_td1 */
+   AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_txd0.rgmii1_td0 */
+   AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_txclk.rgmii1_tclk */
+   AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_rxclk.rgmii1_rclk */
+   AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_rxd3.rgmii1_rd3 */
+   AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_rxd2.rgmii1_rd2 */
+   AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_rxd1.rgmii1_rd1 */
+   AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2)
+   /* mii1_rxd0.rgmii1_rd0 */
+   AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2)
+   >;
+   };
+
+   cpsw_sleep: cpsw_sleep {
+   pinctrl-single,pins = <
+   /* Slave 1 reset value */
+   AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   >;
+   };
+
+   davinci_mdio_default: davinci_mdio_default {
+   pinctrl-single,pins = <
+   /* mdio_data.mdio_data */
+   AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | 
MUX_MODE0)
+   /* mdio_clk.mdio_clk */
+   AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0)
+   >;
+   };
+
+   davinci_mdio_sleep: davinci_mdio_sleep {
+   pinctrl-single,pins = <
+   /* MDIO reset value */
+   AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7)
+   >;
+   };
+
mmc1_pins: pinmux_mmc1_pins {
pinctrl-single,pins = <
/* mmc0_dat3.mmc0_dat3 */
@@ -229,6 +294,26 @@
status = "okay";
 };
 
+ {
+   pinctrl-names = "default", "sleep";
+   pinctrl-0 = <_default>;
+   pinctrl-1 = <_sleep>;
+   slaves = <1>;
+   status = "okay";
+};
+
+_mdio {
+   pinctrl-names = "default", "sleep";
+   pinctrl-0 = <_mdio_default>;
+   pinctrl-1 = <_mdio_sleep>;
+   status = "okay";
+};
+
+_emac0 {
+   phy_id = <_mdio>, <0>;
+   phy-mode = "rgmii-txid";
+};
+
  {
status = "okay";