Re: [PATCH] arm64: dts: renesas: ulcb-kf: add pfc node for USB3.0 channel 0

2017-11-20 Thread Vladimir Barinov

Hi Geert,

Thank you for valuable review.

On 15.11.2017 19:49, Geert Uytterhoeven wrote:

Hi Vladimir,

On Wed, Nov 8, 2017 at 2:06 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

Adds the pfc node for USB3.0 channel 0.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
  arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
  1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 48a2e8f..2ecb6ac 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -173,6 +173,11 @@
 groups = "usb0";
 function = "usb0";
 };
+
+   usb30_pins: usb30 {
+   groups = "usb30";
+   function = "usb30";

This enabled USB30_PWEN and USB30_OVC.

However, these pins are routed via CN1A pins A97/A98 to HDMI_CS_A
and HDMI_CS_B, not to a USB PHY?

USB30_PWEN of the real USB PHY is provided by the i2c GPIO
expander U11.

I'm a bit puzzled by this... What am I missing?

This is my fault.
(Seems I've been looking for older KF schematic).

Please ignore this patch.




+   };
  };

   {
@@ -191,5 +196,8 @@
  };

   {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
 status = "okay";
  };

Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds



--
Regards,
Vladimir



[PATCH] arm64: dts: ulcb-kf: add dr_mode property for USB2.0 channel 0

2017-11-08 Thread Vladimir Barinov
ULCB-KF has a USB2.0 dual-role channel (CN13).
This adds dr_mode property for USB2.0 channel 0 (EHCI/OHCI and HS-USB)
as "otg".

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 2ecb6ac..ccf5409 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -29,6 +29,7 @@
 };
 
  {
+   dr_mode = "otg";
status = "okay";
 };
 
@@ -41,6 +42,7 @@
 };
 
  {
+   dr_mode = "otg";
status = "okay";
 };
 
@@ -133,6 +135,7 @@
 };
 
  {
+   dr_mode = "otg";
status = "okay";
 };
 
-- 
1.9.1



[PATCH] arm64: dts: renesas: ulcb-kf: add pfc node for USB3.0 channel 0

2017-11-08 Thread Vladimir Barinov
Adds the pfc node for USB3.0 channel 0.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 48a2e8f..2ecb6ac 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -173,6 +173,11 @@
groups = "usb0";
function = "usb0";
};
+
+   usb30_pins: usb30 {
+   groups = "usb30";
+   function = "usb30";
+   };
 };
 
  {
@@ -191,5 +196,8 @@
 };
 
  {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
status = "okay";
 };
-- 
1.9.1



[PATCH v2] arm64: dts: ulcb-kf: enable USB2 PHY of channel 0

2017-11-08 Thread Vladimir Barinov
This supports USB2 PHY channel #0 on ULCB Kingfisher board

The dedicated USB0_PWEN pin is used to control CN13 VBUS source from U43
power supply.
MAX3355 can also provide VBUS, hence it should be disabled via OTG_OFFVBUSn
node coming from gpio expander TCA9539.
Set MAX3355 enabled using OTG_EXTLPn node to be able to read OTG ID of CN13.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added gpio hogs for MAX3355 VBUS and SHDN

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 657ad10..48a2e8f 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -67,6 +67,20 @@
output-high;
line-name = "HUB rst";
};
+
+   otg_offvbusn {
+   gpio-hog;
+   gpios = <8 GPIO_ACTIVE_HIGH>;
+   output-low;
+   line-name = "OTG OFFVBUSn";
+   };
+
+   otg_extlpn {
+   gpio-hog;
+   gpios = <9 GPIO_ACTIVE_HIGH>;
+   output-high;
+   line-name = "OTG EXTLPn";
+   };
};
 
gpio_exp_75: gpio@75 {
@@ -154,6 +168,11 @@
groups = "scif1_data_b", "scif1_ctrl";
function = "scif1";
};
+
+   usb0_pins: usb0 {
+   groups = "usb0";
+   function = "usb0";
+   };
 };
 
  {
@@ -164,6 +183,13 @@
status = "okay";
 };
 
+_phy0 {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
+   status = "okay";
+};
+
  {
status = "okay";
 };
-- 
1.9.1



Re: [PATCH v2 04/18] arm64: dts: m3ulcb-kf: initial device tree

2017-10-10 Thread Vladimir Barinov

Hi Simon,

On 09.10.2017 10:18, Simon Horman wrote:

On Fri, Oct 06, 2017 at 11:18:00AM +0200, Simon Horman wrote:

On Fri, Oct 06, 2017 at 05:47:25AM +0300, Vladimir Barinov wrote:

Hi Simon, Geert,

Do you need extra actions from my side to accept this patch?

Yes, I need patch 3/18.
Could you repost it?

I see you have done so, thanks.

I have applied this patch with Geert's tag.  I had to apply the patch
manually so please check that I did so correctly once I have pushed the
next branch to the renesas tree a little later today.

I've verified that all is correct.
Thank you.

--
Regards,
Vladimir



[PATCH v2 03/18] arm64: dts: ulcb-kf: initial device tree

2017-10-06 Thread Vladimir Barinov
Add the initial common dtsi file for Kingfisher infotainment board (R-Car
Starter Kit extension)

This commit supports the following peripherals:
- HSCIF0

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 2:
- none

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 31 +++
 1 file changed, 31 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
