[PATCH 2/5] ARM: dts: cm-t335: add support for SBC-T335

2015-12-13 Thread Uri Mashiach
Add basic support for the SBC-T335.

CompuLab SBC-T335 is a single baseboard computer.
The SBC-T335 is based on the Texas Instruments Cortex-A8 Sitara AM3354
SoC.

Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
 Documentation/devicetree/bindings/arm/omap/omap.txt |  3 +++
 arch/arm/boot/dts/Makefile  |  1 +
 arch/arm/boot/dts/am335x-sbc-t335.dts   | 16 
 3 files changed, 20 insertions(+)
 create mode 100644 arch/arm/boot/dts/am335x-sbc-t335.dts

diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt 
b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 2154f97..358e87e 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -141,6 +141,9 @@ Boards:
 - AM335X CM-T335 : System On Module, built around the Sitara AM3352/4
   compatible = "compulab,cm-t335", "ti,am33xx"
 
+- AM335X SBC-T335 : single board computer, built around the Sitara AM3352/4
+  compatible = "compulab,sbc-t335", "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 15411bc..d82ea97 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -466,6 +466,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
am335x-lxm.dtb \
am335x-nano.dtb \
am335x-pepper.dtb \
+   am335x-sbc-t335.dtb \
am335x-sl50.dtb \
am335x-wega-rdk.dtb
 dtb-$(CONFIG_ARCH_OMAP4) += \
diff --git a/arch/arm/boot/dts/am335x-sbc-t335.dts 
b/arch/arm/boot/dts/am335x-sbc-t335.dts
new file mode 100644
index 000..9e98445
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-sbc-t335.dts
@@ -0,0 +1,16 @@
+/*
+ * am335x-sbc-t335.dts - Device Tree file for Compulab SBC-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.
+ */
+
+#include "am335x-cm-t335.dts"
+
+/ {
+   model = "CompuLab CM-T335 on SB-T335";
+   compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
+};
-- 
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 3/5] ARM: dts: cm-t335: add support for I2C GPIO expander

2015-12-13 Thread Uri Mashiach
The I2C GPIO expander (PCA9555) adds 16 GPIOs to the module.

Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am335x-sbc-t335.dts | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-sbc-t335.dts 
b/arch/arm/boot/dts/am335x-sbc-t335.dts
index 9e98445..4a5177e 100644
--- a/arch/arm/boot/dts/am335x-sbc-t335.dts
+++ b/arch/arm/boot/dts/am335x-sbc-t335.dts
@@ -14,3 +14,14 @@
model = "CompuLab CM-T335 on SB-T335";
compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
 };
+
+ {
+   /* GPIO extender */
+   gpio_ext: pca9555@26 {
+   compatible = "nxp,pca9555";
+   pinctrl-names = "default";
+   gpio-controller;
+   #gpio-cells = <2>;
+   reg = <0x26>;
+   };
+};
-- 
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 1/5] ARM: dts: cm-t335: add support for USB0

2015-12-13 Thread Uri Mashiach
From: Ilya Ledvich 

Enable USB0.

Signed-off-by: Ilya Ledvich 
Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am335x-cm-t335.dts | 20 
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index 31ff1aa..ae2366e 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -237,6 +237,26 @@
};
 };
 
+ {
+   status = "okay";
+};
+
+_ctrl_mod {
+   status = "okay";
+};
+
+_phy {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+  {
+   status = "okay";
+};
+
  {
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 0/5] ARM: dts: cm-t335: add peripheral support

2015-12-13 Thread Uri Mashiach
Add support for the following CM-T335 module peripherals:
USB, I2C controller, LCD/DVI, bluetooth

Ilya Ledvich (1):
  ARM: dts: cm-t335: add support for USB0

Uri Mashiach (4):
  ARM: dts: cm-t335: add support for SBC-T335
  ARM: dts: cm-t335: add support for I2C GPIO expander
  ARM: dts: cm-t335: add support for DVI/LCD
  ARM: dts: cm-t335: add support for bluetooth

 .../devicetree/bindings/arm/omap/omap.txt  |   3 +
 arch/arm/boot/dts/Makefile |   1 +
 arch/arm/boot/dts/am335x-cm-t335.dts   |  51 -
 arch/arm/boot/dts/am335x-sbc-t335.dts  | 219 +
 4 files changed, 273 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/am335x-sbc-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 4/5] ARM: dts: cm-t335: add support for DVI/LCD

