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

2015-12-01 Thread Nishanth Menon
On 12/01/2015 10:43 AM, Tony Lindgren wrote:
> * Dmitry Lifshitz  [151201 08:26]:
>>
>> It might looks the same set of regulators for multiple boards,
>> but it is not. Each board may apply its own regulators usage scheme, and
>> this is our case (as compared to am57xx-beagle-x15.dts).
>>
>> For the best of my knowledge, it used to be in a common *.dtsi file (at
>> least in early OMAP5 DT support in TI kernel tree), but then I found that
>> PMIC registration had been moved to the boards DT files.
> 
> Have you actually looked at how much of the implementation is same across
> the omap5 boards? My guess is that a whole lot is same.. See for example
> omap5-board-common.dtsi.

Unfortunately with DRA7 / AM57xx:
at least 2 different PMICs -> DRA74/DRA72 evms.
even across similar PMIC usage, different voltage rail usage accross
evms: DRA74evm, x15/GPEVM, AM571x-IDK/AM572x-IDK -> they are not
necessarily compatible.

Example: some of them have Ganged voltage rail, others dont - few others
are mixed. if you are trying to get common regulator usage -> it is
kinda pretty hard given the freedom board designers are being given by
TI.. OMAP5 was more controlled in terms of what specific configuration
the board designers had to follow. that is no longer the case for
DRA7/AM57 platforms. just my 2 cents here.

-- 
Regards,
Nishanth Menon
--
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 01/18] ARM: am57xx: cl-som-am57x: dts: add basic module support

2015-12-01 Thread Tony Lindgren
* Dmitry Lifshitz  [151201 08:26]:
> 
> It might looks the same set of regulators for multiple boards,
> but it is not. Each board may apply its own regulators usage scheme, and
> this is our case (as compared to am57xx-beagle-x15.dts).
> 
> For the best of my knowledge, it used to be in a common *.dtsi file (at
> least in early OMAP5 DT support in TI kernel tree), but then I found that
> PMIC registration had been moved to the boards DT files.

Have you actually looked at how much of the implementation is same across
the omap5 boards? My guess is that a whole lot is same.. See for example
omap5-board-common.dtsi.

Regards,

Tony
--
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 01/18] ARM: am57xx: cl-som-am57x: dts: add basic module support

2015-12-01 Thread Tony Lindgren
* Nishanth Menon  [151201 08:48]:
> On 12/01/2015 10:43 AM, Tony Lindgren wrote:
> > * Dmitry Lifshitz  [151201 08:26]:
> >>
> >> It might looks the same set of regulators for multiple boards,
> >> but it is not. Each board may apply its own regulators usage scheme, and
> >> this is our case (as compared to am57xx-beagle-x15.dts).
> >>
> >> For the best of my knowledge, it used to be in a common *.dtsi file (at
> >> least in early OMAP5 DT support in TI kernel tree), but then I found that
> >> PMIC registration had been moved to the boards DT files.
> > 
> > Have you actually looked at how much of the implementation is same across
> > the omap5 boards? My guess is that a whole lot is same.. See for example
> > omap5-board-common.dtsi.
> 
> Unfortunately with DRA7 / AM57xx:
> at least 2 different PMICs -> DRA74/DRA72 evms.
> even across similar PMIC usage, different voltage rail usage accross
> evms: DRA74evm, x15/GPEVM, AM571x-IDK/AM572x-IDK -> they are not
> necessarily compatible.
> 
> Example: some of them have Ganged voltage rail, others dont - few others
> are mixed. if you are trying to get common regulator usage -> it is
> kinda pretty hard given the freedom board designers are being given by
> TI.. OMAP5 was more controlled in terms of what specific configuration
> the board designers had to follow. that is no longer the case for
> DRA7/AM57 platforms. just my 2 cents here.

OK thanks for checking. Best to wait a bit on that then until we have
more common patterns.

Regards,

Tony
--
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 01/18] ARM: am57xx: cl-som-am57x: dts: add basic module support

2015-12-01 Thread Dmitry Lifshitz

Hi Tony,

On 11/30/2015 11:54 PM, Tony Lindgren wrote:

* Dmitry Lifshitz  [151130 06:27]:

+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
+   tps659038_pmic {
+   compatible = "ti,tps659038-pmic";
+
+   regulators {
+   smps12_reg: smps12 {
+   /* VDD_MPU */
+   regulator-name = "smps12";
+   regulator-min-microvolt = < 85>;
+   regulator-max-microvolt = <125>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps3_reg: smps3 {
+   /* VDD_DDR */
+   regulator-name = "smps3";
+   regulator-min-microvolt = <150>;
+   regulator-max-microvolt = <150>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps45_reg: smps45 {
+   /* VDD_DSPEVE */
+   regulator-name = "smps45";
+   regulator-min-microvolt = < 85>;
+   regulator-max-microvolt = <125>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps6_reg: smps6 {
+   /* VDD_GPU */
+   regulator-name = "smps6";
+   regulator-min-microvolt = < 85>;
+   regulator-max-microvolt = <125>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps7_reg: smps7 {
+   /* VDD_CORE */
+   regulator-name = "smps7";
+   regulator-min-microvolt = < 85>;
+   regulator-max-microvolt = <116>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps8_reg: smps8 {
+   /* VDD_IVA */
+   regulator-name = "smps8";
+   regulator-min-microvolt = < 85>;
+   regulator-max-microvolt = <125>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   smps9_reg: smps9 {
+   /* PMIC_3V3 */
+   regulator-name = "smps9";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+
+   ldo1_reg: ldo1 {
+   /* VDD_SD / VDDSHV8  */
+   regulator-name = "ldo1";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   ldo2_reg: ldo2 {
+   /* VDD_1V8 */
+   regulator-name = "ldo2";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-always-on;
+   regulator-boot-on;
+   };
+
+   ldo3_reg: ldo3 {
+   /* VDDA_1V8_PHYA - supplies VDDA_SATA, 
VDDA_USB1/2/3 */
+   regulator-name = "ldo3";
+   regulator-min-microvolt = <180>;
+   

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

2015-11-30 Thread Tony Lindgren
* Dmitry Lifshitz  [151130 06:27]:
> +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
> + tps659038_pmic {
> + compatible = "ti,tps659038-pmic";
> +
> + regulators {
> + smps12_reg: smps12 {
> + /* VDD_MPU */
> + regulator-name = "smps12";
> + regulator-min-microvolt = < 85>;
> + regulator-max-microvolt = <125>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + smps3_reg: smps3 {
> + /* VDD_DDR */
> + regulator-name = "smps3";
> + regulator-min-microvolt = <150>;
> + regulator-max-microvolt = <150>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + smps45_reg: smps45 {
> + /* VDD_DSPEVE */
> + regulator-name = "smps45";
> + regulator-min-microvolt = < 85>;
> + regulator-max-microvolt = <125>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + smps6_reg: smps6 {
> + /* VDD_GPU */
> + regulator-name = "smps6";
> + regulator-min-microvolt = < 85>;
> + regulator-max-microvolt = <125>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + smps7_reg: smps7 {
> + /* VDD_CORE */
> + regulator-name = "smps7";
> + regulator-min-microvolt = < 85>;
> + regulator-max-microvolt = <116>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + smps8_reg: smps8 {
> + /* VDD_IVA */
> + regulator-name = "smps8";
> + regulator-min-microvolt = < 85>;
> + regulator-max-microvolt = <125>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + smps9_reg: smps9 {
> + /* PMIC_3V3 */
> + regulator-name = "smps9";
> + regulator-min-microvolt = <330>;
> + regulator-max-microvolt = <330>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> +
> + ldo1_reg: ldo1 {
> + /* VDD_SD / VDDSHV8  */
> + regulator-name = "ldo1";
> + regulator-min-microvolt = <180>;
> + regulator-max-microvolt = <330>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: ldo2 {
> + /* VDD_1V8 */
> + regulator-name = "ldo2";
> + regulator-min-microvolt = <180>;
> + regulator-max-microvolt = <180>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + ldo3_reg: ldo3 {
> + /* VDDA_1V8_PHYA - supplies VDDA_SATA, 
> VDDA_USB1/2/3 */
> + regulator-name = "ldo3";
> + regulator-min-microvolt = <180>;
> + regulator-max-microvolt = <180>;
> +

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

2015-11-30 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 
---

 v2: 

   * Fixed voltages (for OPP_HIGH) for VDD_GPU, VDD_IVA, VDD_DSPEVE
   * Added comments for VDDA_1V8_PHYA/B
   * Add "regulator-always-on" property for ldousb_reg 

 .../devicetree/bindings/arm/omap/omap.txt  |   3 +
 arch/arm/boot/dts/Makefile |   3 +-
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts  | 260 +
 3 files changed, 265 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..840eba6
--- /dev/null
+++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts
@@ -0,0 +1,260 @@
+/*
+ * 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";
+
+