new file mode 100644
index 000..849f8b1
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -0,0 +1,31 @@
+/*
+ * Device Tree Source for the Kingfisher (ULCB extension) board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/ {
+   aliases {
+   serial1 = 
+   };
+};
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   uart-has-rtscts;
+
+   status = "okay";
+};
+
+ {
+   hscif0_pins: hscif0 {
+   groups = "hscif0_data", "hscif0_ctrl";
+   function = "hscif0";
+   };
+};
-- 
1.9.1



Re: [PATCH 09/18] arm64: dts: ulcb-kf: enable USB2 PHY of channel 0

2017-10-06 Thread Vladimir Barinov

Hi Geert,

On 06.10.2017 10:15, Geert Uytterhoeven wrote:

Hi Vladimir,

CC Shimoda-san

On Fri, Oct 6, 2017 at 4:38 AM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

On 20.09.2017 15:59, Geert Uytterhoeven wrote:

On Thu, Sep 7, 2017 at 12:36 AM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

This supports USB2 PHY channel #0 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>


index ca8de1a..0854600 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -60,6 +60,11 @@
  groups = "scif1_data_b";
  function = "scif1";
  };
+
+   usb0_pins: usb0 {
+   groups = "usb0";
+   function = "usb0";
+   };
   };

{
@@ -68,3 +73,10 @@

  status = "okay";
   };
+
+_phy0 {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+

Don't you need

  vbus-supply = <_usb2>;

with vbus0_usb2 a fixed regulator controlled by GPIO P11 (OTG_EXTLPn) from
GPIO expander U11 (TCA9539)?
May be optional, though. salvator-common.dtsi has it.

Yes, I need this gpio.
I need both OTG_EXTLPn and OTG_OFFVBUSn from the same gpio expander.

I've been considering to use either vbus-supply + gpio hog or use gpio hog
for both of them for consistency.
What do you think about this?

For OTG_EXTLPn you don't really need a hog, as it will be controlled by the
USB driver/subsystem, like on Salvator-X(S), right?

Agreed.


For OTG_OFFVBUSn, which is (optionally) driven from USB0_PWEN on
Salvator-X(S) I don't know if you need a GPIO hog or not. I have to defer your
question to Shimoda-san.
This pin should be tied permanently low to disable internal MAX3355 
internal VBUS charge pump.

Hence probably gpio hog is enough for OTG_OFFVBUSn.

KF has dedicated VBUS power supply controlled by USB0_PWEN.


--
Regards,
Vladimir



Re: [PATCH v2 04/18] arm64: dts: m3ulcb-kf: initial device tree

2017-10-05 Thread Vladimir Barinov

Hi Simon, Geert,

Do you need extra actions from my side to accept this patch?

On 20.09.2017 15:32, Geert Uytterhoeven wrote:

Hi Vladimir,

[CC Pantelis]

On Thu, Sep 14, 2017 at 4:18 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

Add the initial device tree for the M3ULCB with Kingfisher extension
infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>

Some food for thought below...


--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the M3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7796-m3ulcb.dts"

Ideally, we don't include *.dts files, only *.dtsi.
But I don't see a better immediate solution.


+#include "ulcb-kf.dtsi"

As the Kingfisher is actually an expansion board for H3ULCB (with R-Car H3
ES1.1 and ES2.0) and M3ULCB (with R-Car M3-W), turning ulcb-kf.dtsi into a
DT overlay would make sense.
That would also solve the issue of the 3 extra DTSes needed for all possible
combinations of ULCB and Kingfisher (r8a7795-es1-h3ulcb-kf.dts,
r8a7795-h3ulcb-kf.dts, r8a7796-h3ulcb-kf.dts (perhaps more to follow?)).

But that's too premature, without upstream support for the easy loading of
DT overlays.


+/ {
+   model = "Renesas M3ULCB Kingfisher board based on r8a7796";
+   compatible = "shimafuji,kingfisher", "renesas,m3ulcb",
+"renesas,r8a7796";
+};

And how to support from an overlay the addition of "shimafuji,kingfisher" to
(not replacement of!) the main compatible value?

Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds



--
Regards,
Vladimir



[PATCH v3 15/18] arm64: dts: ulcb-kf: enable TCA9539 on I2C4

2017-10-05 Thread Vladimir Barinov
This supports TCA9539 gpio expanders on I2C4 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- use generic node name "gpio"
Changes in version 3:
- changed pca9539 to tca9539

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 40885e7..1cf8466 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -70,6 +70,28 @@
};
 };
 
+ {
+   gpio_exp_76: gpio@76 {
+   compatible = "ti,tca9539";
+   reg = <0x76>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+   };
+
+   gpio_exp_77: gpio@77 {
+   compatible = "ti,tca9539";
+   reg = <0x77>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH v3 14/18] arm64: dts: ulcb-kf: enable TCA9539 on I2C2

2017-10-05 Thread Vladimir Barinov
This supports TCA9539 gpio expanders on I2C2 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- use generic node name "gpio"
Changes in version 3:
- changed pca9539 to tca9539

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 71dee77..40885e7 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -48,6 +48,28 @@
status = "okay";
 };
 
+ {
+   gpio_exp_74: gpio@74 {
+   compatible = "ti,tca9539";
+   reg = <0x74>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+   };
+
+   gpio_exp_75: gpio@75 {
+   compatible = "ti,tca9539";
+   reg = <0x75>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH v2 07/18] arm64: dts: ulcb-kf: enable SCIF1

2017-10-05 Thread Vladimir Barinov
This supports SCIF1 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 2:
- added rtc/cts

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 849f8b1..2449915 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -12,6 +12,7 @@
 / {
aliases {
serial1 = 
+   serial2 = 
};
 };
 
@@ -28,4 +29,17 @@
groups = "hscif0_data", "hscif0_ctrl";
function = "hscif0";
};
+
+   scif1_pins: scif1 {
+   groups = "scif1_data_b", "scif1_ctrl";
+   function = "scif1";
+   };
+};
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   uart-has-rtscts;
+
+   status = "okay";
 };
-- 
1.9.1



[PATCH v2 12/18] arm64: dts: ulcb-kf: enable PCIE0/1

2017-10-05 Thread Vladimir Barinov
This supports PCIE0/1 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 2:
- removed status update for pcie_bus_clk

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 46e3a34..952d2b7 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -52,6 +52,18 @@
status = "okay";
 };
 
+_bus_clk {
+   clock-frequency = <1>;
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
  {
can0_pins: can0 {
groups = "can0_data_a";
-- 
1.9.1



Re: [PATCH v2 14/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C2

2017-10-05 Thread Vladimir Barinov

Hi Geert,

On 20.09.2017 16:44, Geert Uytterhoeven wrote:

Hi Vladimir,

On Thu, Sep 14, 2017 at 4:19 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

This supports PCA9539 gpio expanders on I2C2 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>


--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -48,6 +48,28 @@
 status = "okay";
  };

+ {
+   gpio_exp_74: gpio@74 {
+   compatible = "nxp,pca9539";

According to the schematics, this is the TI TCA9539, an enhanced version
of the NXP PCA9539. So I'd expect "ti,tca9539".

However, using the latter may not work (I didn't try), as pca953x_id[]
lists both parts, while pca953x_dt_ids[] lists only the NXP part number.

It works with "ti,tca9539"

--
Regards,
Vladimir



Re: [PATCH 09/18] arm64: dts: ulcb-kf: enable USB2 PHY of channel 0

2017-10-05 Thread Vladimir Barinov

Hi Geert,

Thank you for the review.

On 20.09.2017 15:59, Geert Uytterhoeven wrote:

Hi Vladimir,

On Thu, Sep 7, 2017 at 12:36 AM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

This supports USB2 PHY channel #0 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>


index ca8de1a..0854600 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -60,6 +60,11 @@
 groups = "scif1_data_b";
 function = "scif1";
 };
+
+   usb0_pins: usb0 {
+   groups = "usb0";
+   function = "usb0";
+   };
  };

   {
@@ -68,3 +73,10 @@

 status = "okay";
  };
+
+_phy0 {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+

Don't you need

 vbus-supply = <_usb2>;

with vbus0_usb2 a fixed regulator controlled by GPIO P11 (OTG_EXTLPn) from
GPIO expander U11 (TCA9539)?
May be optional, though. salvator-common.dtsi has it.

Yes, I need this gpio.
I need both OTG_EXTLPn and OTG_OFFVBUSn from the same gpio expander.

I've been considering to use either vbus-supply + gpio hog or use gpio 
hog for both of them for consistency.

What do you think about this?

I plan to add these gpios control as a separate patch.

--
Regards,
Vladimir



[PATCH v3 01/18] arm: shmobile: Document Kingfisher board DT bindings

2017-09-16 Thread Vladimir Barinov
Add Kingfisher Device tree bindings Documentation, listing it as a
supported board.
Kingfisher is the H3ULCB/M3ULCB extension board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"
Changes in version 3:
- seperate Kingfisher entry from H3ULCB/M3ULCB

 Documentation/devicetree/bindings/arm/shmobile.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt 
b/Documentation/devicetree/bindings/arm/shmobile.txt
index ae75cb3..5921ac2 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -76,6 +76,8 @@ Boards:
 compatible = "iwave,g20d", "iwave,g20m", "renesas,r8a7743"
   - iWave Systems RZ/G1M Qseven System On Module (iW-RainboW-G20M-Qseven)
 compatible = "iwave,g20m", "renesas,r8a7743"
+  - Kingfisher (SBEV-RCAR-KF-M03)
+compatible = "shimafuji,kingfisher";
   - Koelsch (RTP0RC7791SEB00010S)
 compatible = "renesas,koelsch", "renesas,r8a7791"
   - Kyoto Microcomputer Co. KZM-A9-Dual
-- 
1.9.1



Re: [PATCH v2 01/18] dt: arm: shmobile: add M3ULCB Kingfisher board DT bindings

2017-09-14 Thread Vladimir Barinov

Hi Geert,

On 14.09.2017 17:55, Geert Uytterhoeven wrote:

Hi Vladimir,

On Thu, Sep 14, 2017 at 4:18 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

Add M3ULCB Kingfisher Device tree bindings Documentation, listing it as a
supported board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

Thanks for the update!


--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -85,6 +85,8 @@ Boards:
  compatible = "renesas,lager", "renesas,r8a7790"
- M3ULCB (R-Car Starter Kit Pro, RTP0RC7796SKBX0010SA09 (M3 ES1.0))
  compatible = "renesas,m3ulcb", "renesas,r8a7796";
+  - M3ULCB Kingfisher (SBEV-RCAR-KF-M03)
+compatible = "shimafuji,kingfisher", "renesas,m3ulcb", "renesas,r8a7796";
- Marzen (R0P7779A00010S)
  compatible = "renesas,marzen", "renesas,r8a7779"
- Porter (M2-LCDP)

As Kingfisher is an extension board, I meant to have a separate entry for it,
not tied to M3ULCB or H3ULCB:

   - M3ULCB Kingfisher (SBEV-RCAR-KF-M03)
 compatible = "shimafuji,kingfisher"

That way you don't need to list it twice (the board part number is the same
for M3ULCB Kingfisher and H3ULCB Kingfisher anyway).
Do you agree?

Sorry for misunderstanding.

Do you mean to add such entry:

  - Kingfisher (SBEV-RCAR-KF-M03)
compatible = "shimafuji,kingfisher"


--
Regards,
Vladimir



[PATCH v2 17/18] arm64: dts: ulcb-kf: enable PCA9548 on I2C4

2017-09-14 Thread Vladimir Barinov
This supports PCA9548 I2C switch on I2C4 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- use generic node name "i2c-switch"
- fixed typo in node name: use @71

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 3bbc490..0c3844f 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -98,6 +98,14 @@
interrupt-parent = <>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
};
+
+   i2cswitch4: i2c-switch@71 {
+   compatible = "nxp,pca9548";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   reg = <0x71>;
+   reset-gpios= < 15 GPIO_ACTIVE_LOW>;
+   };
 };
 
  {
-- 
1.9.1



[PATCH v2 15/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C4

2017-09-14 Thread Vladimir Barinov
This supports PCA9539 gpio expanders on I2C4 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- use generic node name "gpio"

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 40885e7..1cf8466 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -70,6 +70,28 @@
};
 };
 
+ {
+   gpio_exp_76: gpio@76 {
+   compatible = "nxp,pca9539";
+   reg = <0x76>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+   };
+
+   gpio_exp_77: gpio@77 {
+   compatible = "nxp,pca9539";
+   reg = <0x77>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH v2 16/18] arm64: dts: ulcb-kf: enable PCA9548 on I2C2

2017-09-14 Thread Vladimir Barinov
This supports PCA9548 I2C switch on I2C2 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- use generic node name "i2c-switch"

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 1cf8466..3bbc490 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -68,6 +68,14 @@
interrupt-parent = <>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
};
+
+   i2cswitch2: i2c-switch@71 {
+   compatible = "nxp,pca9548";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   reg = <0x71>;
+   reset-gpios = < 3 GPIO_ACTIVE_LOW>;
+   };
 };
 
  {
-- 
1.9.1



[PATCH v2 06/18] arm64: dts: h3ulcb-kf: ES2.0+ SoC initial device tree

2017-09-14 Thread Vladimir Barinov
Add the initial device tree for the H3ULCB ES2.0+ SoC with Kingfisher
extension infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

 arch/arm64/boot/dts/renesas/Makefile  |  1 +
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts | 17 +
 2 files changed, 18 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile 
b/arch/arm64/boot/dts/renesas/Makefile
index e745450..a865704 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,4 +1,5 @@
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts
new file mode 100644
index 000..427b73b
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the H3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-h3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+   model = "Renesas H3ULCB Kingfisher board based on r8a7795 ES2.0+";
+   compatible = "shimafuji,kingfisher", "renesas,h3ulcb",
+"renesas,r8a7795";
+};
-- 
1.9.1



[PATCH v2 05/18] arm64: dts: h3ulcb-kf: ES1.x SoC initial device tree

2017-09-14 Thread Vladimir Barinov
Add the initial device tree for the H3ULCB ES1.x SoC with Kingfisher
extension infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

 arch/arm64/boot/dts/renesas/Makefile  |  1 +
 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts | 17 +
 2 files changed, 18 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile 
b/arch/arm64/boot/dts/renesas/Makefile
index 54e8316..e745450 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,6 +1,7 @@
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts
new file mode 100644
index 000..dcc9e68
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the H3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-es1-h3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+   model = "Renesas H3ULCB Kingfisher board based on r8a7795 ES1.x";
+   compatible = "shimafuji,kingfisher", "renesas,h3ulcb",
+"renesas,r8a7795";
+};
-- 
1.9.1



[PATCH v2 14/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C2

2017-09-14 Thread Vladimir Barinov
This supports PCA9539 gpio expanders on I2C2 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- use generic node name "gpio"

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 71dee77..40885e7 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -48,6 +48,28 @@
status = "okay";
 };
 
+ {
+   gpio_exp_74: gpio@74 {
+   compatible = "nxp,pca9539";
+   reg = <0x74>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+   };
+
+   gpio_exp_75: gpio@75 {
+   compatible = "nxp,pca9539";
+   reg = <0x75>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH v2 08/18] arm64: dts: ulcb-kf: enable CAN0/1

2017-09-14 Thread Vladimir Barinov
This supports CAN0/1 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- removed renesas,can-clock-select property since using default driver value

 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 2449915..ca8de1a 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -16,6 +16,18 @@
};
 };
 
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   status = "okay";
+};
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   status = "okay";
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
@@ -25,6 +41,16 @@
 };
 
  {
+   can0_pins: can0 {
+   groups = "can0_data_a";
+   function = "can0";
+   };
+
+   can1_pins: can1 {
+   groups = "can1_data";
+   function = "can1";
+   };
+
hscif0_pins: hscif0 {
groups = "hscif0_data", "hscif0_ctrl";
function = "hscif0";
-- 
1.9.1



[PATCH v2 04/18] arm64: dts: m3ulcb-kf: initial device tree

2017-09-14 Thread Vladimir Barinov
Add the initial device tree for the M3ULCB with Kingfisher extension
infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

 arch/arm64/boot/dts/renesas/Makefile  |  1 +
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts | 17 +
 2 files changed, 18 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile 
b/arch/arm64/boot/dts/renesas/Makefile
index 381928b..54e8316 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -2,6 +2,7 @@ dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb 
r8a7795-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
 
 always := $(dtb-y)
diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
new file mode 100644
index 000..22fad76c
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
@@ -0,0 +1,19 @@
+/*
+ * Device Tree Source for the M3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7796-m3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+   model = "Renesas M3ULCB Kingfisher board based on r8a7796";
+   compatible = "shimafuji,kingfisher", "renesas,m3ulcb",
+"renesas,r8a7796";
+};
-- 
1.9.1



[PATCH v2 02/18] dt: arm: shmobile: add H3ULCB Kingfisher board DT bindings

2017-09-14 Thread Vladimir Barinov
Add H3ULCB Kingfisher Device tree bindings Documentation, listing it as a
supported board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

 Documentation/devicetree/bindings/arm/shmobile.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt 
b/Documentation/devicetree/bindings/arm/shmobile.txt
index 89bd3a6..b313fe2 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -65,6 +65,8 @@ Boards:
   - H3ULCB (R-Car Starter Kit Premier, RTP0RC7795SKBX0010SA00 (H3 ES1.1))
 H3ULCB (R-Car Starter Kit Premier, RTP0RC77951SKBX010SA00 (H3 ES2.0))
 compatible = "renesas,h3ulcb", "renesas,r8a7795";
+  - H3ULCB Kingfisher (SBEV-RCAR-KF-M03)
+compatible = "shimafuji,kingfisher", "renesas,h3ulcb", "renesas,r8a7795";
   - Henninger
 compatible = "renesas,henninger", "renesas,r8a7791"
   - iWave Systems RZ/G1E SODIMM SOM Development Platform (iW-RainboW-G22D)
-- 
1.9.1



[PATCH v2 01/18] dt: arm: shmobile: add M3ULCB Kingfisher board DT bindings

2017-09-14 Thread Vladimir Barinov
Add M3ULCB Kingfisher Device tree bindings Documentation, listing it as a
supported board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- added own compatible value "shimafuji,kingfisher"

 Documentation/devicetree/bindings/arm/shmobile.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt 
b/Documentation/devicetree/bindings/arm/shmobile.txt
index ae75cb3..89bd3a6 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -85,6 +85,8 @@ Boards:
 compatible = "renesas,lager", "renesas,r8a7790"
   - M3ULCB (R-Car Starter Kit Pro, RTP0RC7796SKBX0010SA09 (M3 ES1.0))
 compatible = "renesas,m3ulcb", "renesas,r8a7796";
+  - M3ULCB Kingfisher (SBEV-RCAR-KF-M03)
+compatible = "shimafuji,kingfisher", "renesas,m3ulcb", "renesas,r8a7796";
   - Marzen (R0P7779A00010S)
 compatible = "renesas,marzen", "renesas,r8a7779"
   - Porter (M2-LCDP)
-- 
1.9.1



[PATCH] dt: Add vendor prefix 'shimafuji'

2017-09-14 Thread Vladimir Barinov
Add Shimafuji Electric, Inc. to the list of device tree vendor
prefixes

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt 
b/Documentation/devicetree/bindings/vendor-prefixes.txt
index daf465be..a30e0b1 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -289,6 +289,7 @@ semtech Semtech Corporation
 sensirion  Sensirion AG
 sgxSGX Sensortech
 sharp  Sharp Corporation
+shimafuji  Shimafuji Electric, Inc.
 si-en  Si-En Technology Ltd.
 sigma  Sigma Designs, Inc.
 siiSeiko Instruments, Inc.
-- 
1.9.1



Re: [PATCH 01/18] dt: arm: shmobile: add M3ULCB Kingfisher board DT bindings

2017-09-08 Thread Vladimir Barinov

Hi Geert,

On 07.09.2017 13:58, Geert Uytterhoeven wrote:

Hi Vladimir,

On Thu, Sep 7, 2017 at 12:35 AM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

Add M3ULCB Kingfisher Device tree bindings Documentation, listing it as a
supported board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

Thanks for your patch!


--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -85,6 +85,7 @@ Boards:
- Lager (RTP0RC7790SEB00010S)
  compatible = "renesas,lager", "renesas,r8a7790"
- M3ULCB (R-Car Starter Kit Pro, RTP0RC7796SKBX0010SA09 (M3 ES1.0))
+M3ULCB Kingfisher (SBEV-RCAR-KF-M03)

As the Kingfisher is an extension board (and you added the same board part
number to the H3ULCB section in patch 02/18), shouldn't it have its own
compatible value "shimafuji,kingfisher" instead?

Thank you for this suggestion.

This looks very meaningful for boards differentiation.


Then this can be used in ulcb-kf.dtsi:

 compatible = "shimafuji,kingfisher";

and appended (overridden, as there's no /append-property/ directive in dtc
yet?) in the board files, e.g. r8a7796-m3ulcb-kf.dts:

 compatible = "shimafuji,kingfisher", "renesas,m3ulcb", "renesas,r8a7796";

Does that make sense?

Yes.
I will rework this in V2 patchset according to your suggestion.




  compatible = "renesas,m3ulcb", "renesas,r8a7796";
- Marzen (R0P7779A00010S)
  compatible = "renesas,marzen", "renesas,r8a7779"

Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds



--
Regards,
Vladimir



Re: [PATCH 0/18] arm64: renesas: add ULCB Kingfisher board

2017-09-06 Thread Vladimir Barinov

On 07.09.2017 01:34, Vladimir Barinov wrote:

Hello,

This adds the folowing:
- ULCB Kingfisher infotainment board device tree
- Document DT bindings

Forgot to mention about documentation:

http://elinux.org/R-Car/Boards/Kingfisher
http://www.shimafuji.co.jp/DL/EN/InfotainmentCarrierBoard/
http://www.shimafuji.co.jp/Kingfisher/indexEN.html

--
Regards,
Vladimir



[PATCH 18/18] arm64: dts: ulcb-kf: hog USB3 hub control gpios

2017-09-06 Thread Vladimir Barinov
This adds gpio hogs for USB3 hub on ULCB Kingfisher board to power up and
remove from reset the hub

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 0c3844f..7bb9793 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -57,6 +57,20 @@
interrupt-controller;
interrupt-parent = <>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+
+   hub_pwen {
+   gpio-hog;
+   gpios = <6 GPIO_ACTIVE_HIGH>;
+   output-high;
+   line-name = "HUB pwen";
+   };
+
+   hub_rst {
+   gpio-hog;
+   gpios = <7 GPIO_ACTIVE_HIGH>;
+   output-high;
+   line-name = "HUB rst";
+   };
};
 
gpio_exp_75: pca9539@75 {
-- 
1.9.1



[PATCH 17/18] arm64: dts: ulcb-kf: enable PCA9548 on I2C4

2017-09-06 Thread Vladimir Barinov
This supports PCA9548 I2C switch on I2C4 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 3bbc490..0c3844f 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -98,6 +98,14 @@
interrupt-parent = <>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
};
+
+   i2cswitch4: pca9548@74 {
+   compatible = "nxp,pca9548";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   reg = <0x71>;
+   reset-gpios= < 15 GPIO_ACTIVE_LOW>;
+   };
 };
 
  {
-- 
1.9.1



[PATCH 16/18] arm64: dts: ulcb-kf: enable PCA9548 on I2C2

2017-09-06 Thread Vladimir Barinov
This supports PCA9548 I2C switch on I2C2 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 1cf8466..3bbc490 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -68,6 +68,14 @@
interrupt-parent = <>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
};
+
+   i2cswitch2: pca9548@71 {
+   compatible = "nxp,pca9548";
+   #address-cells = <1>;
+   #size-cells = <0>;
+   reg = <0x71>;
+   reset-gpios = < 3 GPIO_ACTIVE_LOW>;
+   };
 };
 
  {
-- 
1.9.1



[PATCH 14/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C2

2017-09-06 Thread Vladimir Barinov
This supports PCA9539 gpio expanders on I2C2 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 71dee77..40885e7 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -48,6 +48,28 @@
status = "okay";
 };
 
+ {
+   gpio_exp_74: pca9539@74 {
+   compatible = "nxp,pca9539";
+   reg = <0x74>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
+   };
+
+   gpio_exp_75: pca9539@75 {
+   compatible = "nxp,pca9539";
+   reg = <0x75>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH 09/18] arm64: dts: ulcb-kf: enable USB2 PHY of channel 0

2017-09-06 Thread Vladimir Barinov
This supports USB2 PHY channel #0 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 12 
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index ca8de1a..0854600 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -60,6 +60,11 @@
groups = "scif1_data_b";
function = "scif1";
};
+
+   usb0_pins: usb0 {
+   groups = "usb0";
+   function = "usb0";
+   };
 };
 
  {
@@ -68,3 +73,10 @@
 
status = "okay";
 };
+
+_phy0 {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
+   status = "okay";
+};
-- 
1.9.1



[PATCH 13/18] arm64: dts: ulcb-kf: enable USB3.0 Host

2017-09-06 Thread Vladimir Barinov
This supports USB3.0 Host on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 952d2b7..71dee77 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -105,3 +105,7 @@
 
status = "okay";
 };
+
+ {
+   status = "okay";
+};
-- 
1.9.1



[PATCH 15/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C4

2017-09-06 Thread Vladimir Barinov
This supports PCA9539 gpio expanders on I2C4 bus on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 40885e7..1cf8466 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -70,6 +70,28 @@
};
 };
 
+ {
+   gpio_exp_76: pca9539@76 {
+   compatible = "nxp,pca9539";
+   reg = <0x76>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+   };
+
+   gpio_exp_77: pca9539@77 {
+   compatible = "nxp,pca9539";
+   reg = <0x77>;
+   gpio-controller;
+   #gpio-cells = <2>;
+   interrupt-controller;
+   interrupt-parent = <>;
+   interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
+   };
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH 12/18] arm64: dts: ulcb-kf: enable PCIE0/1

2017-09-06 Thread Vladimir Barinov
This supports PCIE0/1 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 46e3a34..952d2b7 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -52,6 +52,19 @@
status = "okay";
 };
 
+_bus_clk {
+   clock-frequency = <1>;
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
+
  {
can0_pins: can0 {
groups = "can0_data_a";
-- 
1.9.1



[PATCH 11/18] arm64: dts: ulcb-kf: enable USB2.0 Host channel 0

2017-09-06 Thread Vladimir Barinov
This supports USB2.0 Host channel 0 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 8950a52..46e3a34 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -32,6 +32,10 @@
renesas,can-clock-select = <0x0>;
 };
 
+ {
+   status = "okay";
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
@@ -44,6 +48,10 @@
status = "okay";
 };
 
+ {
+   status = "okay";
+};
+
  {
can0_pins: can0 {
groups = "can0_data_a";
-- 
1.9.1



[PATCH 10/18] arm64: dts: ulcb-kf: enable HSUSB

2017-09-06 Thread Vladimir Barinov
This supports HSUSB on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 0854600..8950a52 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -40,6 +40,10 @@
status = "okay";
 };
 
+ {
+   status = "okay";
+};
+
  {
can0_pins: can0 {
groups = "can0_data_a";
-- 
1.9.1



[PATCH 08/18] arm64: dts: ulcb-kf: enable CAN0/1

2017-09-06 Thread Vladimir Barinov
This supports CAN0/1 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 2449915..ca8de1a 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -16,6 +16,22 @@
};
 };
 
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   renesas,can-clock-select = <0x0>;
+};
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   renesas,can-clock-select = <0x0>;
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
@@ -25,6 +41,16 @@
 };
 
  {
+   can0_pins: can0 {
+   groups = "can0_data_a";
+   function = "can0";
+   };
+
+   can1_pins: can1 {
+   groups = "can1_data";
+   function = "can1";
+   };
+
hscif0_pins: hscif0 {
groups = "hscif0_data", "hscif0_ctrl";
function = "hscif0";
-- 
1.9.1



[PATCH 07/18] arm64: dts: ulcb-kf: enable SCIF1

2017-09-06 Thread Vladimir Barinov
This supports SCIF1 on ULCB Kingfisher board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 849f8b1..2449915 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -12,6 +12,7 @@
 / {
aliases {
serial1 = 
+   serial2 = 
};
 };
 
@@ -28,4 +29,16 @@
groups = "hscif0_data", "hscif0_ctrl";
function = "hscif0";
};
+
+   scif1_pins: scif1 {
+   groups = "scif1_data_b";
+   function = "scif1";
+   };
+};
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
+   status = "okay";
 };
-- 
1.9.1



[PATCH 06/18] arm64: dts: h3ulcb-kf: ES2.0+ SoC initial device tree

2017-09-06 Thread Vladimir Barinov
Add the initial device tree for the H3ULCB ES2.0+ SoC with Kingfisher
extension infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/Makefile  |  1 +
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts | 17 +
 2 files changed, 18 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile 
b/arch/arm64/boot/dts/renesas/Makefile
index e745450..a865704 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,4 +1,5 @@
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts
new file mode 100644
index 000..427b73b
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts
@@ -0,0 +1,17 @@
+/*
+ * Device Tree Source for the H3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-h3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+   model = "Renesas H3ULCB Kingfisher board based on r8a7795 ES2.0+";
+};
-- 
1.9.1



[PATCH 05/18] arm64: dts: h3ulcb-kf: ES1.x SoC initial device tree

2017-09-06 Thread Vladimir Barinov
Add the initial device tree for the H3ULCB ES1.x SoC with Kingfisher
extension infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/Makefile  |  1 +
 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts | 17 +
 2 files changed, 18 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile 
b/arch/arm64/boot/dts/renesas/Makefile
index 54e8316..e745450 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -1,6 +1,7 @@
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts
new file mode 100644
index 000..dcc9e68
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts
@@ -0,0 +1,17 @@
+/*
+ * Device Tree Source for the H3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7795-es1-h3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+   model = "Renesas H3ULCB Kingfisher board based on r8a7795 ES1.x";
+};
-- 
1.9.1



[PATCH 02/18] dt: arm: shmobile: add H3ULCB Kingfisher board DT bindings

2017-09-06 Thread Vladimir Barinov
Add H3ULCB Kingfisher Device tree bindings Documentation, listing it as a
supported board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 Documentation/devicetree/bindings/arm/shmobile.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt 
b/Documentation/devicetree/bindings/arm/shmobile.txt
index 89bd3a6..b313fe2 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -65,6 +65,7 @@ Boards:
 compatible = "renesas,gose", "renesas,r8a7793"
   - H3ULCB (R-Car Starter Kit Premier, RTP0RC7795SKBX0010SA00 (H3 ES1.1))
 H3ULCB (R-Car Starter Kit Premier, RTP0RC77951SKBX010SA00 (H3 ES2.0))
+H3ULCB Kingfisher (SBEV-RCAR-KF-M03)
 compatible = "renesas,h3ulcb", "renesas,r8a7795";
   - Henninger
 compatible = "renesas,henninger", "renesas,r8a7791"
-- 
1.9.1



[PATCH 03/18] arm64: dts: ulcb-kf: initial device tree

2017-09-06 Thread Vladimir Barinov
Add the initial common dtsi file for Kingfisher infotainment board (R-Car
Starter Kit extension)

This commit supports the following peripherals:
- HSCIF0

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 31 +++
 1 file changed, 31 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
new file mode 100644
index 000..849f8b1
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -0,0 +1,31 @@
+/*
+ * Device Tree Source for the Kingfisher (ULCB extension) board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/ {
+   aliases {
+   serial1 = 
+   };
+};
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   uart-has-rtscts;
+
+   status = "okay";
+};
+
+ {
+   hscif0_pins: hscif0 {
+   groups = "hscif0_data", "hscif0_ctrl";
+   function = "hscif0";
+   };
+};
-- 
1.9.1



[PATCH 04/18] arm64: dts: m3ulcb-kf: initial device tree

2017-09-06 Thread Vladimir Barinov
Add the initial device tree for the M3ULCB with Kingfisher extension
infotainment board.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/Makefile  |  1 +
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts | 17 +
 2 files changed, 18 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts

diff --git a/arch/arm64/boot/dts/renesas/Makefile 
b/arch/arm64/boot/dts/renesas/Makefile
index 381928b..54e8316 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -2,6 +2,7 @@ dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb 
r8a7795-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-xs.dtb
 dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
 dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
+dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
 dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
 
 always := $(dtb-y)
diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
new file mode 100644
index 000..22fad76c
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
@@ -0,0 +1,17 @@
+/*
+ * Device Tree Source for the M3ULCB Kingfisher board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ * Copyright (C) 2017 Cogent Embedded, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7796-m3ulcb.dts"
+#include "ulcb-kf.dtsi"
+
+/ {
+   model = "Renesas M3ULCB Kingfisher board based on r8a7796";
+};
-- 
1.9.1



[PATCH 0/18] arm64: renesas: add ULCB Kingfisher board

2017-09-06 Thread Vladimir Barinov
Hello,

This adds the folowing:
- ULCB Kingfisher infotainment board device tree
- Document DT bindings

Vladimir Barinov (18):
[01/18] dt: arm: shmobile: add M3ULCB Kingfisher board DT
[02/18] dt: arm: shmobile: add H3ULCB Kingfisher board DT
[03/18] arm64: dts: ulcb-kf: initial device tree
[04/18] arm64: dts: m3ulcb-kf: initial device tree
[05/18] arm64: dts: h3ulcb-kf: ES1.x SoC initial device tree
[06/18] arm64: dts: h3ulcb-kf: ES2.0+ SoC initial device tree
[07/18] arm64: dts: ulcb-kf: enable SCIF1
[08/18] arm64: dts: ulcb-kf: enable CAN0/1
[09/18] arm64: dts: ulcb-kf: enable USB2 PHY of channel 0
[10/18] arm64: dts: ulcb-kf: enable HSUSB
[11/18] arm64: dts: ulcb-kf: enable USB2.0 Host channel 0
[12/18] arm64: dts: ulcb-kf: enable PCIE0/1
[13/18] arm64: dts: ulcb-kf: enable USB3.0 Host
[14/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C2
[15/18] arm64: dts: ulcb-kf: enable PCA9539 on I2C4
[16/18] arm64: dts: ulcb-kf: enable PCA9548 on I2C2
[17/18] arm64: dts: ulcb-kf: enable PCA9548 on I2C4
[18/18] arm64: dts: ulcb-kf: hog USB3 hub control gpios

---
This patchset is against the 'kernel/git/horms/renesas.git' repo.

 Documentation/devicetree/bindings/arm/shmobile.txt|2 
 arch/arm64/boot/dts/renesas/Makefile  |3 
 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts |   17 +
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts |   17 +
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts |   17 +
 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi  |  185 ++
 6 files changed, 241 insertions(+)
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts
 create mode 100644 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
 create mode 100644 arch/arm64/boot/dts/renesas/ulcb-kf.dts



Re: [PATCH] arm64: dts: ulcb: Enable display output

2017-09-04 Thread Vladimir Barinov

Hello,

On 30.08.2017 10:28, Simon Horman wrote:

On Tue, Aug 22, 2017 at 05:23:26PM +0300, Laurent Pinchart wrote:

The DU is already wired up to the HDMI encoder, all we need to do is
enable it.

Signed-off-by: Laurent Pinchart 
---
  arch/arm64/boot/dts/renesas/ulcb.dtsi | 4 
  1 file changed, 4 insertions(+)

This patch has been tested on the M3-W ULCB in Magnus' board farm. As no
display is connected to the HDMI output testing was limited, to probing the
device and verifying that it can be accessed from userspace.

Tests on the H3 ES1.1 and H3 ES2.0 ULCBs were less successful as I couldn't
get the boards to boot properly, but they failed without this patch as well,
so I don't think it should be a blocker.

Thanks, applied.

Sorry for late reply.

This patch was verified with HDMI display on M3W and H3 ULCB boards with 
following patches applied:

https://patchwork.kernel.org/patch/9688551/
https://patchwork.kernel.org/patch/9831835/
https://patchwork.kernel.org/patch/9801239/



[PATCH v2 4/5] arm64: dts: renesas: ulcb: Add HDMI output connector

2017-07-10 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

The ULCB board has one HDMI output connector.

This connector is available on both the H3 and M3-W ULCB boards.
Add this to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
Changes in version 2:
- removed label

 arch/arm64/boot/dts/renesas/ulcb.dtsi | 10 +++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index 6f0a7ca..fc5408d 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -34,6 +34,16 @@
clock-frequency = <11289600>;
};
 
+   hdmi0-out {
+   compatible = "hdmi-connector";
+   type = "a";
+
+   port {
+   hdmi0_con: endpoint {
+   };
+   };
+   };
+
keyboard {
compatible = "gpio-keys";
 
-- 
1.9.1



Re: [PATCH 4/5] arm64: dts: renesas: ulcb: Add HDMI output connector

2017-07-10 Thread Vladimir Barinov

Hi Laurent,

Thank you for the review!

On 10.07.2017 16:09, Laurent Pinchart wrote:

Hi Vladimir,

Thank you for the patch.

On Friday 07 Jul 2017 05:37:36 Vladimir Barinov wrote:

From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

The ULCB board has one HDMI output connector.

This connector is available on both the H3 and M3-W ULCB boards.
Add this to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov
<vladimir.barinov+rene...@cogentembedded.com> ---
  arch/arm64/boot/dts/renesas/ulcb.dtsi | 11 +++
  1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi
b/arch/arm64/boot/dts/renesas/ulcb.dtsi index 6f0a7ca..fc5408d 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -34,6 +34,17 @@
clock-frequency = <11289600>;
};

+   hdmi0-out {
+   compatible = "hdmi-connector";
+   label = "HDMI0 OUT";

As far as I know there is no "HDMI0 OUT" label on the board or casing. You can
remove the label property. Apart from that,

I was thinking that this is a label on schematic.

ULCB has similar schematic label as first HDMI connector on Salvator-X  
"HDMI output(HDMI0)", hence I've just copied label name from Salvator-X 
file.


Right, there is no such name on ULCB pcb or plastic cover.

Is it okay If I resend only one patch with label field removed?

Regards,
Vladimir



Re: [PATCH 1/6] arm64: dts: renesas: ulcb: Enable I2C4

2017-07-10 Thread Vladimir Barinov

Hi Geert,

Thank you for review!

On 10.07.2017 11:20, Geert Uytterhoeven wrote:

On Fri, Jul 7, 2017 at 4:09 AM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This enables I2C4 for ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>


--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -189,6 +189,12 @@
 };
  };

+ {
+   status = "okay";
+
+   clock-frequency = <40>;

Is this a bus limitation, or a limitation for the VC6 that's added in a later
patch?

Yes, IDT VC5 clock generator supports up to 400kHz.

I've explicitly set 400kHz as default since the documentation says that 
the default value is 100kHz if 'clock-frequency' not set:

Documentation/devicetree/bindings/i2c/i2c-rcar.txt

Regards,
Vladimir



[PATCH v2 2/2] dt: Add bindings for IDT VersaClock 5P49V5925

2017-07-09 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

IDT VersaClock 5 5P49V5925 has 5 clock outputs, 4 fractional dividers.
Input clock source can be taken only from external reference clock.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
Changes in version 2:
- fixed typo in patch header: VC5 has 5 clock outputs
- rebased against patch:
  [V3,7/8] clk: vc5: Add bindings for IDT VersaClock 5P49V6901

 Documentation/devicetree/bindings/clock/idt,versaclock5.txt | 4 
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/idt,versaclock5.txt 
b/Documentation/devicetree/bindings/clock/idt,versaclock5.txt
index 66ef0a0..05a245c 100644
--- a/Documentation/devicetree/bindings/clock/idt,versaclock5.txt
+++ b/Documentation/devicetree/bindings/clock/idt,versaclock5.txt
@@ -8,6 +8,7 @@ generators providing from 3 to 12 output clocks.
 Required properties:
 - compatible:  shall be one of
"idt,5p49v5923"
+   "idt,5p49v5925"
"idt,5p49v5933"
"idt,5p49v5935"
"idt,5p49v6901"
@@ -15,6 +16,7 @@ Required properties:
 - #clock-cells:from common clock binding; shall be set to 1.
 - clocks:  from common clock binding; list of parent clock handles,
- 5p49v5923 and
+ 5p49v5925 and
  5p49v6901: (required) either or both of XTAL or CLKIN
reference clock.
- 5p49v5933 and
@@ -23,6 +25,7 @@ Required properties:
clock.
 - clock-names: from common clock binding; clock input names, can be
- 5p49v5923 and
+ 5p49v5925 and
  5p49v6901: (required) either or both of "xin", "clkin".
- 5p49v5933 and
- 5p49v5935: (optional) property not present or "clkin".
@@ -42,6 +45,7 @@ clock specifier, the following mapping applies:
1 -- OUT1
2 -- OUT4
 
+5P49V5925 and
 5P49V5935:
0 -- OUT0_SEL_I2CB
1 -- OUT1
-- 
1.9.1



[PATCH v2 1/2] clk: vc5: Add support for IDT VersaClock 5P49V5925

2017-07-09 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

Update IDT VersaClock 5 driver to support 5P49V5925. This chip has only
external clock input, four fractional dividers (FODs) and five clock
outputs (four universal clock outputs and one reference clock output at
OUT0_SELB_I2C).

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
Reviewed-by: Marek Vasut <marek.va...@gmail.com>
---
Changes in version 2:
- rebased against patch:
  [V3,8/8] clk: vc5: Add support for IDT VersaClock 5P49V6901

 drivers/clk/clk-versaclock5.c | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c
index c894db2..1808a55 100644
--- a/drivers/clk/clk-versaclock5.c
+++ b/drivers/clk/clk-versaclock5.c
@@ -129,6 +129,7 @@
 /* Supported IDT VC5 models. */
 enum vc5_model {
IDT_VC5_5P49V5923,
+   IDT_VC5_5P49V5925,
IDT_VC5_5P49V5933,
IDT_VC5_5P49V5935,
IDT_VC6_5P49V6901,
@@ -686,6 +687,7 @@ static int vc5_map_index_to_output(const enum vc5_model 
model,
case IDT_VC5_5P49V5933:
return (n == 0) ? 0 : 3;
case IDT_VC5_5P49V5923:
+   case IDT_VC5_5P49V5925:
case IDT_VC5_5P49V5935:
case IDT_VC6_5P49V6901:
default:
@@ -911,6 +913,13 @@ static int vc5_remove(struct i2c_client *client)
.flags = 0,
 };
 
+static const struct vc5_chip_info idt_5p49v5925_info = {
+   .model = IDT_VC5_5P49V5925,
+   .clk_fod_cnt = 4,
+   .clk_out_cnt = 5,
+   .flags = 0,
+};
+
 static const struct vc5_chip_info idt_5p49v5933_info = {
.model = IDT_VC5_5P49V5933,
.clk_fod_cnt = 2,
@@ -934,6 +943,7 @@ static int vc5_remove(struct i2c_client *client)
 
 static const struct i2c_device_id vc5_id[] = {
{ "5p49v5923", .driver_data = IDT_VC5_5P49V5923 },
+   { "5p49v5925", .driver_data = IDT_VC5_5P49V5925 },
{ "5p49v5933", .driver_data = IDT_VC5_5P49V5933 },
{ "5p49v5935", .driver_data = IDT_VC5_5P49V5935 },
{ "5p49v6901", .driver_data = IDT_VC6_5P49V6901 },
@@ -943,6 +953,7 @@ static int vc5_remove(struct i2c_client *client)
 
 static const struct of_device_id clk_vc5_of_match[] = {
{ .compatible = "idt,5p49v5923", .data = _5p49v5923_info },
+   { .compatible = "idt,5p49v5925", .data = _5p49v5925_info },
{ .compatible = "idt,5p49v5933", .data = _5p49v5933_info },
{ .compatible = "idt,5p49v5935", .data = _5p49v5935_info },
{ .compatible = "idt,5p49v6901", .data = _5p49v6901_info },
-- 
1.9.1



[PATCH v2 0/2] clk: vc5: Add IDT VersaClock 5P49V5925

2017-07-09 Thread Vladimir Barinov
Hello,

This adds the folowing:
- Update IDT VersaClock 5 driver to support 5P49V5925
- Add bindings for IDT VersaClock 5P49V5925

This has the following dependency:
- [V3,7/8] clk: vc5: Add bindings for IDT VersaClock 5P49V6901
- [V3,8/8] clk: vc5: Add support for IDT VersaClock 5P49V6901

Vladimir Barinov (2):
[1/2] clk: vc5: Add support for IDT VersaClock 5P49V5925
[2/2] dt: Add bindings for IDT VersaClock 5P49V5925

---
This patchset is against the 'kernel/git/torvalds/linux.git' repo.

 Documentation/devicetree/bindings/clock/idt,versaclock5.txt |   11 +++
 drivers/clk/clk-versaclock5.c   |   11 +++
 2 files changed, 18 insertions(+), 4 deletions(-)


[PATCH 2/5] arm64: dts: renesas: r8a7795-h3ulcb: Add DU external dot clocks

2017-07-06 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

The DU0/DU1/DU2/DU3 external dot clocks are provided by the programmable
Versaclock5 clock generator.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 0426f41..22645a9 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -40,3 +40,17 @@
reg = <0x7 0x 0x0 0x4000>;
};
 };
+
+ {
+   clocks = < CPG_MOD 724>,
+< CPG_MOD 723>,
+< CPG_MOD 722>,
+< CPG_MOD 721>,
+< CPG_MOD 727>,
+< 1>,
+< 3>,
+< 4>,
+< 2>;
+   clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0",
+ "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
+};
-- 
1.9.1



[PATCH 4/5] arm64: dts: renesas: ulcb: Add HDMI output connector

2017-07-06 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

The ULCB board has one HDMI output connector.

This connector is available on both the H3 and M3-W ULCB boards.
Add this to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb.dtsi | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index 6f0a7ca..fc5408d 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -34,6 +34,17 @@
clock-frequency = <11289600>;
};
 
+   hdmi0-out {
+   compatible = "hdmi-connector";
+   label = "HDMI0 OUT";
+   type = "a";
+
+   port {
+   hdmi0_con: endpoint {
+   };
+   };
+   };
+
keyboard {
compatible = "gpio-keys";
 
-- 
1.9.1



[PATCH 3/5] arm64: dts: renesas: r8a7796-m3ulcb: Add DU external dot clocks

2017-07-06 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

The DU0/DU1/DU2 external dot clocks are provided by the programmable
Versaclock5 clock generator.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 12 
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index 38b58b7..93446d1 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -30,3 +30,15 @@
reg = <0x6 0x 0x0 0x4000>;
};
 };