2015-12-13 Thread Uri Mashiach
Add pinmux configuration for DVI/LCD.
Add DRM display driver node with timing configurations for DVI and LCD.
Add I2C GPIOs configurations for DVI and LCD enable.

Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am335x-sbc-t335.dts | 192 ++
 1 file changed, 192 insertions(+)

diff --git a/arch/arm/boot/dts/am335x-sbc-t335.dts 
b/arch/arm/boot/dts/am335x-sbc-t335.dts
index 4a5177e..917d7cc 100644
--- a/arch/arm/boot/dts/am335x-sbc-t335.dts
+++ b/arch/arm/boot/dts/am335x-sbc-t335.dts
@@ -13,6 +13,181 @@
 / {
model = "CompuLab CM-T335 on SB-T335";
compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
+
+   /* DRM display driver */
+   panel {
+   compatible = "ti,tilcdc,panel";
+   status = "okay";
+   pinctrl-names = "default", "sleep";
+   pinctrl-0 = <_pins_default>;
+   pinctrl-1 = <_pins_sleep>;
+
+   panel-info {
+   ac-bias   = <255>;
+   ac-bias-intrpt= <0>;
+   dma-burst-sz  = <16>;
+   bpp   = <32>;
+   fdd   = <0x80>;
+   sync-edge = <0>;
+   sync-ctrl = <1>;
+   raster-order  = <0>;
+   fifo-th   = <0>;
+   };
+   display-timings {
+   /* Timing selection performed by U-Boot */
+   timing0: lcd {/* 800x480p62 */
+   clock-frequency = <3000>;
+   hactive = <800>;
+   vactive = <480>;
+   hfront-porch = <39>;
+   hback-porch = <39>;
+   hsync-len = <47>;
+   vback-porch = <29>;
+   vfront-porch = <13>;
+   vsync-len = <2>;
+   hsync-active = <1>;
+   vsync-active = <1>;
+   };
+   timing1: dvi { /* 1024x768p60 */
+   clock-frequency = <6500>;
+   hactive = <1024>;
+   hfront-porch = <24>;
+   hback-porch = <160>;
+   hsync-len = <136>;
+   vactive = <768>;
+   vfront-porch = <3>;
+   vback-porch = <29>;
+   vsync-len = <6>;
+   hsync-active = <0>;
+   vsync-active = <0>;
+   };
+   };
+   };
+};
+
+_pinmux {
+   /* Display */
+   lcd_pins_default: lcd_pins_default {
+   pinctrl-single,pins = <
+   /* gpmc_ad8.lcd_data23 */
+   AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad9.lcd_data22 */
+   AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad10.lcd_data21 */
+   AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad11.lcd_data20 */
+   AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad12.lcd_data19 */
+   AM33XX_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad13.lcd_data18 */
+   AM33XX_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad14.lcd_data17 */
+   AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1)
+   /* gpmc_ad15.lcd_data16 */
+   AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1)
+   /* lcd_data0.lcd_data0 */
+   AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data1.lcd_data1 */
+   AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data2.lcd_data2 */
+   AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data3.lcd_data3 */
+   AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data4.lcd_data4 */
+   AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data5.lcd_data5 */
+   AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data6.lcd_data6 */
+   AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)
+   /* lcd_data7.lcd_data7 */
+   AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)
+

[PATCH 5/5] ARM: dts: cm-t335: add support for bluetooth

2015-12-13 Thread Uri Mashiach
bluetooth HW is WLS1271 chip connected to UART1.

