mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
Pull "Renesas ARM64 Based SoC DT Updates for v4.14" from Simon Horman: * Add usb2.0 for R-Car H3 (r8a7795) ES2.0 SoC * Add R-Car D3 (r8a77995) SoC and Draak board support Adds minimal support for the R-Car D3 SoC and the Draak development board, allowing to boot from a ramdisk using a serial console. * Add Add VC6 clock generator to R-Car H3 (r8a7795)/Salvator-XS board The VC6 is an I2C-controlled programmable clock generator, used on the board to provide a display dot clock. Add it to DT. * Add missing second pair of DMA names to MSIOF nodes to R-Car M3-W (r8a7796) SoC MSIOF0 and MSIOF1 are tied to two DMA controllers through two pairs of DMA specifiers. However, the second pair of corresponding DMA names was missing. * Add support for the DU to R-Car H3 (r8a7795) SoC Add a compatible string and VSP links to the DU node. The H3 ES1.x and H3 ES2.0 are compatible save for the links to the VSPs that are described explicitly in DT, so there's no need for a new ES2-specific compatible string. * Enable HDMI on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards * Enable DU on R-Car M3-W (r8a7796) Salvator-X board * Enable I2C for DVFS on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards * Add Add DRIF support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs Ramesh Shanmugasundaram says, "R-Car Gen3 DRIF is a SPI like receive only slave device." * Move CPG_AUDIO_CLK_I from board to soc files Geert Uytterhoeven says, "The definition of CPG_AUDIO_CLK_I is SoC-specific, not board-specific." * Add IMR-LX4 support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs Sergei Shtylyov says, "The image renderer light extended 4 (IMR-LX4) or the distortion correction engine is a drawing processor with a simple instruction system capable of referencing data on an external memory as 2D texture data and performing texture mapping and drawing with respect to any shape that is split into triangular objects." * tag 'renesas-arm64-dt-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (31 commits) arm64: dts: renesas: r8a7795: add hsusb ch3 device node arm64: dts: renesas: r8a7795: add usb-dmac ch2 and ch3 device nodes arm64: dts: renesas: r8a7795: add usb2.0 host ch3 device nodes arm64: dts: renesas: r8a7795: add usb2_phy ch3 device node arm64: dts: renesas: r8a7795: Add usb companion property in EHCI arm64: dts: renesas: Add Renesas Draak board support arm64: dts: renesas: Add Renesas R8A77995 SoC support arm64: renesas: Add Renesas R8A77995 Kconfig support arm64: dts: r8a7795: salvator-xs: Connect DU dot clocks 0 and 3 arm64: dts: salvator-xs: Add VC6 clock generator arm64: dts: r8a7796: Add missing second pair of DMA names to MSIOF nodes arm64: dts: r8a7795: Add all MSIOF nodes arm64: dts: r8a7795: Add support for the DU arm64: dts: ulcb: Enable HDMI output arm64: dts: ulcb: Add HDMI output connector arm64: dts: r8a7796: m3ulcb: Add DU external dot clocks arm64: dts: r8a7795: h3ulcb: Add DU external dot clocks arm64: dts: ulcb: Add DU external dot clock sources arm64: dts: r8a7796: salvator-x: Enable HDMI output arm64: dts: r8a7796: salvator-x: Add DU external dot clocks ...
419 lines
7.7 KiB
Plaintext
419 lines
7.7 KiB
Plaintext
/*
|
|
* Device Tree Source for the R-Car Gen3 ULCB board
|
|
*
|
|
* Copyright (C) 2016 Renesas Electronics Corp.
|
|
* Copyright (C) 2016 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 <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Renesas R-Car Gen3 ULCB board";
|
|
|
|
aliases {
|
|
serial0 = &scif2;
|
|
ethernet0 = &avb;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
audio_clkout: audio-clkout {
|
|
/*
|
|
* This is same as <&rcar_sound 0>
|
|
* but needed to avoid cs2000/rcar_sound probe dead-lock
|
|
*/
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <11289600>;
|
|
};
|
|
|
|
hdmi0-out {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
|
|
port {
|
|
hdmi0_con: endpoint {
|
|
};
|
|
};
|
|
};
|
|
|
|
keyboard {
|
|
compatible = "gpio-keys";
|
|
|
|
key-1 {
|
|
linux,code = <KEY_1>;
|
|
label = "SW3";
|
|
wakeup-source;
|
|
debounce-interval = <20>;
|
|
gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led5 {
|
|
gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
led6 {
|
|
gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
reg_1p8v: regulator0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "fixed-1.8V";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_3p3v: regulator1 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "fixed-3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
rsnd_ak4613: sound {
|
|
compatible = "simple-audio-card";
|
|
|
|
simple-audio-card,format = "left_j";
|
|
simple-audio-card,bitclock-master = <&sndcpu>;
|
|
simple-audio-card,frame-master = <&sndcpu>;
|
|
|
|
sndcpu: simple-audio-card,cpu {
|
|
sound-dai = <&rcar_sound>;
|
|
};
|
|
|
|
sndcodec: simple-audio-card,codec {
|
|
sound-dai = <&ak4613>;
|
|
};
|
|
};
|
|
|
|
vcc_sdhi0: regulator-vcc-sdhi0 {
|
|
compatible = "regulator-fixed";
|
|
|
|
regulator-name = "SDHI0 Vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
vccq_sdhi0: regulator-vccq-sdhi0 {
|
|
compatible = "regulator-gpio";
|
|
|
|
regulator-name = "SDHI0 VccQ";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
|
|
gpios-states = <1>;
|
|
states = <3300000 1
|
|
1800000 0>;
|
|
};
|
|
|
|
x12_clk: x12 {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <24576000>;
|
|
};
|
|
|
|
x23_clk: x23-clock {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <25000000>;
|
|
};
|
|
};
|
|
|
|
&audio_clk_a {
|
|
clock-frequency = <22579200>;
|
|
};
|
|
|
|
&avb {
|
|
pinctrl-0 = <&avb_pins>;
|
|
pinctrl-names = "default";
|
|
renesas,no-ether-link;
|
|
phy-handle = <&phy0>;
|
|
status = "okay";
|
|
|
|
phy0: ethernet-phy@0 {
|
|
rxc-skew-ps = <1500>;
|
|
reg = <0>;
|
|
interrupt-parent = <&gpio2>;
|
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
|
};
|
|
};
|
|
|
|
&ehci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&extal_clk {
|
|
clock-frequency = <16666666>;
|
|
};
|
|
|
|
&extalr_clk {
|
|
clock-frequency = <32768>;
|
|
};
|
|
|
|
&hdmi0 {
|
|
status = "okay";
|
|
|
|
ports {
|
|
port@1 {
|
|
reg = <1>;
|
|
rcar_dw_hdmi0_out: endpoint {
|
|
remote-endpoint = <&hdmi0_con>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&hdmi0_con {
|
|
remote-endpoint = <&rcar_dw_hdmi0_out>;
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
|
|
clock-frequency = <100000>;
|
|
|
|
ak4613: codec@10 {
|
|
compatible = "asahi-kasei,ak4613";
|
|
#sound-dai-cells = <0>;
|
|
reg = <0x10>;
|
|
clocks = <&rcar_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 = <&audio_clkout>, <&x12_clk>;
|
|
clock-names = "clk_in", "ref_clk";
|
|
|
|
assigned-clocks = <&cs2000>;
|
|
assigned-clock-rates = <24576000>; /* 1/1 divide */
|
|
};
|
|
};
|
|
|
|
&i2c4 {
|
|
status = "okay";
|
|
|
|
clock-frequency = <400000>;
|
|
|
|
versaclock5: clock-generator@6a {
|
|
compatible = "idt,5p49v5925";
|
|
reg = <0x6a>;
|
|
#clock-cells = <1>;
|
|
clocks = <&x23_clk>;
|
|
clock-names = "xin";
|
|
};
|
|
};
|
|
|
|
&i2c_dvfs {
|
|
status = "okay";
|
|
};
|
|
|
|
&ohci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pfc {
|
|
pinctrl-0 = <&scif_clk_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
avb_pins: avb {
|
|
mux {
|
|
groups = "avb_link", "avb_phy_int", "avb_mdc",
|
|
"avb_mii";
|
|
function = "avb";
|
|
};
|
|
|
|
pins_mdc {
|
|
groups = "avb_mdc";
|
|
drive-strength = <24>;
|
|
};
|
|
|
|
pins_mii_tx {
|
|
pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
|
|
"PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
|
|
drive-strength = <12>;
|
|
};
|
|
};
|
|
|
|
i2c2_pins: i2c2 {
|
|
groups = "i2c2_a";
|
|
function = "i2c2";
|
|
};
|
|
|
|
scif2_pins: scif2 {
|
|
groups = "scif2_data_a";
|
|
function = "scif2";
|
|
};
|
|
|
|
scif_clk_pins: scif_clk {
|
|
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>;
|
|
};
|
|
|
|
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";
|
|
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";
|
|
};
|
|
};
|
|
|
|
&rcar_sound {
|
|
pinctrl-0 = <&sound_pins &sound_clk_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
/* Single DAI */
|
|
#sound-dai-cells = <0>;
|
|
|
|
/* audio_clkout0/1/2/3 */
|
|
#clock-cells = <1>;
|
|
clock-frequency = <12288000 11289600>;
|
|
|
|
status = "okay";
|
|
|
|
/* update <audio_clk_b> to <cs2000> */
|
|
clocks = <&cpg CPG_MOD 1005>,
|
|
<&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
|
|
<&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
|
|
<&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
|
|
<&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
|
|
<&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
|
|
<&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
|
|
<&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
|
|
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
|
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
|
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
|
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
|
<&audio_clk_a>, <&cs2000>,
|
|
<&audio_clk_c>,
|
|
<&cpg CPG_CORE CPG_AUDIO_CLK_I>;
|
|
|
|
rcar_sound,dai {
|
|
dai0 {
|
|
playback = <&ssi0 &src0 &dvc0>;
|
|
capture = <&ssi1 &src1 &dvc1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&scif2 {
|
|
pinctrl-0 = <&scif2_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&scif_clk {
|
|
clock-frequency = <14745600>;
|
|
};
|
|
|
|
&sdhi0 {
|
|
pinctrl-0 = <&sdhi0_pins>;
|
|
pinctrl-1 = <&sdhi0_pins_uhs>;
|
|
pinctrl-names = "default", "state_uhs";
|
|
|
|
vmmc-supply = <&vcc_sdhi0>;
|
|
vqmmc-supply = <&vccq_sdhi0>;
|
|
cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
|
|
bus-width = <4>;
|
|
sd-uhs-sdr50;
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhi2 {
|
|
/* used for on-board 8bit eMMC */
|
|
pinctrl-0 = <&sdhi2_pins>;
|
|
pinctrl-1 = <&sdhi2_pins_uhs>;
|
|
pinctrl-names = "default", "state_uhs";
|
|
|
|
vmmc-supply = <®_3p3v>;
|
|
vqmmc-supply = <®_1p8v>;
|
|
bus-width = <8>;
|
|
mmc-hs200-1_8v;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|
|
|
|
&ssi1 {
|
|
shared-pin;
|
|
};
|
|
|
|
&usb2_phy1 {
|
|
pinctrl-0 = <&usb1_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&wdt0 {
|
|
timeout-sec = <60>;
|
|
status = "okay";
|
|
};
|