+
+ {
+   clocks = < CPG_MOD 724>,
+< CPG_MOD 723>,
+< CPG_MOD 722>,
+< CPG_MOD 727>,
+< 1>,
+< 3>,
+< 2>;
+   clock-names = "du.0", "du.1", "du.2", "lvds.0",
+ "dclkin.0", "dclkin.1", "dclkin.2";
+};
-- 
1.9.1



[PATCH 1/5] arm64: dts: renesas: ulcb: Add DU external dot clock sources

2017-07-06 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

The DU0/DU1/DU2/DU3 external dot clocks are generated by an I2C-controlled
programmable clock generator.

Clock generator is available on both the H3 and M3-W ULCB boards.
Add this to the ulcb.dtsi file.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb.dtsi | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index e402f16f..6f0a7ca 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -120,6 +120,12 @@
#clock-cells = <0>;
clock-frequency = <24576000>;
};
+
+   x23_clk: x23-clock {
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <2500>;
+   };
 };
 
 _clk_a {
@@ -193,6 +199,14 @@
status = "okay";
 
clock-frequency = <40>;
+
+   versaclock5: clock-generator@6a {
+   compatible = "idt,5p49v5925";
+   reg = <0x6a>;
+   #clock-cells = <1>;
+   clocks = <_clk>;
+   clock-names = "xin";
+   };
 };
 
 _dvfs {
-- 
1.9.1



[PATCH 0/5] arm64: dts: renesas: ulcb: Enable HDMI

2017-07-06 Thread Vladimir Barinov
Hello,

This patch series enables HDMI support for the H3 and M3-W based ULCB boards

This has the following dependency:
- [PATCH v2 series] R-Car Salvator-X M3-W: Enable DU support
- [PATCH] arm64: dts: renesas: ulcb: Enable I2C4
- [PATCH] clk: vc5: Add support for IDT VersaClock 5P49V5925

Vladimir Barinov (5):
[1/5] arm64: dts: renesas: ulcb: Add DU external dot clock sources
[2/5] arm64: dts: renesas: r8a7795-h3ulcb: Add DU external dot clocks
[3/5] arm64: dts: renesas: r8a7796-m3ulcb: Add DU external dot clocks
[4/5] arm64: dts: renesas: ulcb: Add HDMI output connector
[5/5] arm64: dts: renesas: ulcb: Enable HDMI output

---
This patchset is against the 'kernel/git/horms/renesas.git' repo.

 r8a7795-h3ulcb.dts |   14 ++
 r8a7796-m3ulcb.dts |   12 
 ulcb.dtsi  |   42 ++
 3 files changed, 68 insertions(+)


[PATCH] arm64: dts: renesas: ulcb: Enable I2C for DVFS device

2017-07-06 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This enables I2C for DVFS device for ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb.dtsi | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index d1a3f3b..6e5ffc8 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -189,6 +189,10 @@
};
 };
 