Device tree modifications:
- Pinmux for UART1.
- Pinmux for bluetooth enable GPIO.

Bluetooth enable GPIO is set to enable during startup by setting the
relevant pinmux pin to pull-up.

Signed-off-by: Uri Mashiach 
Acked-by: Igor Grinberg 
---
 arch/arm/boot/dts/am335x-cm-t335.dts | 31 ++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts 
b/arch/arm/boot/dts/am335x-cm-t335.dts
index ae2366e..42e9b66 100644
--- a/arch/arm/boot/dts/am335x-cm-t335.dts
+++ b/arch/arm/boot/dts/am335x-cm-t335.dts
@@ -50,7 +50,7 @@
 
 _pinmux {
pinctrl-names = "default";
-   pinctrl-0 = <>;
+   pinctrl-0 = <_pins>;
 
i2c0_pins: pinmux_i2c0_pins {
pinctrl-single,pins = <
@@ -121,6 +121,19 @@
>;
};
 
+   uart1_pins: pinmux_uart1_pins {
+   pinctrl-single,pins = <
+   /* uart1_ctsn.uart1_ctsn */
+   AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE0)
+   /* uart1_rtsn.uart1_rtsn */
+   AM33XX_IOPAD(0x97C, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   /* uart1_rxd.uart1_rxd */
+   AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0)
+   /* uart1_txd.uart1_txd */
+   AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
+   >;
+   };
+
ecap0_pins: pinmux_ecap0_pins {
pinctrl-single,pins = <
/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
@@ -209,6 +222,14 @@
AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)
>;
};
+
+   /* wl1271 bluetooth */
+   bluetooth_pins: pinmux_bluetooth_pins {
+   pinctrl-single,pins = <
+   /* XDMA_EVENT_INTR0.gpio0_19 - bluetooth enable */
+   AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE7)
+   >;
+   };
 };
 
  {
@@ -218,6 +239,14 @@
status = "okay";
 };
 
