Re: [PATCH] arm64: dts: renesas: ulcb-kf: add pfc node for USB3.0 channel 0
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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'
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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