+_dvfs {
+   status = "okay";
+};
+
  {
status = "okay";
 };
-- 
1.9.1



[PATCH] arm64: dts: renesas: ulcb: sound clock-frequency needs descending order

2017-07-06 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

It will be used ADG clock initial settings, and will be
sound codec's initial system clock which needs maximum clock frequency.
Thus, descending order is required.

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/ulcb.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi 
b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index b5c6ee0..d1a3f3b 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -281,7 +281,7 @@
 
/* audio_clkout0/1/2/3 */
#clock-cells = <1>;
-   clock-frequency = <11289600 12288000>;
+   clock-frequency = <12288000 11289600>;
 
status = "okay";
 
-- 
1.9.1



Re: [PATCH 2/4] arm64: dts: m3ulcb: Update memory node to 2 GiB map

2017-02-02 Thread Vladimir Barinov

Hi Geert,

On 02.02.2017 21:19, Geert Uytterhoeven wrote:

Hi Vladimir,

On Thu, Jan 26, 2017 at 3:54 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This patch updates memory region:

   - After changes, the new map of the m3ulcb board on R8A7796 SoC
 Bank0: 1GiB RAM : 0x4800 -> 0x0007fff
 Bank1: 1GiB RAM : 0x0006 -> 0x0063fff

   - Before changes, the old map looked like this:
 Bank0: 1GiB RAM : 0x4800 -> 0x0007fff