+/* WLS1271 bluetooth */
+ {
+   pinctrl-names = "default";
+   pinctrl-0 = <_pins>;
+
+status = "okay";
+};
+
  {
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


Re: [PATCH 1/2] regulator: tps65917: Add bypass ops for ldo1 and ldo2 regulators

2015-12-13 Thread Keerthy



On Friday 11 December 2015 10:17 PM, Nishanth Menon wrote:

On 12/11/2015 12:28 AM, Keerthy wrote:

set/get_bypass ops were missing for ldo1/ldo2 regulators which
support bypass mode. Adding the bypass ops for ldo1 and ldo2.
This helps consumers configure ldo1 and ldo2 in bypass mode or
remove bypass mode if need be.

Signed-off-by: Keerthy 
Reported-by: Kishon Vijay Abraham I 
---
  drivers/regulator/palmas-regulator.c | 20 
  1 file changed, 20 insertions(+)

diff --git a/drivers/regulator/palmas-regulator.c 
b/drivers/regulator/palmas-regulator.c
index 8217613..776b59a 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -389,6 +389,7 @@ static unsigned int palmas_smps_ramp_delay[4] = {0, 1, 
5000, 2500};
  #define SMPS10_BOOST_EN   (1<<2)
  #define SMPS10_BYPASS_EN  (1<<1)
  #define SMPS10_SWITCH_EN  (1<<0)
+#define TPS65917_LDO_1_2_BYPASS_EN BIT(6)



This also applies to TWL6035/37, TPS659038 LDO9 as well.
why not do it for all? considering the bit definition is the same as well?


I will send a patch on top of this.





  #define REGULATOR_SLAVE   0

@@ -639,6 +640,19 @@ static struct regulator_ops tps65917_ops_ldo = {
.set_voltage_time_sel   = regulator_set_voltage_time_sel,
  };

+static struct regulator_ops tps65917_ops_ldo_1_2 = {
+   .is_enabled = palmas_is_enabled_ldo,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .get_voltage_sel= regulator_get_voltage_sel_regmap,
+   .set_voltage_sel= regulator_set_voltage_sel_regmap,
+   .list_voltage   = regulator_list_voltage_linear,
+   .map_voltage= regulator_map_voltage_linear,
+   .set_voltage_time_sel   = regulator_set_voltage_time_sel,
+   .set_bypass = regulator_set_bypass_regmap,
+   .get_bypass = regulator_get_bypass_regmap,
+};
+
  static int palmas_regulator_config_external(struct palmas *palmas, int id,
struct palmas_reg_init *reg_init)
  {
@@ -1019,6 +1033,12 @@ static int tps65917_ldo_registration(struct palmas_pmic 
*pmic,
 * It is of the order of ~60mV/uS.
 */
desc->ramp_delay = 2500;
+   if (id == TPS65917_REG_LDO1 ||
+   id == TPS65917_REG_LDO2) {
+   desc->ops = _ops_ldo_1_2;
+   desc->bypass_reg = desc->enable_reg;
+   desc->bypass_mask = TPS65917_LDO_1_2_BYPASS_EN;
+   }
} else {
desc->n_voltages = 1;
if (reg_init && reg_init->roof_floor)





--
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 1/2] video:omap2:dss: fix timings for VENC to match what omapdrm expects

2015-12-13 Thread H. Nikolaus Schaller
Hi Tomi,

Am 09.12.2015 um 09:18 schrieb Tomi Valkeinen :

> 
> On 13/11/15 12:29, H. Nikolaus Schaller wrote:
>> Otherwise check_timings fails and we get a "has no modes" message
>> from xrandr.
>> 
>> This fix makes the venc assume PAL and NTSC timings that match the
>> timings synthetized by copy_timings_drm_to_omap() from omapdrm
>> mode settings so that check_timings() succeeds.
>> 
>> Tested on: BeagleBoard XM, GTA04 and OpenPandora
>> 
>> Signed-off-by: H. Nikolaus Schaller 
>> ---
>> drivers/video/fbdev/omap2/dss/venc.c | 12 
>> 1 file changed, 12 insertions(+)
> 
> I've picked this up.

Thanks!

> 
> With this patch and the one below I can get tv-out working on my very old
> beagleboard, and it seems to work with X also. It doesn't start automatically
> as the connection state is unknown, but doing "xrandr --output None-1 --auto"
> was all I needed to enable it.

Great that you did find the real reason of the problem.

I have tested it on the GTA04 and it also works.

Will the patches arrive in 4.5?

So thanks a lot,
Nikolaus

> 
> Tomi
> 
> From a4274600a5a67256b91266b0d2624b9c9028909b Mon Sep 17 00:00:00 2001
> From: Tomi Valkeinen 
> Date: Tue, 8 Dec 2015 18:32:14 +0200
> Subject: [PATCH] drm/omap: fix fbdev pix format to support all platforms
> 
> omap_fbdev always creates a framebuffer with ARGB pixel format. On
> OMAP3 we have VIDEO1 overlay that does not support ARGB, and on
> OMAP2 none of the overlays support ARGB888.
> 
> This patch changes the omap_fbdev's fb to XRGB, which is supported
> by all platforms.
> 
> Signed-off-by: Tomi Valkeinen 
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c 
> b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> index b8e4cdec28c3..24f92bea39c7 100644
> --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
> +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> @@ -112,11 +112,8 @@ static int omap_fbdev_create(struct drm_fb_helper 
> *helper,
>   dma_addr_t paddr;
>   int ret;
> 
> - /* only doing ARGB32 since this is what is needed to alpha-blend
> -  * with video overlays:
> -  */
>   sizes->surface_bpp = 32;
> - sizes->surface_depth = 32;
> + sizes->surface_depth = 24;
> 
>   DBG("create fbdev: %dx%d@%d (%dx%d)", sizes->surface_width,
>   sizes->surface_height, sizes->surface_bpp,
> 

--
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 004/182] gpio: generic: factor into gpio_chip struct

2015-12-13 Thread Linus Walleij
On Thu, Dec 10, 2015 at 12:08 AM, Michael Welling  wrote:
> On Wed, Dec 09, 2015 at 02:12:40PM +0100, Linus Walleij wrote:
> ...
>> - ret = gpiochip_add(>gc);
>> + ret = gpiochip_add_data(gc, NULL);
>>   if (ret) {
>
> gpiochip_add is still mentioned in the dev_err below.

I explicitly left text string updates aside, I am anyways going to have to go
over all drivers for a second refactoring with gpiodev_alloc() etc.

Yours,
Linus Walleij
--
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 2/5] ARM: dts: cm-t335: add support for SBC-T335

2015-12-13 Thread Rob Herring
On Sun, Dec 13, 2015 at 10:55:36AM +0200, Uri Mashiach wrote:
> Add basic support for the SBC-T335.
> 
> CompuLab SBC-T335 is a single baseboard computer.
> The SBC-T335 is based on the Texas Instruments Cortex-A8 Sitara AM3354
> SoC.
> 
> Signed-off-by: Uri Mashiach 
> Acked-by: Igor Grinberg 

Acked-by: Rob Herring 

> ---
>  Documentation/devicetree/bindings/arm/omap/omap.txt |  3 +++
>  arch/arm/boot/dts/Makefile  |  1 +
>  arch/arm/boot/dts/am335x-sbc-t335.dts   | 16 
>  3 files changed, 20 insertions(+)
>  create mode 100644 arch/arm/boot/dts/am335x-sbc-t335.dts
> 
> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt 
> b/Documentation/devicetree/bindings/arm/omap/omap.txt
> index 2154f97..358e87e 100644
> --- a/Documentation/devicetree/bindings/arm/omap/omap.txt
> +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
> @@ -141,6 +141,9 @@ Boards:
>  - AM335X CM-T335 : System On Module, built around the Sitara AM3352/4
>compatible = "compulab,cm-t335", "ti,am33xx"
>  
> +- AM335X SBC-T335 : single board computer, built around the Sitara AM3352/4
> +  compatible = "compulab,sbc-t335", "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 15411bc..d82ea97 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -466,6 +466,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
>   am335x-lxm.dtb \
>   am335x-nano.dtb \
>   am335x-pepper.dtb \
> + am335x-sbc-t335.dtb \
>   am335x-sl50.dtb \
>   am335x-wega-rdk.dtb
>  dtb-$(CONFIG_ARCH_OMAP4) += \
> diff --git a/arch/arm/boot/dts/am335x-sbc-t335.dts 
> b/arch/arm/boot/dts/am335x-sbc-t335.dts
> new file mode 100644
> index 000..9e98445
> --- /dev/null
> +++ b/arch/arm/boot/dts/am335x-sbc-t335.dts
> @@ -0,0 +1,16 @@
> +/*
> + * am335x-sbc-t335.dts - Device Tree file for Compulab SBC-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.
> + */
> +
> +#include "am335x-cm-t335.dts"
> +
> +/ {
> + model = "CompuLab CM-T335 on SB-T335";
> + compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
> +};
> -- 
> 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


Re: [PATCH 004/182] gpio: generic: factor into gpio_chip struct

2015-12-13 Thread Gregory Fong
On Wed, Dec 9, 2015 at 5:12 AM, Linus Walleij  wrote:
> The separate struct bgpio_chip has been a pain to handle, both
> by being confusingly similar in name to struct gpio_chip and
> for being contained inside a struct so that struct gpio_chip
> is contained in a struct contained in a struct, making several
> steps of dereferencing necessary.
>
> Make things simpler: include the fields directly into
> , #ifdef:ed for CONFIG_GENERIC_GPIO, and
> get rid of the  altogether. Prefix
> some of the member variables with bgpio_* and add proper
> kerneldoc while we're at it.
>
> Modify all users to handle the change and use a struct
> gpio_chip directly. And while we're at it: replace all
> container_of() dereferencing by gpiochip_get_data() and
> registering the gpio_chip with gpiochip_add_data().
>
> Cc: a...@kernel.org
> Cc: Lee Jones 
> Cc: Alexander Shiyan 
> Cc: Shawn Guo 
> Cc: Sascha Hauer 
> Cc: Tony Lindgren 
> Cc: Kukjin Kim 
> Cc: Krzysztof Kozlowski 
> Cc: Alexandre Courbot 
> Cc: Gregory Fong 
> Cc: Brian Norris 
> Cc: Florian Fainelli 
> Cc: Liviu Dudau 
> Cc: Sudeep Holla 
> Cc: Lorenzo Pieralisi 
> Cc: Nicolas Pitre 
> Cc: Olof Johansson 
> Cc: Vladimir Zapolskiy 
> Cc: Rabin Vincent 
> Cc: linux-arm-ker...@lists.infradead.org
> Cc: linux-omap@vger.kernel.org
> Cc: linux-samsung-...@vger.kernel.org
> Cc: bcm-kernel-feedback-l...@broadcom.com
> Signed-off-by: Linus Walleij 
> ---
> ARM SoC folks and Lee: it would be great if you could
> ACK the few lines hitting arch/arm/* and drivers/mfd/* in this
> so I can take it through the GPIO tree.
> ---

[...]

>  drivers/gpio/gpio-brcmstb.c |  80 -

For brcmstb:

Acked-by: Gregory Fong 
--
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/3] regulator: TPS65917/palmas: Add bypass enabling/disabling support

2015-12-13 Thread Keerthy
ldo9 in palmas/tps659038 and ldo1,ldo2 in tps65917 have bypass
capability. Adding the ops for the same.

Boot tested on DRA7-EVM and DRA72-EVM.

Keerthy (3):
  regulator: tps65917/palmas: Add bypass ops for LDOs
  ARM: dts: DRA72-EVM: Add regulator-allow-bypass property for ldo1 and
ldo2
  ARM: dts: DRA7-EVM: Add regulator-allow-bypass property for ldo9

 arch/arm/boot/dts/dra7-evm.dts   |  1 +
 arch/arm/boot/dts/dra72-evm.dts  |  2 ++
 drivers/regulator/palmas-regulator.c | 39 
 3 files changed, 42 insertions(+)

-- 
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 v2 3/3] ARM: dts: DRA7-EVM: Add regulator-allow-bypass property for ldo9

2015-12-13 Thread Keerthy
Add regulator-allow-bypass property for ldo9.

Signed-off-by: Keerthy 
---
 arch/arm/boot/dts/dra7-evm.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 864f600..620e1b2 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -504,6 +504,7 @@
regulator-max-microvolt = <105>;
regulator-always-on;
regulator-boot-on;
+   regulator-allow-bypass;
};
 
ldoln_reg: ldoln {
-- 
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 v2 2/3] ARM: dts: DRA72-EVM: Add regulator-allow-bypass property for ldo1 and ldo2

2015-12-13 Thread Keerthy
Add regulator-allow-bypass property for ldo1 and ldo2.

Signed-off-by: Keerthy 
---
 arch/arm/boot/dts/dra72-evm.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/dra72-evm.dts b/arch/arm/boot/dts/dra72-evm.dts
index d6104d5..4e2824b 100644
--- a/arch/arm/boot/dts/dra72-evm.dts
+++ b/arch/arm/boot/dts/dra72-evm.dts
@@ -373,6 +373,7 @@
regulator-max-microvolt = <330>;
regulator-always-on;
regulator-boot-on;
+   regulator-allow-bypass;
};
 
ldo2_reg: ldo2 {
@@ -380,6 +381,7 @@
regulator-name = "ldo2";
regulator-min-microvolt = <180>;
regulator-max-microvolt = <330>;
+   regulator-allow-bypass;
};
 
ldo3_reg: ldo3 {
-- 
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 v2 1/3] regulator: tps65917/palmas: Add bypass ops for LDOs with bypass capability

2015-12-13 Thread Keerthy
set/get_bypass ops were missing for ldo1/ldo2 on tps65917 and
ldo9 on palmas/tps659038 which support bypass mode.
Adding the bypass ops helps consumers configure these ldos in
bypass mode or remove bypass mode if need be.

Signed-off-by: Keerthy 
Reported-by: Kishon Vijay Abraham I 
---

Changes in v2:

 * Added palmas/tps659038 ldo9 bypass ops.

 drivers/regulator/palmas-regulator.c | 39 
 1 file changed, 39 insertions(+)

diff --git a/drivers/regulator/palmas-regulator.c 
b/drivers/regulator/palmas-regulator.c
index 8217613..6efc7ee 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -612,6 +612,18 @@ static struct regulator_ops palmas_ops_ldo = {
.map_voltage= regulator_map_voltage_linear,
 };
 
+static struct regulator_ops palmas_ops_ldo9 = {
+   .is_enabled = palmas_is_enabled_ldo,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .get_voltage_sel= regulator_get_voltage_sel_regmap,
+   .set_voltage_sel= regulator_set_voltage_sel_regmap,
+   .list_voltage   = regulator_list_voltage_linear,
+   .map_voltage= regulator_map_voltage_linear,
+   .set_bypass = regulator_set_bypass_regmap,
+   .get_bypass = regulator_get_bypass_regmap,
+};
+
 static struct regulator_ops palmas_ops_ext_control_ldo = {
.get_voltage_sel= regulator_get_voltage_sel_regmap,
.set_voltage_sel= regulator_set_voltage_sel_regmap,
@@ -639,6 +651,19 @@ static struct regulator_ops tps65917_ops_ldo = {
.set_voltage_time_sel   = regulator_set_voltage_time_sel,
 };
 
+static struct regulator_ops tps65917_ops_ldo_1_2 = {
+   .is_enabled = palmas_is_enabled_ldo,
+   .enable = regulator_enable_regmap,
+   .disable= regulator_disable_regmap,
+   .get_voltage_sel= regulator_get_voltage_sel_regmap,
+   .set_voltage_sel= regulator_set_voltage_sel_regmap,
+   .list_voltage   = regulator_list_voltage_linear,
+   .map_voltage= regulator_map_voltage_linear,
+   .set_voltage_time_sel   = regulator_set_voltage_time_sel,
+   .set_bypass = regulator_set_bypass_regmap,
+   .get_bypass = regulator_get_bypass_regmap,
+};
+
 static int palmas_regulator_config_external(struct palmas *palmas, int id,
struct palmas_reg_init *reg_init)
 {
@@ -915,6 +940,13 @@ static int palmas_ldo_registration(struct palmas_pmic 
*pmic,
if (pdata && pdata->ldo6_vibrator &&
(id == PALMAS_REG_LDO6))
desc->enable_time = 2000;
+
+   if (id == PALMAS_REG_LDO9) {
+   desc->ops = _ops_ldo9;
+   desc->bypass_reg = desc->enable_reg;
+   desc->bypass_mask =
+   PALMAS_LDO9_CTRL_LDO_BYPASS_EN;
+   }
} else {
if (!ddata->has_regen3 && id == PALMAS_REG_REGEN3)
continue;
@@ -1019,6 +1051,13 @@ static int tps65917_ldo_registration(struct palmas_pmic 
*pmic,
 * It is of the order of ~60mV/uS.
 */
desc->ramp_delay = 2500;
+   if (id == TPS65917_REG_LDO1 ||
+   id == TPS65917_REG_LDO2) {
+   desc->ops = _ops_ldo_1_2;
+   desc->bypass_reg = desc->enable_reg;
+   desc->bypass_mask =
+   TPS65917_LDO1_CTRL_BYPASS_EN;
+   }
} else {
desc->n_voltages = 1;
if (reg_init && reg_init->roof_floor)
-- 
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