BTW, this means M3ULCB has a different R-Car M3 SiP than Salvator-X,
with half the RAM?

Yes,
http://elinux.org/R-Car/Boards/M3SK

Regards,
Vladimir



Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds





[PATCH 1/2] arm64: dts: h3ulcb: Update memory node to 4 GiB map

2017-01-26 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This patch adds memory region:

  - After changes, the H3ULCB board has the following map:
Bank0: 1GiB RAM : 0x4800 -> 0x0007fff
Bank1: 1GiB RAM : 0x0005 -> 0x0053fff
Bank2: 1GiB RAM : 0x0006 -> 0x0063fff
Bank3: 1GiB RAM : 0x0007 -> 0x0073fff

  - Before changes, the old map looked like this:
Bank0: 1GiB RAM : 0x4800 -> 0x0007fff

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index b36c300..3edf966 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -33,6 +33,21 @@
reg = <0x0 0x4800 0x0 0x3800>;
};
 
+   memory@5 {
+   device_type = "memory";
+   reg = <0x5 0x 0x0 0x4000>;
+   };
+
+   memory@6 {
+   device_type = "memory";
+   reg = <0x6 0x 0x0 0x4000>;
+   };
+
+   memory@7 {
+   device_type = "memory";
+   reg = <0x7 0x 0x0 0x4000>;
+   };
+
leds {
compatible = "gpio-leds";
 
-- 
1.9.1



[PATCH 0/2] arm64: renesas: enable H3ULCB board peripherals

2017-01-26 Thread Vladimir Barinov
Hello,

This adds the folowing:
- R8A7795 SoC based H3ULCB board peripherals

Vladimir Barinov (2):
[1/2] arm64: dts: h3ulcb: Update memory node to 4 GiB map
[2/2] arm64: dts: h3ulcb: enable HS200 for eMMC

---
This patchset is against the 'kernel/git/horms/renesas.git' repo.

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 16 
+
 1 file changed, 16 insertions(+)


[PATCH 2/2] arm64: dts: h3ulcb: enable HS200 for eMMC

2017-01-26 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This supports HS200 mode for eMMC on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 7a8986e..51ef8bb 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -329,6 +329,7 @@
vmmc-supply = <_3p3v>;
vqmmc-supply = <_1p8v>;
bus-width = <8>;
+   mmc-hs200-1_8v;
non-removable;
status = "okay";
 };
-- 
1.9.1



[PATCH 4/4] arm64: dts: m3ulcb: enable HS200 for eMMC

2017-01-26 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This supports HS200 mode for eMMC on M3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index c7f40f8..c3e0b9e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -209,6 +209,7 @@
vmmc-supply = <_3p3v>;
vqmmc-supply = <_1p8v>;
bus-width = <8>;
+   mmc-hs200-1_8v;
non-removable;
status = "okay";
 };
-- 
1.9.1



[PATCH 3/4] arm64: dts: m3ulcb: enable EthernetAVB

2017-01-26 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This supports Ethernet AVB on M3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 32 ++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index 38bde9d..c7f40f8 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -20,6 +20,7 @@
 
aliases {
serial0 = 
+   ethernet0 = 
};
 
chosen {
@@ -115,6 +116,11 @@
pinctrl-0 = <_clk_pins>;
pinctrl-names = "default";
 
+   avb_pins: avb {
+   groups = "avb_mdc";
+   function = "avb";
+   };
+
scif2_pins: scif2 {
groups = "scif2_data_a";
function = "scif2";
@@ -155,6 +161,32 @@
};
 };
 
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   renesas,no-ether-link;
+   phy-handle = <>;
+   status = "okay";
+
+   phy0: ethernet-phy@0 {
+   rxc-skew-ps = <900>;
+   rxdv-skew-ps = <0>;
+   rxd0-skew-ps = <0>;
+   rxd1-skew-ps = <0>;
+   rxd2-skew-ps = <0>;
+   rxd3-skew-ps = <0>;
+   txc-skew-ps = <900>;
+   txen-skew-ps = <0>;
+   txd0-skew-ps = <0>;
+   txd1-skew-ps = <0>;
+   txd2-skew-ps = <0>;
+   txd3-skew-ps = <0>;
+   reg = <0>;
+   interrupt-parent = <>;
+   interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+   };
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-1 = <_pins_uhs>;
-- 
1.9.1



[PATCH 1/4] arm64: dts: m3ulcb: enable I2C

2017-01-26 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This supports I2C2 bus on M3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 12 
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index a9c296b..f35e96c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -120,6 +120,11 @@
function = "scif_clk";
};
 
+   i2c2_pins: i2c2 {
+   groups = "i2c2_a";
+   function = "i2c2";
+   };
+
sdhi0_pins: sd0 {
groups = "sdhi0_data4", "sdhi0_ctrl";
function = "sdhi0";
@@ -183,6 +198,13 @@
status = "okay";
 };
 
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
+   status = "okay";
+};
+
  {
timeout-sec = <60>;
status = "okay";
-- 
1.9.1



[PATCH 2/4] arm64: dts: m3ulcb: Update memory node to 2 GiB map

2017-01-26 Thread Vladimir Barinov
From: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>

This patch updates memory region:

  - After changes, the new map of the m3ulcb board on R8A7796 SoC
Bank0: 1GiB RAM : 0x4800 -> 0x0007fff
Bank1: 1GiB RAM : 0x0006 -> 0x0063fff

  - Before changes, the old map looked like this:
Bank0: 1GiB RAM : 0x4800 -> 0x0007fff

Signed-off-by: Vladimir Barinov <vladimir.barinov+rene...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 5 +
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index f35e96c..38bde9d 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -32,6 +32,11 @@
reg = <0x0 0x4800 0x0 0x3800>;
};
 
+   memory@6 {
+   device_type = "memory";
+   reg = <0x6 0x 0x0 0x4000>;
+   };
+
leds {
compatible = "gpio-leds";
 
-- 
1.9.1



[PATCH 0/4] arm64: renesas: enable M3ULCB board peripherals

2017-01-26 Thread Vladimir Barinov
Hello,

This adds the folowing:
- R8A7796 SoC based M3ULCB board peripherals

Vladimir Barinov (4):
[1/4] arm64: dts: m3ulcb: enable I2C
[2/4] arm64: dts: m3ulcb: Update memory node to 2 GiB map
[3/4] arm64: dts: m3ulcb: enable EthernetAVB
[4/4] arm64: dts: m3ulcb: enable HS200 for eMMC

---
This patchset is against the 'kernel/git/horms/renesas.git' repo.

 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 50 
+
 1 file changed, 50 insertions(+)


Re: [PATCH 16/18] arm64: dts: h3ulcb: rename SDHI0 pins

2016-11-22 Thread Vladimir Barinov

Hi Sergei,

On 22.11.2016 14:40, Sergei Shtylyov wrote:

On 11/22/2016 2:22 PM, Vladimir Barinov wrote:


From: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

This changes SDHI0 pin names for H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Signed-off-by: Simon Horman <horms+rene...@verge.net.au>
---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 8d0ac076d8e2..6ffb0517421a 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -163,13 +163,13 @@
 function = "avb";
 };

-sdhi0_pins_3v3: sd0_3v3 {
+sdhi0_pins: sd0 {
 groups = "sdhi0_data4", "sdhi0_ctrl";
 function = "sdhi0";
 power-source = <3300>;
 };

-sdhi0_pins_1v8: sd0_1v8 {
+sdhi0_pins_uhs: sd0 {


   I'm afraid the following will just override the props of the node 
above

which is not what we ant.

Thank you for pointing to this.

This is my typo.
I will rework the patch to have different node names.


   The patch had been already merged by Simon and was posted a s apart 
of a pull request (if I don't mistake), so I guess an incremental 
patch needed now...

Thanks for clarification.

I will make incremental patch.

Regards,
Vladimir




Regards,
Vladimir


MBR, Sergei





Re: [PATCH 16/18] arm64: dts: h3ulcb: rename SDHI0 pins

2016-11-22 Thread Vladimir Barinov

Hi Sergei,

On 21.11.2016 16:13, Sergei Shtylyov wrote:

Hello.

On 11/21/2016 03:05 PM, Simon Horman wrote:


From: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

This changes SDHI0 pin names for H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Signed-off-by: Simon Horman <horms+rene...@verge.net.au>
---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts

index 8d0ac076d8e2..6ffb0517421a 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -163,13 +163,13 @@
 function = "avb";
 };

-sdhi0_pins_3v3: sd0_3v3 {
+sdhi0_pins: sd0 {
 groups = "sdhi0_data4", "sdhi0_ctrl";
 function = "sdhi0";
 power-source = <3300>;
 };

-sdhi0_pins_1v8: sd0_1v8 {
+sdhi0_pins_uhs: sd0 {


   I'm afraid the following will just override the props of the node 
above which is not what we ant.

Thank you for pointing to this.

This is my typo.
I will rework the patch to have different node names.

Regards,
Vladimir




 groups = "sdhi0_data4", "sdhi0_ctrl";
 function = "sdhi0";
 power-source = <1800>;

[...]

MBR, Sergei





Re: [PATCH 6/9 v2] arm64: dts: m3ulcb: enable SDHI0

2016-11-09 Thread Vladimir Barinov

Hi Simon,

On 09.11.2016 10:44, Simon Horman wrote:

On Tue, Nov 08, 2016 at 05:14:21PM +0300, Vladimir Barinov wrote:

This supports SDHI0 on M3ULCB board SD card slot

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-off-by: Simon Horman <horms+rene...@verge.net.au>

Thanks Vladimir,

I have queued up the following patches:

arm64: dts: h3ulcb: rename SDHI0 pins
arm64: dts: h3ulcb: enable SDHI2
arm64: dts: m3ulcb: enable SDHI2
arm64: dts: m3ulcb: enable SDHI0

For reference I would, however, like to make some comments regarding the
way you have submitted these:

1. I did not provide a Reviewed-off-by tag or any other tag as far as I
recall. So its not appropriate for you to add one when posting patches.
I have removed it.

2. Not withstanding the above, Reviewed-off-by is an invalid tag.
Perhaps you mean Reviewed-by.

3. When you repost patches I have a slight preference for you to repost
them in a fresh thread. And if the patchset has more than one patch then
with a fresh cover letter. This makes it a little easier for me
to see what is going on. And gives a more natural place for
me to respond to a patchset.


Thank you for these valuable comments!

I will follow them for further work.


Regards,

Vladimir



[PATCH 3/4 v2] arm64: dts: h3ulcb: enable SDHI2

2016-11-08 Thread Vladimir Barinov
This supports SDHI2 for H3ULCB onboard eMMC

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-off-by: Simon Horman <horms+rene...@verge.net.au>
---
Changes in version 2:
- renamed sdhi2_pins_3v3 to sdhi2_pins
- renamed sd2_3v3 to sd2
- renamed sdhi2_pins_1v8 to sdhi2_pins_uhs
- renamed sd2_1v8 to sd2_uhs

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 43 ++
 1 file changed, 43 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index a244edb..e46687e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -55,6 +55,24 @@
clock-frequency = <24576000>;
};
 
+   reg_1p8v: regulator0 {
+   compatible = "regulator-fixed";
+   regulator-name = "fixed-1.8V";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_3p3v: regulator1 {
+   compatible = "regulator-fixed";
+   regulator-name = "fixed-3.3V";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
vcc_sdhi0: regulator-vcc-sdhi0 {
compatible = "regulator-fixed";
 
@@ -113,6 +131,18 @@
function = "sdhi0";
power-source = <1800>;
};
+
+   sdhi2_pins: sd2 {
+   groups = "sdhi2_data8", "sdhi2_ctrl";
+   function = "sdhi2";
+   power-source = <3300>;
+   };
+
+   sdhi2_pins_uhs: sd2_uhs {
+   groups = "sdhi2_data8", "sdhi2_ctrl";
+   function = "sdhi2";
+   power-source = <1800>;
+   };
 
sound_pins: sound {
groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
@@ -128,6 +158,19 @@
status = "okay";
 };
 
+ {
+   /* used for on-board 8bit eMMC */
+   pinctrl-0 = <_pins>;
+   pinctrl-1 = <_pins_uhs>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_3p3v>;
+   vqmmc-supply = <_1p8v>;
+   bus-width = <8>;
+   non-removable;
+   status = "okay";
+};
+
  {
shared-pin;
 };
-- 
1.9.1



[PATCH 4/4 v2] arm64: dts: h3ulcb: rename SDHI0 pins

2016-11-08 Thread Vladimir Barinov
This changes SDHI0 pin names for H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 2:
- Initially added

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 8d0ac07..6ffb051 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -163,13 +163,13 @@
function = "avb";
};
 
-   sdhi0_pins_3v3: sd0_3v3 {
+   sdhi0_pins: sd0 {
groups = "sdhi0_data4", "sdhi0_ctrl";
function = "sdhi0";
power-source = <3300>;
};
 
-   sdhi0_pins_1v8: sd0_1v8 {
+   sdhi0_pins_uhs: sd0 {
groups = "sdhi0_data4", "sdhi0_ctrl";
function = "sdhi0";
power-source = <1800>;
@@ -291,8 +291,8 @@
 };
 
  {
-   pinctrl-0 = <_pins_3v3>;
-   pinctrl-1 = <_pins_1v8>;
+   pinctrl-0 = <_pins>;
+   pinctrl-1 = <_pins_uhs>;
pinctrl-names = "default", "state_uhs";
 
vmmc-supply = <_sdhi0>;


[PATCH 9/9 v2] arm64: dts: m3ulcb: enable SDHI2

2016-11-08 Thread Vladimir Barinov
This supports SDHI2 for M3ULCB onboard eMMC

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-off-by: Simon Horman <horms+rene...@verge.net.au>
---
Changes in version 2:
- renamed sdhi2_pins_3v3 to sdhi2_pins
- renamed sd2_3v3 to sd2
- renamed sdhi2_pins_1v8 to sdhi2_pins_uhs
- renamed sd2_1v8 to sd2_uhs

 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 43 ++
 1 file changed, 43 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index a244edb..e46687e 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -55,6 +55,24 @@
};
};
 
+   reg_1p8v: regulator0 {
+   compatible = "regulator-fixed";
+   regulator-name = "fixed-1.8V";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
+   reg_3p3v: regulator1 {
+   compatible = "regulator-fixed";
+   regulator-name = "fixed-3.3V";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+   regulator-boot-on;
+   regulator-always-on;
+   };
+
vcc_sdhi0: regulator-vcc-sdhi0 {
compatible = "regulator-fixed";
 
@@ -113,6 +131,18 @@
function = "sdhi0";
power-source = <1800>;
};
+
+   sdhi2_pins: sd2 {
+   groups = "sdhi2_data8", "sdhi2_ctrl";
+   function = "sdhi2";
+   power-source = <3300>;
+   };
+
+   sdhi2_pins_uhs: sd2_uhs {
+   groups = "sdhi2_data8", "sdhi2_ctrl";
+   function = "sdhi2";
+   power-source = <1800>;
+   };
 };
 
  {
@@ -128,6 +158,19 @@
status = "okay";
 };
 
+ {
+   /* used for on-board 8bit eMMC */
+   pinctrl-0 = <_pins>;
+   pinctrl-1 = <_pins_uhs>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_3p3v>;
+   vqmmc-supply = <_1p8v>;
+   bus-width = <8>;
+   non-removable;
+   status = "okay";
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
-- 
1.9.1



[PATCH 6/9 v2] arm64: dts: m3ulcb: enable SDHI0

2016-11-08 Thread Vladimir Barinov
This supports SDHI0 on M3ULCB board SD card slot

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-off-by: Simon Horman <horms+rene...@verge.net.au>
---
Changes in version 2:
- renamed sdhi0_pins_3v3 to sdhi0_pins
- renamed sd0_3v3 to sd0
- renamed sdhi0_pins_1v8 to sdhi0_pins_uhs
- renamed sd0_1v8 to sd0_uhs

 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 48 ++
 1 file changed, 48 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index 3329f78..5be0cf6 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -44,6 +44,30 @@
gpios = < 11 GPIO_ACTIVE_LOW>;
};
};
+
+   vcc_sdhi0: regulator-vcc-sdhi0 {
+   compatible = "regulator-fixed";
+
+   regulator-name = "SDHI0 Vcc";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+
+   gpio = < 2 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
+
+   vccq_sdhi0: regulator-vccq-sdhi0 {
+   compatible = "regulator-gpio";
+
+   regulator-name = "SDHI0 VccQ";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+
+   gpios = < 1 GPIO_ACTIVE_HIGH>;
+   gpios-states = <1>;
+   states = <330 1
+ 180 0>;
+   };
 };
 
 _clk {
@@ -68,8 +92,33 @@
groups = "scif_clk_a";
function = "scif_clk";
};
+
+   sdhi0_pins: sd0 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <3300>;
+   };
+
+   sdhi0_pins_uhs: sd0_uhs {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <1800>;
+   };
 };
 
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-1 = <_pins_uhs>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_sdhi0>;
+   vqmmc-supply = <_sdhi0>;
+   cd-gpios = < 12 GPIO_ACTIVE_LOW>;
+   bus-width = <4>;
+   sd-uhs-sdr50;
+   status = "okay";
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
-- 
1.9.1



Re: [PATCH 6/9] arm64: dts: m3ulcb: enable SDHI0

2016-11-07 Thread Vladimir Barinov

Hi Simon,

On 07.11.2016 16:00, Simon Horman wrote:

On Thu, Nov 03, 2016 at 09:07:51PM +0300, Vladimir Barinov wrote:

This supports SDHI0 on M3ULCB board SD card slot

Is SDHI3 also exposed on the M3ULCB?

No, SDHI3 is not exposed on M3ULCB.

Only SDHI0 exposed to SD slot and SDHI2 as eMMC.


If so could you consider sending patches to enable it?


Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
  arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 48 ++
  1 file changed, 48 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index 3329f78..5be0cf6 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -44,6 +44,30 @@
gpios = < 11 GPIO_ACTIVE_LOW>;
};
};
+
+   vcc_sdhi0: regulator-vcc-sdhi0 {
+   compatible = "regulator-fixed";
+
+   regulator-name = "SDHI0 Vcc";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+
+   gpio = < 2 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
+
+   vccq_sdhi0: regulator-vccq-sdhi0 {
+   compatible = "regulator-gpio";
+
+   regulator-name = "SDHI0 VccQ";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+
+   gpios = < 1 GPIO_ACTIVE_HIGH>;
+   gpios-states = <1>;
+   states = <330 1
+ 180 0>;
+   };
  };
  
  _clk {

@@ -68,8 +92,33 @@
groups = "scif_clk_a";
function = "scif_clk";
};
+
+   sdhi0_pins_3v3: sd0_3v3 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <3300>;
+   };
+
+   sdhi0_pins_1v8: sd0_1v8 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <1800>;
+   };

I would prefer the pin nodes to be named as follows:

  sdhi0_pins_3v3 ->  sdhi0_pins_3v3
  sdhi0_pins_1v8 -> sdhi0_pins_uhs

Likewise for SDHI2.

Okay, I will resend these changes in the next try.

Regards,
Vladimir




  };
  
+ {

+   pinctrl-0 = <_pins_3v3>;
+   pinctrl-1 = <_pins_1v8>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_sdhi0>;
+   vqmmc-supply = <_sdhi0>;
+   cd-gpios = < 12 GPIO_ACTIVE_LOW>;
+   bus-width = <4>;
+   sd-uhs-sdr50;
+   status = "okay";
+};
+
   {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
--
1.9.1





[PATCH 7/9] arm64: dts: m3ulcb: enable EXTALR clk

2016-11-03 Thread Vladimir Barinov
This enables EXTALR clock that can be used for the watchdog.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
 arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
index 3682bcc..6936288 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
@@ -74,6 +74,10 @@
clock-frequency = <1666>;
 };
 
+_clk {
+   clock-frequency = <32768>;
+};
+
  {
pinctrl-0 = <_clk_pins>;
pinctrl-names = "default";
-- 
1.9.1



[PATCH v6] arm64: dts: h3ulcb: enable GPIO leds

2016-09-05 Thread Vladimir Barinov
This supports GPIO leds on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 3:
- initially added
Changes in version 4:
- removed led4 in favor of gpio-keys
- added label
Changes in version 5:
- nothing
Changes in version 6:
- removed label

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index fb694b8..3329f78 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -31,6 +31,17 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x4800 0x0 0x3800>;
};
+
+   leds {
+   compatible = "gpio-leds";
+
+   led5 {
+   gpios = < 12 GPIO_ACTIVE_HIGH>;
+   };
+   led6 {
+   gpios = < 13 GPIO_ACTIVE_HIGH>;
+   };
+   };
 };
 
 _clk {
-- 
1.9.1



[PATCH v5 4/4] arm64: dts: h3ulcb: Sound SSI support

2016-09-02 Thread Vladimir Barinov
This supports SSI sound for H3ULCB board.
SSI DMA mode used. CS2000 used as AUDIO_CLK_B.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
---
Changes in version 3:
- initially added
Changes in version 4:
- added comment for audio_clkout
Changes in version 5:
- renamed x12_clk node to x12
- renamed clk_multiplier node to clk-multiplier
- renamed audio_clkout node to audio-clkout
- renamed sound_clk node to sound-clk

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 115 +
 1 file changed, 115 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index bbd7928..a254231 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -45,6 +45,12 @@
};
};
 
+   x12_clk: x12 {
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <24576000>;
+   };
+
vcc_sdhi0: regulator-vcc-sdhi0 {
compatible = "regulator-fixed";
 
@@ -68,6 +74,32 @@
states = <330 1
  180 0>;
};
+
+   audio_clkout: audio-clkout {
+   /*
+* This is same as <_sound 0>
+* but needed to avoid cs2000/rcar_sound probe dead-lock
+*/
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <11289600>;
+   };
+
+   rsnd_ak4613: sound {
+   compatible = "simple-audio-card";
+
+   simple-audio-card,format = "left_j";
+   simple-audio-card,bitclock-master = <>;
+   simple-audio-card,frame-master = <>;
+
+   sndcpu: simple-audio-card,cpu {
+   sound-dai = <_sound>;
+   };
+
+   sndcodec: simple-audio-card,codec {
+   sound-dai = <>;
+   };
+   };
 };
 
 _clk {
@@ -113,6 +141,17 @@
power-source = <1800>;
};
 
+   sound_pins: sound {
+   groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
+   function = "ssi";
+   };
+
+   sound_clk_pins: sound-clk {
+   groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
+"audio_clkout_a", "audio_clkout3_a";
+   function = "audio_clk";
+   };
+
usb1_pins: usb1 {
groups = "usb1";
function = "usb1";
@@ -136,6 +176,73 @@
pinctrl-names = "default";
 
status = "okay";
+
+   clock-frequency = <10>;
+
+   ak4613: codec@10 {
+   compatible = "asahi-kasei,ak4613";
+   #sound-dai-cells = <0>;
+   reg = <0x10>;
+   clocks = <_sound 3>;
+
+   asahi-kasei,in1-single-end;
+   asahi-kasei,in2-single-end;
+   asahi-kasei,out1-single-end;
+   asahi-kasei,out2-single-end;
+   asahi-kasei,out3-single-end;
+   asahi-kasei,out4-single-end;
+   asahi-kasei,out5-single-end;
+   asahi-kasei,out6-single-end;
+   };
+
+   cs2000: clk-multiplier@4f {
+   #clock-cells = <0>;
+   compatible = "cirrus,cs2000-cp";
+   reg = <0x4f>;
+   clocks = <_clkout>, <_clk>;
+   clock-names = "clk_in", "ref_clk";
+
+   assigned-clocks = <>;
+   assigned-clock-rates = <24576000>; /* 1/1 divide */
+   };
+};
+
+_sound {
+   pinctrl-0 = <_pins _clk_pins>;
+   pinctrl-names = "default";
+
+   /* Single DAI */
+   #sound-dai-cells = <0>;
+
+   /* audio_clkout0/1/2/3 */
+   #clock-cells = <1>;
+   clock-frequency = <11289600>;
+
+   status = "okay";
+
+   /* update  to  */
+   clocks = < CPG_MOD 1005>,
+< CPG_MOD 1006>, < CPG_MOD 1007>,
+< CPG_MOD 1008>, < CPG_MOD 1009>,
+< CPG_MOD 1010>, < CPG_MOD 1011>,
+< CPG_MOD 1012>, < CPG_MOD 1013>,
+< CPG_MOD 1014>, < CPG_MOD 1015>,
+< CPG_MOD 1022>, < CPG_MOD 1023>,
+< CPG_MOD 1024>, < CPG_MOD 1025>,
+< CPG_MOD 1026>, < CPG_MOD 1027>,
+< CPG_MO

[PATCH v5 3/4] arm64: dts: h3ulcb: enable SDHI0

2016-09-02 Thread Vladimir Barinov
This supports SDHI0 on H3ULCB board SD card slot

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 3:
- initially added
Changes in version 4:
- added sd-uhs-sdr50
Changes in version 5:
- nothing

---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 49 ++
 1 file changed, 49 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 6842597..babe41c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -44,6 +44,30 @@
gpios = < 13 GPIO_ACTIVE_HIGH>;
};
};
+
+   vcc_sdhi0: regulator-vcc-sdhi0 {
+   compatible = "regulator-fixed";
+
+   regulator-name = "SDHI0 Vcc";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+
+   gpio = < 2 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
+
+   vccq_sdhi0: regulator-vccq-sdhi0 {
+   compatible = "regulator-gpio";
+
+   regulator-name = "SDHI0 VccQ";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+
+   gpios = < 1 GPIO_ACTIVE_HIGH>;
+   gpios-states = <1>;
+   states = <330 1
+ 180 0>;
+   };
 };
 
 _clk {
@@ -78,6 +102,18 @@
function = "avb";
};
 
+   sdhi0_pins_3v3: sd0_3v3 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <3300>;
+   };
+
+   sdhi0_pins_1v8: sd0_1v8 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <1800>;
+   };
+
usb1_pins: usb1 {
groups = "usb1";
function = "usb1";
@@ -108,6 +144,19 @@
status = "okay";
 };
 
+ {
+   pinctrl-0 = <_pins_3v3>;
+   pinctrl-1 = <_pins_1v8>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_sdhi0>;
+   vqmmc-supply = <_sdhi0>;
+   cd-gpios = < 12 GPIO_ACTIVE_LOW>;
+   bus-width = <4>;
+   sd-uhs-sdr50;
+   status = "okay";
+};
+
  {
timeout-sec = <60>;
status = "okay";
-- 
1.9.1



[PATCH v5 2/4] arm64: dts: h3ulcb: enable GPIO keys

2016-09-02 Thread Vladimir Barinov
This supports GPIO keys on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 4:
- initially added
Changes in version 5:
- nothing

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 14 +
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index fb694b8..3329f78 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -12,6 +12,7 @@
 /dts-v1/;
 #include "r8a7795.dtsi"
 #include 
+#include 
 
 / {
model = "Renesas H3ULCB board based on r8a7795";
@@ -31,6 +31,18 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x4800 0x0 0x3800>;
};
+
+   keyboard {
+   compatible = "gpio-keys";
+
+   key-1 {
+   linux,code = ;
+   label = "SW3";
+   wakeup-source;
+   debounce-interval = <20>;
+   gpios = < 11 GPIO_ACTIVE_LOW>;
+   };
+   };
 
leds {
compatible = "gpio-leds";
-- 
1.9.1



[PATCH v5 1/4] arm64: dts: h3ulcb: enable GPIO leds

2016-09-02 Thread Vladimir Barinov
This supports GPIO leds on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 3:
- initially added
Changes in version 4:
- removed led4 in favor of gpio-keys
- added label
Changes in version 5:
- nothing

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index fb694b8..3329f78 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -31,6 +31,19 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x4800 0x0 0x3800>;
};
+
+   leds {
+   compatible = "gpio-leds";
+
+   led5 {
+   label = "LED5";
+   gpios = < 12 GPIO_ACTIVE_HIGH>;
+   };
+   led6 {
+   label = "LED6";
+   gpios = < 13 GPIO_ACTIVE_HIGH>;
+   };
+   };
 };
 
 _clk {
-- 
1.9.1



Re: [PATCH v3 12/12] arm64: dts: h3ulcb: Sound SSI support

2016-09-02 Thread Vladimir Barinov

Hi Sergei,

Thank you for the review.
Lemme fix it in v5 patchset.

Regards,
Vladimir

On 02.09.2016 15:38, Sergei Shtylyov wrote:

Hello.

On 9/2/2016 3:05 PM, Vladimir Barinov wrote:


This supports SSI sound for H3ULCB board.
SSI DMA mode used. CS2000 used as AUDIO_CLK_B.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
---
Changes in version 3:
- initially added
Changes in version 4:
- added comment for audio_clkout

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 115 
+

 1 file changed, 115 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts

index bbd7928..a254231 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -45,6 +45,12 @@
 };
 };

+x12_clk: x12_clk {


   If the crystal name is X12, name the node "x12" too, this way the 
output clock will be named just "x12".



+compatible = "fixed-clock";
+#clock-cells = <0>;
+clock-frequency = <24576000>;
+};
+
 vcc_sdhi0: regulator-vcc-sdhi0 {
 compatible = "regulator-fixed";


[...]

@@ -136,6 +176,73 @@

[...]

+
+cs2000: clk_multiplier@4f {


   Don't use underscores in the node names, use hyphens instead.


+#clock-cells = <0>;
+compatible = "cirrus,cs2000-cp";
+reg = <0x4f>;
+clocks = <_clkout>, <_clk>;
+clock-names = "clk_in", "ref_clk";
+
+assigned-clocks = <>;
+assigned-clock-rates = <24576000>; /* 1/1 divide */
+};
+};

[...]

MBR, Sergei





Re: [PATCH v3 12/12] arm64: dts: h3ulcb: Sound SSI support

2016-09-02 Thread Vladimir Barinov

On 02.09.2016 15:05, Vladimir Barinov wrote:

This supports SSI sound for H3ULCB board.
SSI DMA mode used. CS2000 used as AUDIO_CLK_B.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
---
Changes in version 3:
- initially added
Changes in version 4:
- added comment for audio_clkout

  arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 115 +
  1 file changed, 115 insertions(+)


Sorry for the subject typo. The proper one is v4:
[PATCH v4 4/4] arm64: dts: h3ulcb: Sound SSI support



[PATCH v3 12/12] arm64: dts: h3ulcb: Sound SSI support

2016-09-02 Thread Vladimir Barinov
This supports SSI sound for H3ULCB board.
SSI DMA mode used. CS2000 used as AUDIO_CLK_B.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
---
Changes in version 3:
- initially added
Changes in version 4:
- added comment for audio_clkout

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 115 +
 1 file changed, 115 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index bbd7928..a254231 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -45,6 +45,12 @@
};
};
 
+   x12_clk: x12_clk {
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <24576000>;
+   };
+
vcc_sdhi0: regulator-vcc-sdhi0 {
compatible = "regulator-fixed";
 
@@ -68,6 +74,32 @@
states = <330 1
  180 0>;
};
+
+   audio_clkout: audio_clkout {
+   /*
+* This is same as <_sound 0>
+* but needed to avoid cs2000/rcar_sound probe dead-lock
+*/
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <11289600>;
+   };
+
+   rsnd_ak4613: sound {
+   compatible = "simple-audio-card";
+
+   simple-audio-card,format = "left_j";
+   simple-audio-card,bitclock-master = <>;
+   simple-audio-card,frame-master = <>;
+
+   sndcpu: simple-audio-card,cpu {
+   sound-dai = <_sound>;
+   };
+
+   sndcodec: simple-audio-card,codec {
+   sound-dai = <>;
+   };
+   };
 };
 
 _clk {
@@ -113,6 +141,17 @@
power-source = <1800>;
};
 
+   sound_pins: sound {
+   groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
+   function = "ssi";
+   };
+
+   sound_clk_pins: sound_clk {
+   groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
+"audio_clkout_a", "audio_clkout3_a";
+   function = "audio_clk";
+   };
+
usb1_pins: usb1 {
groups = "usb1";
function = "usb1";
@@ -136,6 +176,73 @@
pinctrl-names = "default";
 
status = "okay";
+
+   clock-frequency = <10>;
+
+   ak4613: codec@10 {
+   compatible = "asahi-kasei,ak4613";
+   #sound-dai-cells = <0>;
+   reg = <0x10>;
+   clocks = <_sound 3>;
+
+   asahi-kasei,in1-single-end;
+   asahi-kasei,in2-single-end;
+   asahi-kasei,out1-single-end;
+   asahi-kasei,out2-single-end;
+   asahi-kasei,out3-single-end;
+   asahi-kasei,out4-single-end;
+   asahi-kasei,out5-single-end;
+   asahi-kasei,out6-single-end;
+   };
+
+   cs2000: clk_multiplier@4f {
+   #clock-cells = <0>;
+   compatible = "cirrus,cs2000-cp";
+   reg = <0x4f>;
+   clocks = <_clkout>, <_clk>;
+   clock-names = "clk_in", "ref_clk";
+
+   assigned-clocks = <>;
+   assigned-clock-rates = <24576000>; /* 1/1 divide */
+   };
+};
+
+_sound {
+   pinctrl-0 = <_pins _clk_pins>;
+   pinctrl-names = "default";
+
+   /* Single DAI */
+   #sound-dai-cells = <0>;
+
+   /* audio_clkout0/1/2/3 */
+   #clock-cells = <1>;
+   clock-frequency = <11289600>;
+
+   status = "okay";
+
+   /* update  to  */
+   clocks = < CPG_MOD 1005>,
+< CPG_MOD 1006>, < CPG_MOD 1007>,
+< CPG_MOD 1008>, < CPG_MOD 1009>,
+< CPG_MOD 1010>, < CPG_MOD 1011>,
+< CPG_MOD 1012>, < CPG_MOD 1013>,
+< CPG_MOD 1014>, < CPG_MOD 1015>,
+< CPG_MOD 1022>, < CPG_MOD 1023>,
+< CPG_MOD 1024>, < CPG_MOD 1025>,
+< CPG_MOD 1026>, < CPG_MOD 1027>,
+< CPG_MOD 1028>, < CPG_MOD 1029>,
+< CPG_MOD 1030>, < CPG_MOD 1031>,
+< CPG_MOD 1019>, < CPG_MOD 1018>,
+<_clk_a>, <>,
+<_clk_c>,
+< CPG_CORE R8A7795_CLK_S0D4>;
+
+   rcar_sound,dai {
+   dai0 {
+   playback = <  >;
+   capture  = <  >;
+   };
+   };
 };
 
  {
@@ -150,11 +257,19 @@
status = "okay";
 };
 
+ {
+   shared-pin;
+};
+
  {
timeout-sec = <60>;
status = "okay";
 };
 
+_clk_a {
+   clock-frequency = <22579200>;
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
-- 
1.9.1



[PATCH v4 3/4] arm64: dts: h3ulcb: enable SDHI0

2016-09-02 Thread Vladimir Barinov
This supports SDHI0 on H3ULCB board SD card slot

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 3:
- initially added
Changes in version 4:
- added sd-uhs-sdr50

---
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 49 ++
 1 file changed, 49 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 6842597..babe41c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -44,6 +44,30 @@
gpios = < 13 GPIO_ACTIVE_HIGH>;
};
};
+
+   vcc_sdhi0: regulator-vcc-sdhi0 {
+   compatible = "regulator-fixed";
+
+   regulator-name = "SDHI0 Vcc";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+
+   gpio = < 2 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
+
+   vccq_sdhi0: regulator-vccq-sdhi0 {
+   compatible = "regulator-gpio";
+
+   regulator-name = "SDHI0 VccQ";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+
+   gpios = < 1 GPIO_ACTIVE_HIGH>;
+   gpios-states = <1>;
+   states = <330 1
+ 180 0>;
+   };
 };
 
 _clk {
@@ -78,6 +102,18 @@
function = "avb";
};
 
+   sdhi0_pins_3v3: sd0_3v3 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <3300>;
+   };
+
+   sdhi0_pins_1v8: sd0_1v8 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <1800>;
+   };
+
usb1_pins: usb1 {
groups = "usb1";
function = "usb1";
@@ -108,6 +144,19 @@
status = "okay";
 };
 
+ {
+   pinctrl-0 = <_pins_3v3>;
+   pinctrl-1 = <_pins_1v8>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_sdhi0>;
+   vqmmc-supply = <_sdhi0>;
+   cd-gpios = < 12 GPIO_ACTIVE_LOW>;
+   bus-width = <4>;
+   sd-uhs-sdr50;
+   status = "okay";
+};
+
  {
timeout-sec = <60>;
status = "okay";
-- 
1.9.1



[PATCH v4 2/4] arm64: dts: h3ulcb: enable GPIO keys

2016-09-02 Thread Vladimir Barinov
This supports GPIO keys on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 4:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 14 +
 1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index fb694b8..3329f78 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -12,6 +12,7 @@
 /dts-v1/;
 #include "r8a7795.dtsi"
 #include 
+#include 
 
 / {
model = "Renesas H3ULCB board based on r8a7795";
@@ -31,6 +31,18 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x4800 0x0 0x3800>;
};
+
+   keyboard {
+   compatible = "gpio-keys";
+
+   key-1 {
+   linux,code = ;
+   label = "SW3";
+   wakeup-source;
+   debounce-interval = <20>;
+   gpios = < 11 GPIO_ACTIVE_LOW>;
+   };
+   };
 
leds {
compatible = "gpio-leds";
-- 
1.9.1



[PATCH v4 0/4] arm64: renesas: enable H3ULCB board peripherals

2016-09-02 Thread Vladimir Barinov
Hello,

This adds the folowing:
- R8A7795 SoC based H3ULCB board peripherals

Vladimir Barinov (4):
[1/4] arm64: dts: h3ulcb: enable GPIO leds
[2/4] arm64: dts: h3ulcb: enable GPIO keys
[3/4] arm64: dts: h3ulcb: enable SDHI0
[4/4] arm64: dts: h3ulcb: Sound SSI support

---
This patchset is against the 'kernel/git/horms/renesas.git' repo.

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 189 
+
 1 file changed, 189 insertions(+)


[PATCH v4 1/4] arm64: dts: h3ulcb: enable GPIO leds

2016-09-02 Thread Vladimir Barinov
This supports GPIO leds on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
---
Changes in version 3:
- initially added
Changes in version 4:
- removed led4 in favor of gpio-keys
- added label

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index fb694b8..3329f78 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -31,6 +31,19 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x4800 0x0 0x3800>;
};
+
+   leds {
+   compatible = "gpio-leds";
+
+   led5 {
+   label = "LED5";
+   gpios = < 12 GPIO_ACTIVE_HIGH>;
+   };
+   led6 {
+   label = "LED6";
+   gpios = < 13 GPIO_ACTIVE_HIGH>;
+   };
+   };
 };
 
 _clk {
-- 
1.9.1



Re: [PATCH v3 0/12] arm64: renesas: add H3ULCB board

2016-09-01 Thread Vladimir Barinov

Hi Geert,

Thank you for the review!
I will wait for Morimoto-san review and respin the patch series 
accordingly to your comments.


Regards,
Vladimir

On 01.09.2016 11:39, Geert Uytterhoeven wrote:

Hi Vladimir,

On Wed, Aug 31, 2016 at 12:01 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

This adds the folowing:
- R8A7795 SoC based H3ULCB low cost board device tree
- Document DT bindings

Thanks for your split series!


Vladimir Barinov (12):
[01/12] dt: arm: shmobile: add H3ULCB board DT bindings
[02/12] arm64: dts: h3ulcb: initial device tree
[03/12] arm64: dts: h3ulcb: enable SCIF clk and pins
[04/12] arm64: dts: h3ulcb: enable EthernetAVB
[05/12] arm64: dts: h3ulcb: enable GPIO leds
[06/12] arm64: dts: h3ulcb: enable SDHI0
[07/12] arm64: dts: h3ulcb: enable I2C2
[08/12] arm64: dts: h3ulcb: enable EXTALR clk
[09/12] arm64: dts: h3ulcb: enable WDT
[10/12] arm64: dts: h3ulcb: enable USB2 PHY of channel 1
[11/12] arm64: dts: h3ulcb: enable USB2.0 Host channel 1

I went through all of the above...


[12/12] arm64: dts: h3ulcb: Sound SSI support

... but I'm leaving this one for Morimoto-san.

Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds





Re: [PATCH v3 06/12] arm64: dts: h3ulcb: enable SDHI0

2016-09-01 Thread Vladimir Barinov

Hi Geert,

On 01.09.2016 11:11, Geert Uytterhoeven wrote:

Hi Vladimir,

On Wed, Aug 31, 2016 at 12:03 PM, Vladimir Barinov
<vladimir.bari...@cogentembedded.com> wrote:

This supports SDHI0 on H3ULCB board SD card slot

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>

Thanks for your patch!


--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -82,6 +118,18 @@
 status = "okay";
  };

+ {
+   pinctrl-0 = <_pins_3v3>;
+   pinctrl-1 = <_pins_1v8>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_sdhi0>;
+   vqmmc-supply = <_sdhi0>;
+   cd-gpios = < 12 GPIO_ACTIVE_LOW>;
+   bus-width = <4>;
+   status = "okay";
+};

According to the schematics, SD0_WP is wired, so I think you want to add

No, it is not wired (I look on rev0.40 and rev0.46).
The microSD card connector CN6 does not have WP on H3ULCB board.


 wp-gpios = < 13 GPIO_ACTIVE_HIGH>;

The GPIO GP_3_13 just pulled up to 3.3V power rail.


As you add UHS pins, I think you want to add

 sd-uhs-sdr50

too.

Thank you for pointing to this.
Yes.
I will respin this patch with this added.

Regards,
Vladimir


Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds





[PATCH v3 08/12] arm64: dts: h3ulcb: enable EXTALR clk

2016-08-31 Thread Vladimir Barinov
This enables EXTALR clock that can be used for the watchdog.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 4 
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 3682bcc..6936288 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -74,6 +74,10 @@
clock-frequency = <1666>;
 };
 
+_clk {
+   clock-frequency = <32768>;
+};
+
  {
pinctrl-0 = <_clk_pins>;
pinctrl-names = "default";
-- 
1.9.1



[PATCH v3 06/12] arm64: dts: h3ulcb: enable SDHI0

2016-08-31 Thread Vladimir Barinov
This supports SDHI0 on H3ULCB board SD card slot

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 48 ++
 1 file changed, 48 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 3329f78..5be0cf6 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -44,6 +44,30 @@
gpios = < 13 GPIO_ACTIVE_HIGH>;
};
};
+
+   vcc_sdhi0: regulator-vcc-sdhi0 {
+   compatible = "regulator-fixed";
+
+   regulator-name = "SDHI0 Vcc";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+
+   gpio = < 2 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
+
+   vccq_sdhi0: regulator-vccq-sdhi0 {
+   compatible = "regulator-gpio";
+
+   regulator-name = "SDHI0 VccQ";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+
+   gpios = < 1 GPIO_ACTIVE_HIGH>;
+   gpios-states = <1>;
+   states = <330 1
+ 180 0>;
+   };
 };
 
 _clk {
@@ -68,6 +92,18 @@
groups = "avb_mdc";
function = "avb";
};
+
+   sdhi0_pins_3v3: sd0_3v3 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <3300>;
+   };
+
+   sdhi0_pins_1v8: sd0_1v8 {
+   groups = "sdhi0_data4", "sdhi0_ctrl";
+   function = "sdhi0";
+   power-source = <1800>;
+   };
 };
 
  {
@@ -82,6 +118,18 @@
status = "okay";
 };
 
+ {
+   pinctrl-0 = <_pins_3v3>;
+   pinctrl-1 = <_pins_1v8>;
+   pinctrl-names = "default", "state_uhs";
+
+   vmmc-supply = <_sdhi0>;
+   vqmmc-supply = <_sdhi0>;
+   cd-gpios = < 12 GPIO_ACTIVE_LOW>;
+   bus-width = <4>;
+   status = "okay";
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
-- 
1.9.1



[PATCH v3 07/12] arm64: dts: h3ulcb: enable I2C2

2016-08-31 Thread Vladimir Barinov
This supports I2C2 bus on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 12 
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 5be0cf6..3682bcc 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -88,6 +88,11 @@
function = "scif_clk";
};
 
+   i2c2_pins: i2c2 {
+   groups = "i2c2_a";
+   function = "i2c2";
+   };
+
avb_pins: avb {
groups = "avb_mdc";
function = "avb";
@@ -118,6 +123,13 @@
status = "okay";
 };
 
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+
+   status = "okay";
+};
+
  {
pinctrl-0 = <_pins_3v3>;
pinctrl-1 = <_pins_1v8>;
-- 
1.9.1



[PATCH v3 11/12] arm64: dts: h3ulcb: enable USB2.0 Host channel 1

2016-08-31 Thread Vladimir Barinov
This supports USB2.0 Host channel 1 on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 8 
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 1750bb1..bbd7928 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -187,3 +187,11 @@
 
status = "okay";
 };
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+};
-- 
1.9.1



[PATCH v3 12/12] arm64: dts: h3ulcb: Sound SSI support

2016-08-31 Thread Vladimir Barinov
This supports SSI sound for H3ULCB board.
SSI DMA mode used. CS2000 used as AUDIO_CLK_B.

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 115 +
 1 file changed, 115 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index bbd7928..a254231 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -45,6 +45,12 @@
};
};
 
+   x12_clk: x12_clk {
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <24576000>;
+   };
+
vcc_sdhi0: regulator-vcc-sdhi0 {
compatible = "regulator-fixed";
 
@@ -68,6 +74,28 @@
states = <330 1
  180 0>;
};
+
+   audio_clkout: audio_clkout {
+   compatible = "fixed-clock";
+   #clock-cells = <0>;
+   clock-frequency = <11289600>;
+   };
+
+   rsnd_ak4613: sound {
+   compatible = "simple-audio-card";
+
+   simple-audio-card,format = "left_j";
+   simple-audio-card,bitclock-master = <>;
+   simple-audio-card,frame-master = <>;
+
+   sndcpu: simple-audio-card,cpu {
+   sound-dai = <_sound>;
+   };
+
+   sndcodec: simple-audio-card,codec {
+   sound-dai = <>;
+   };
+   };
 };
 
 _clk {
@@ -113,6 +141,18 @@
function = "sdhi0";
power-source = <1800>;
};
+
+   sound_pins: sound {
+   groups = "ssi01239_ctrl", "ssi0_data", "ssi1_data_a";
+   function = "ssi";
+   };
+
+   sound_clk_pins: sound_clk {
+   groups = "audio_clk_a_a", "audio_clk_b_a", "audio_clk_c_a",
+"audio_clkout_a", "audio_clkout3_a";
+   function = "audio_clk";
+   };
+
usb1_pins: usb1 {
groups = "usb1";
function = "usb1";
@@ -136,6 +176,73 @@
pinctrl-names = "default";
 
status = "okay";
+
+   clock-frequency = <10>;
+
+   ak4613: codec@10 {
+   compatible = "asahi-kasei,ak4613";
+   #sound-dai-cells = <0>;
+   reg = <0x10>;
+   clocks = <_sound 3>;
+
+   asahi-kasei,in1-single-end;
+   asahi-kasei,in2-single-end;
+   asahi-kasei,out1-single-end;
+   asahi-kasei,out2-single-end;
+   asahi-kasei,out3-single-end;
+   asahi-kasei,out4-single-end;
+   asahi-kasei,out5-single-end;
+   asahi-kasei,out6-single-end;
+   };
+
+   cs2000: clk_multiplier@4f {
+   #clock-cells = <0>;
+   compatible = "cirrus,cs2000-cp";
+   reg = <0x4f>;
+   clocks = <_clkout>, <_clk>;
+   clock-names = "clk_in", "ref_clk";
+
+   assigned-clocks = <>;
+   assigned-clock-rates = <24576000>; /* 1/1 divide */
+   };
+};
+
+_sound {
+   pinctrl-0 = <_pins _clk_pins>;
+   pinctrl-names = "default";
+
+   /* Single DAI */
+   #sound-dai-cells = <0>;
+
+   /* audio_clkout0/1/2/3 */
+   #clock-cells = <1>;
+   clock-frequency = <11289600>;
+
+   status = "okay";
+
+   /* update  to  */
+   clocks = < CPG_MOD 1005>,
+< CPG_MOD 1006>, < CPG_MOD 1007>,
+< CPG_MOD 1008>, < CPG_MOD 1009>,
+< CPG_MOD 1010>, < CPG_MOD 1011>,
+< CPG_MOD 1012>, < CPG_MOD 1013>,
+< CPG_MOD 1014>, < CPG_MOD 1015>,
+< CPG_MOD 1022>, < CPG_MOD 1023>,
+< CPG_MOD 1024>, < CPG_MOD 1025>,
+< CPG_MOD 1026>, < CPG_MOD 1027>,
+< CPG_MOD 1028>, < CPG_MOD 1029>,
+< CPG_MOD 1030>, < CPG_MOD 1031>,
+< CPG_MOD 1019>, < CPG_MOD 1018>,
+<_clk_a>, <>,
+<_clk_c>,
+< CPG_CORE R8A7795_CLK_S0D4>;
+
+   rcar_sound,dai {
+   dai0 {
+   playback = <  >;
+   capture  = <  >;
+   };
+   };
 };
 
  {
@@ -150,11 +257,19 @@
status = "okay";
 };
 
+ {
+   shared-pin;
+};
+
  {
timeout-sec = <60>;
status = "okay";
 };
 
+_clk_a {
+   clock-frequency = <22579200>;
+};
+
  {
pinctrl-0 = <_pins>;
pinctrl-names = "default";
-- 
1.9.1



[PATCH v3 04/12] arm64: dts: h3ulcb: enable EthernetAVB

2016-08-31 Thread Vladimir Barinov
This supports Ethernet AVB on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 32 ++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index 67ce368..fb694b8 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -19,6 +19,7 @@
 
aliases {
serial0 = 
+   ethernet0 = 
};
 
chosen {
@@ -49,6 +50,11 @@
groups = "scif_clk_a";
function = "scif_clk";
};
+
+   avb_pins: avb {
+   groups = "avb_mdc";
+   function = "avb";
+   };
 };
 
  {
@@ -62,3 +68,29 @@
clock-frequency = <14745600>;
status = "okay";
 };
+
+ {
+   pinctrl-0 = <_pins>;
+   pinctrl-names = "default";
+   renesas,no-ether-link;
+   phy-handle = <>;
+   status = "okay";
+
+   phy0: ethernet-phy@0 {
+   rxc-skew-ps = <900>;
+   rxdv-skew-ps = <0>;
+   rxd0-skew-ps = <0>;
+   rxd1-skew-ps = <0>;
+   rxd2-skew-ps = <0>;
+   rxd3-skew-ps = <0>;
+   txc-skew-ps = <900>;
+   txen-skew-ps = <0>;
+   txd0-skew-ps = <0>;
+   txd1-skew-ps = <0>;
+   txd2-skew-ps = <0>;
+   txd3-skew-ps = <0>;
+   reg = <0>;
+   interrupt-parent = <>;
+   interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+   };
+};
-- 
1.9.1



[PATCH v3 05/12] arm64: dts: h3ulcb: enable GPIO leds

2016-08-31 Thread Vladimir Barinov
This supports GPIO leds on H3ULCB board

Signed-off-by: Vladimir Barinov <vladimir.bari...@cogentembedded.com>
---
Changes in version 3:
- initially added

 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 13 +
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts 
b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
index fb694b8..3329f78 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
+++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts
@@ -31,6 +31,19 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x4800 0x0 0x3800>;
};
+
+   leds {
+   compatible = "gpio-leds";
+   led4 {
+   gpios = < 11 GPIO_ACTIVE_HIGH>;
+   };
+   led5 {
+   gpios = < 12 GPIO_ACTIVE_HIGH>;
+   };
+   led6 {
+   gpios = < 13 GPIO_ACTIVE_HIGH>;
+   };
+   };
 };
 
 _clk {
-- 
1.9.1



  1   2   >