Commit e14e5c11 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'renesas-arm64-dt-for-v5.4-tag1' of...

Merge tag 'renesas-arm64-dt-for-v5.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM64 DT updates for v5.4

  - CAN, BT, and WLAN support for the HiHope RZ/G2[MN] boards,
  - Sound support for RZ/G2M,
  - Sort nodes in various SoC and board DTSes,
  - Small fixes and improvements.

* tag 'renesas-arm64-dt-for-v5.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (23 commits)
  arm64: dts: renesas: ulcb: Sort nodes
  arm64: dts: renesas: ulcb-kf: Sort nodes
  arm64: dts: renesas: salvator-common: Sort nodes
  arm64: dts: renesas: r8a7796: salvator-xs: Sort nodes
  arm64: dts: renesas: r8a7796: salvator-x: Sort nodes
  arm64: dts: renesas: r8a7795: salvator-xs: Sort nodes
  arm64: dts: renesas: r8a7795: salvator-x: Sort nodes
  arm64: dts: renesas: r8a7795-es1: salvator-x: Sort nodes
  arm64: dts: renesas: r8a77965: Sort nodes
  arm64: dts: renesas: r8a7795-es1: Sort nodes
  arm64: dts: renesas: r8a7795: Sort nodes
  arm64: dts: renesas: r8a774a1: Add SSIU support for sound
  arm64: dts: renesas: r8a774a1: Use extended audio dmac registers
  arm64: dts: renesas: hihope-common: Add WLAN support
  arm64: dts: renesas: hihope-common: Add BT support
  arm64: dts: renesas: hihope-common: Add PCA9654 I/O expander
  arm64: dts: renesas: hihope-rzg2-ex: Enable CAN interfaces
  arm64: dts: renesas: r8a774a1: Add CANFD support
  arm64: dts: renesas: r8a774a1: Add missing assigned-clocks for CAN[01]
  arm64: dts: renesas: r8a774c0: Add missing assigned-clocks for CAN[01]
  ...

Link: https://lore.kernel.org/r/20190802120355.1430-2-geert+renesas@glider.beSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 2a2bb58a 0a05b3d7
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
/ { / {
aliases { aliases {
serial0 = &scif2; serial0 = &scif2;
serial1 = &hscif0;
}; };
chosen { chosen {
...@@ -31,6 +32,13 @@ hdmi0_con: endpoint { ...@@ -31,6 +32,13 @@ hdmi0_con: endpoint {
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
bt_active_led {
label = "blue:bt";
gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "hci0-power";
default-state = "off";
};
led0 { led0 {
gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>; gpios = <&gpio6 11 GPIO_ACTIVE_HIGH>;
}; };
...@@ -46,6 +54,13 @@ led2 { ...@@ -46,6 +54,13 @@ led2 {
led3 { led3 {
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
}; };
wlan_active_led {
label = "yellow:wlan";
gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tx";
default-state = "off";
};
}; };
reg_1p8v: regulator0 { reg_1p8v: regulator0 {
...@@ -90,6 +105,17 @@ vccq_sdhi0: regulator-vccq-sdhi0 { ...@@ -90,6 +105,17 @@ vccq_sdhi0: regulator-vccq-sdhi0 {
1800000 0>; 1800000 0>;
}; };
wlan_en_reg: regulator-wlan_en {
compatible = "regulator-fixed";
regulator-name = "wlan-en-regulator";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
startup-delay-us = <70000>;
gpio = <&gpio_expander 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
x302_clk: x302-clock { x302_clk: x302-clock {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>; #clock-cells = <0>;
...@@ -153,6 +179,19 @@ rcar_dw_hdmi0_out: endpoint { ...@@ -153,6 +179,19 @@ rcar_dw_hdmi0_out: endpoint {
}; };
}; };
&hscif0 {
pinctrl-0 = <&hscif0_pins>;
pinctrl-names = "default";
uart-has-rtscts;
status = "okay";
bluetooth {
compatible = "ti,wl1837-st";
enable-gpios = <&gpio_expander 2 GPIO_ACTIVE_HIGH>;
};
};
&hsusb { &hsusb {
dr_mode = "otg"; dr_mode = "otg";
status = "okay"; status = "okay";
...@@ -162,6 +201,13 @@ &i2c4 { ...@@ -162,6 +201,13 @@ &i2c4 {
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
gpio_expander: gpio@20 {
compatible = "onnn,pca9654";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
};
versaclock5: clock-generator@6a { versaclock5: clock-generator@6a {
compatible = "idt,5p49v5923"; compatible = "idt,5p49v5923";
reg = <0x6a>; reg = <0x6a>;
...@@ -187,6 +233,11 @@ &pfc { ...@@ -187,6 +233,11 @@ &pfc {
pinctrl-0 = <&scif_clk_pins>; pinctrl-0 = <&scif_clk_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
hscif0_pins: hscif0 {
groups = "hscif0_data", "hscif0_ctrl";
function = "hscif0";
};
scif2_pins: scif2 { scif2_pins: scif2 {
groups = "scif2_data_a"; groups = "scif2_data_a";
function = "scif2"; function = "scif2";
...@@ -209,6 +260,12 @@ sdhi0_pins_uhs: sd0_uhs { ...@@ -209,6 +260,12 @@ sdhi0_pins_uhs: sd0_uhs {
power-source = <1800>; power-source = <1800>;
}; };
sdhi2_pins: sd2 {
groups = "sdhi2_data4", "sdhi2_ctrl";
function = "sdhi2";
power-source = <1800>;
};
sdhi3_pins: sd3 { sdhi3_pins: sd3 {
groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds"; groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
function = "sdhi3"; function = "sdhi3";
...@@ -268,6 +325,27 @@ &sdhi0 { ...@@ -268,6 +325,27 @@ &sdhi0 {
status = "okay"; status = "okay";
}; };
&sdhi2 {
status = "okay";
pinctrl-0 = <&sdhi2_pins>;
pinctrl-names = "default";
vmmc-supply = <&wlan_en_reg>;
bus-width = <4>;
non-removable;
cap-power-off-card;
keep-power-in-suspend;
#address-cells = <1>;
#size-cells = <0>;
wlcore: wlcore@2 {
compatible = "ti,wl1837";
reg = <2>;
interrupt-parent = <&gpio2>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
};
};
&sdhi3 { &sdhi3 {
pinctrl-0 = <&sdhi3_pins>; pinctrl-0 = <&sdhi3_pins>;
pinctrl-1 = <&sdhi3_pins>; pinctrl-1 = <&sdhi3_pins>;
......
...@@ -31,6 +31,18 @@ phy0: ethernet-phy@0 { ...@@ -31,6 +31,18 @@ phy0: ethernet-phy@0 {
}; };
}; };
&can0 {
pinctrl-0 = <&can0_pins>;
pinctrl-names = "default";
status = "okay";
};
&can1 {
pinctrl-0 = <&can1_pins>;
pinctrl-names = "default";
status = "okay";
};
&pciec0 { &pciec0 {
status = "okay"; status = "okay";
}; };
...@@ -60,4 +72,14 @@ pins_mii_tx { ...@@ -60,4 +72,14 @@ pins_mii_tx {
drive-strength = <12>; drive-strength = <12>;
}; };
}; };
can0_pins: can0 {
groups = "can0_data_a";
function = "can0";
};
can1_pins: can1 {
groups = "can1_data";
function = "can1";
};
}; };
...@@ -1128,6 +1128,8 @@ can0: can@e6c30000 { ...@@ -1128,6 +1128,8 @@ can0: can@e6c30000 {
<&cpg CPG_CORE R8A774A1_CLK_CANFD>, <&cpg CPG_CORE R8A774A1_CLK_CANFD>,
<&can_clk>; <&can_clk>;
clock-names = "clkp1", "clkp2", "can_clk"; clock-names = "clkp1", "clkp2", "can_clk";
assigned-clocks = <&cpg CPG_CORE R8A774A1_CLK_CANFD>;
assigned-clock-rates = <40000000>;
power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>; power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>;
resets = <&cpg 916>; resets = <&cpg 916>;
status = "disabled"; status = "disabled";
...@@ -1142,11 +1144,38 @@ can1: can@e6c38000 { ...@@ -1142,11 +1144,38 @@ can1: can@e6c38000 {
<&cpg CPG_CORE R8A774A1_CLK_CANFD>, <&cpg CPG_CORE R8A774A1_CLK_CANFD>,
<&can_clk>; <&can_clk>;
clock-names = "clkp1", "clkp2", "can_clk"; clock-names = "clkp1", "clkp2", "can_clk";
assigned-clocks = <&cpg CPG_CORE R8A774A1_CLK_CANFD>;
assigned-clock-rates = <40000000>;
power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>; power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>;
resets = <&cpg 915>; resets = <&cpg 915>;
status = "disabled"; status = "disabled";
}; };
canfd: can@e66c0000 {
compatible = "renesas,r8a774a1-canfd",
"renesas,rcar-gen3-canfd";
reg = <0 0xe66c0000 0 0x8000>;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 914>,
<&cpg CPG_CORE R8A774A1_CLK_CANFD>,
<&can_clk>;
clock-names = "fck", "canfd", "can_clk";
assigned-clocks = <&cpg CPG_CORE R8A774A1_CLK_CANFD>;
assigned-clock-rates = <40000000>;
power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>;
resets = <&cpg 914>;
status = "disabled";
channel0 {
status = "disabled";
};
channel1 {
status = "disabled";
};
};
pwm0: pwm@e6e30000 { pwm0: pwm@e6e30000 {
compatible = "renesas,pwm-r8a774a1", "renesas,pwm-rcar"; compatible = "renesas,pwm-r8a774a1", "renesas,pwm-rcar";
reg = <0 0xe6e30000 0 0x8>; reg = <0 0xe6e30000 0 0x8>;
...@@ -1653,7 +1682,7 @@ rcar_sound: sound@ec500000 { ...@@ -1653,7 +1682,7 @@ rcar_sound: sound@ec500000 {
<0 0xec5a0000 0 0x100>, /* ADG */ <0 0xec5a0000 0 0x100>, /* ADG */
<0 0xec540000 0 0x1000>, /* SSIU */ <0 0xec540000 0 0x1000>, /* SSIU */
<0 0xec541000 0 0x280>, /* SSI */ <0 0xec541000 0 0x280>, /* SSI */
<0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/ <0 0xec760000 0 0x200>; /* Audio DMAC peri peri*/
reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
clocks = <&cpg CPG_MOD 1005>, clocks = <&cpg CPG_MOD 1005>,
...@@ -1777,56 +1806,267 @@ src9: src-9 { ...@@ -1777,56 +1806,267 @@ src9: src-9 {
}; };
}; };
rcar_sound,ssiu {
ssiu00: ssiu-0 {
dmas = <&audma0 0x15>, <&audma1 0x16>;
dma-names = "rx", "tx";
};
ssiu01: ssiu-1 {
dmas = <&audma0 0x35>, <&audma1 0x36>;
dma-names = "rx", "tx";
};
ssiu02: ssiu-2 {
dmas = <&audma0 0x37>, <&audma1 0x38>;
dma-names = "rx", "tx";
};
ssiu03: ssiu-3 {
dmas = <&audma0 0x47>, <&audma1 0x48>;
dma-names = "rx", "tx";
};
ssiu04: ssiu-4 {
dmas = <&audma0 0x3F>, <&audma1 0x40>;
dma-names = "rx", "tx";
};
ssiu05: ssiu-5 {
dmas = <&audma0 0x43>, <&audma1 0x44>;
dma-names = "rx", "tx";
};
ssiu06: ssiu-6 {
dmas = <&audma0 0x4F>, <&audma1 0x50>;
dma-names = "rx", "tx";
};
ssiu07: ssiu-7 {
dmas = <&audma0 0x53>, <&audma1 0x54>;
dma-names = "rx", "tx";
};
ssiu10: ssiu-8 {
dmas = <&audma0 0x49>, <&audma1 0x4a>;
dma-names = "rx", "tx";
};
ssiu11: ssiu-9 {
dmas = <&audma0 0x4B>, <&audma1 0x4C>;
dma-names = "rx", "tx";
};
ssiu12: ssiu-10 {
dmas = <&audma0 0x57>, <&audma1 0x58>;
dma-names = "rx", "tx";
};
ssiu13: ssiu-11 {
dmas = <&audma0 0x59>, <&audma1 0x5A>;
dma-names = "rx", "tx";
};
ssiu14: ssiu-12 {
dmas = <&audma0 0x5F>, <&audma1 0x60>;
dma-names = "rx", "tx";
};
ssiu15: ssiu-13 {
dmas = <&audma0 0xC3>, <&audma1 0xC4>;
dma-names = "rx", "tx";
};
ssiu16: ssiu-14 {
dmas = <&audma0 0xC7>, <&audma1 0xC8>;
dma-names = "rx", "tx";
};
ssiu17: ssiu-15 {
dmas = <&audma0 0xCB>, <&audma1 0xCC>;
dma-names = "rx", "tx";
};
ssiu20: ssiu-16 {
dmas = <&audma0 0x63>, <&audma1 0x64>;
dma-names = "rx", "tx";
};
ssiu21: ssiu-17 {
dmas = <&audma0 0x67>, <&audma1 0x68>;
dma-names = "rx", "tx";
};
ssiu22: ssiu-18 {
dmas = <&audma0 0x6B>, <&audma1 0x6C>;
dma-names = "rx", "tx";
};
ssiu23: ssiu-19 {
dmas = <&audma0 0x6D>, <&audma1 0x6E>;
dma-names = "rx", "tx";
};
ssiu24: ssiu-20 {
dmas = <&audma0 0xCF>, <&audma1 0xCE>;
dma-names = "rx", "tx";
};
ssiu25: ssiu-21 {
dmas = <&audma0 0xEB>, <&audma1 0xEC>;
dma-names = "rx", "tx";
};
ssiu26: ssiu-22 {
dmas = <&audma0 0xED>, <&audma1 0xEE>;
dma-names = "rx", "tx";
};
ssiu27: ssiu-23 {
dmas = <&audma0 0xEF>, <&audma1 0xF0>;
dma-names = "rx", "tx";
};
ssiu30: ssiu-24 {
dmas = <&audma0 0x6f>, <&audma1 0x70>;
dma-names = "rx", "tx";
};
ssiu31: ssiu-25 {
dmas = <&audma0 0x21>, <&audma1 0x22>;
dma-names = "rx", "tx";
};
ssiu32: ssiu-26 {
dmas = <&audma0 0x23>, <&audma1 0x24>;
dma-names = "rx", "tx";
};
ssiu33: ssiu-27 {
dmas = <&audma0 0x25>, <&audma1 0x26>;
dma-names = "rx", "tx";
};
ssiu34: ssiu-28 {
dmas = <&audma0 0x27>, <&audma1 0x28>;
dma-names = "rx", "tx";
};
ssiu35: ssiu-29 {
dmas = <&audma0 0x29>, <&audma1 0x2A>;
dma-names = "rx", "tx";
};
ssiu36: ssiu-30 {
dmas = <&audma0 0x2B>, <&audma1 0x2C>;
dma-names = "rx", "tx";
};
ssiu37: ssiu-31 {
dmas = <&audma0 0x2D>, <&audma1 0x2E>;
dma-names = "rx", "tx";
};
ssiu40: ssiu-32 {
dmas = <&audma0 0x71>, <&audma1 0x72>;
dma-names = "rx", "tx";
};
ssiu41: ssiu-33 {
dmas = <&audma0 0x17>, <&audma1 0x18>;
dma-names = "rx", "tx";
};
ssiu42: ssiu-34 {
dmas = <&audma0 0x19>, <&audma1 0x1A>;
dma-names = "rx", "tx";
};
ssiu43: ssiu-35 {
dmas = <&audma0 0x1B>, <&audma1 0x1C>;
dma-names = "rx", "tx";
};
ssiu44: ssiu-36 {
dmas = <&audma0 0x1D>, <&audma1 0x1E>;
dma-names = "rx", "tx";
};
ssiu45: ssiu-37 {
dmas = <&audma0 0x1F>, <&audma1 0x20>;
dma-names = "rx", "tx";
};
ssiu46: ssiu-38 {
dmas = <&audma0 0x31>, <&audma1 0x32>;
dma-names = "rx", "tx";
};
ssiu47: ssiu-39 {
dmas = <&audma0 0x33>, <&audma1 0x34>;
dma-names = "rx", "tx";
};
ssiu50: ssiu-40 {
dmas = <&audma0 0x73>, <&audma1 0x74>;
dma-names = "rx", "tx";
};
ssiu60: ssiu-41 {
dmas = <&audma0 0x75>, <&audma1 0x76>;
dma-names = "rx", "tx";
};
ssiu70: ssiu-42 {
dmas = <&audma0 0x79>, <&audma1 0x7a>;
dma-names = "rx", "tx";
};
ssiu80: ssiu-43 {
dmas = <&audma0 0x7b>, <&audma1 0x7c>;
dma-names = "rx", "tx";
};
ssiu90: ssiu-44 {
dmas = <&audma0 0x7d>, <&audma1 0x7e>;
dma-names = "rx", "tx";
};
ssiu91: ssiu-45 {
dmas = <&audma0 0x7F>, <&audma1 0x80>;
dma-names = "rx", "tx";
};
ssiu92: ssiu-46 {
dmas = <&audma0 0x81>, <&audma1 0x82>;
dma-names = "rx", "tx";
};
ssiu93: ssiu-47 {
dmas = <&audma0 0x83>, <&audma1 0x84>;
dma-names = "rx", "tx";
};
ssiu94: ssiu-48 {
dmas = <&audma0 0xA3>, <&audma1 0xA4>;
dma-names = "rx", "tx";
};
ssiu95: ssiu-49 {
dmas = <&audma0 0xA5>, <&audma1 0xA6>;
dma-names = "rx", "tx";
};
ssiu96: ssiu-50 {
dmas = <&audma0 0xA7>, <&audma1 0xA8>;
dma-names = "rx", "tx";
};
ssiu97: ssiu-51 {
dmas = <&audma0 0xA9>, <&audma1 0xAA>;
dma-names = "rx", "tx";
};
};
rcar_sound,ssi { rcar_sound,ssi {
ssi0: ssi-0 { ssi0: ssi-0 {
interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; dmas = <&audma0 0x01>, <&audma1 0x02>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi1: ssi-1 { ssi1: ssi-1 {
interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>; dmas = <&audma0 0x03>, <&audma1 0x04>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi2: ssi-2 { ssi2: ssi-2 {
interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>; dmas = <&audma0 0x05>, <&audma1 0x06>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi3: ssi-3 { ssi3: ssi-3 {
interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>; dmas = <&audma0 0x07>, <&audma1 0x08>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi4: ssi-4 { ssi4: ssi-4 {
interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>; dmas = <&audma0 0x09>, <&audma1 0x0a>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi5: ssi-5 { ssi5: ssi-5 {
interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>; dmas = <&audma0 0x0b>, <&audma1 0x0c>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi6: ssi-6 { ssi6: ssi-6 {
interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>; dmas = <&audma0 0x0d>, <&audma1 0x0e>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi7: ssi-7 { ssi7: ssi-7 {
interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>; dmas = <&audma0 0x0f>, <&audma1 0x10>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi8: ssi-8 { ssi8: ssi-8 {
interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>; dmas = <&audma0 0x11>, <&audma1 0x12>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
ssi9: ssi-9 { ssi9: ssi-9 {
interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>; dmas = <&audma0 0x13>, <&audma1 0x14>;
dma-names = "rx", "tx", "rxu", "txu"; dma-names = "rx", "tx";
}; };
}; };
......
...@@ -973,6 +973,8 @@ can0: can@e6c30000 { ...@@ -973,6 +973,8 @@ can0: can@e6c30000 {
<&cpg CPG_CORE R8A774C0_CLK_CANFD>, <&cpg CPG_CORE R8A774C0_CLK_CANFD>,
<&can_clk>; <&can_clk>;
clock-names = "clkp1", "clkp2", "can_clk"; clock-names = "clkp1", "clkp2", "can_clk";
assigned-clocks = <&cpg CPG_CORE R8A774C0_CLK_CANFD>;
assigned-clock-rates = <40000000>;
power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>; power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
resets = <&cpg 916>; resets = <&cpg 916>;
status = "disabled"; status = "disabled";
...@@ -987,6 +989,8 @@ can1: can@e6c38000 { ...@@ -987,6 +989,8 @@ can1: can@e6c38000 {
<&cpg CPG_CORE R8A774C0_CLK_CANFD>, <&cpg CPG_CORE R8A774C0_CLK_CANFD>,
<&can_clk>; <&can_clk>;
clock-names = "clkp1", "clkp2", "can_clk"; clock-names = "clkp1", "clkp2", "can_clk";
assigned-clocks = <&cpg CPG_CORE R8A774C0_CLK_CANFD>;
assigned-clock-rates = <40000000>;
power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>; power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
resets = <&cpg 915>; resets = <&cpg 915>;
status = "disabled"; status = "disabled";
......
...@@ -52,12 +52,6 @@ &ehci2 { ...@@ -52,12 +52,6 @@ &ehci2 {
status = "okay"; status = "okay";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2>; /* HDMI1 */
};
&hdmi0 { &hdmi0 {
status = "okay"; status = "okay";
...@@ -108,6 +102,13 @@ &ohci2 { ...@@ -108,6 +102,13 @@ &ohci2 {
status = "okay"; status = "okay";
}; };
&pfc {
usb2_pins: usb2 {
groups = "usb2";
function = "usb2";
};
};
&rcar_sound { &rcar_sound {
ports { ports {
/* rsnd_port0 is on salvator-common */ /* rsnd_port0 is on salvator-common */
...@@ -138,17 +139,16 @@ rsnd_endpoint2: endpoint { ...@@ -138,17 +139,16 @@ rsnd_endpoint2: endpoint {
}; };
}; };
&pfc {
usb2_pins: usb2 {
groups = "usb2";
function = "usb2";
};
};
&sata { &sata {
status = "okay"; status = "okay";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2>; /* HDMI1 */
};
&usb2_phy2 { &usb2_phy2 {
pinctrl-0 = <&usb2_pins>; pinctrl-0 = <&usb2_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -7,22 +7,75 @@ ...@@ -7,22 +7,75 @@
#include "r8a7795.dtsi" #include "r8a7795.dtsi"
&soc { &audma0 {
xhci1: usb@ee040000 { iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci"; <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
reg = <0 0xee040000 0 0xc00>; <&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; <&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
clocks = <&cpg CPG_MOD 327>; <&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; <&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
resets = <&cpg 327>; <&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
status = "disabled"; <&ipmmu_mp1 14>, <&ipmmu_mp1 15>;
}; };
/delete-node/ mmu@febe0000; &audma1 {
/delete-node/ mmu@fe980000; iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
/delete-node/ mmu@fd950000; <&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
/delete-node/ mmu@fd960000; <&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
/delete-node/ mmu@fd970000; <&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
<&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
<&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
<&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
<&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
};
&du {
vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
};
&fcpvb1 {
iommus = <&ipmmu_vp0 7>;
};
&fcpf1 {
iommus = <&ipmmu_vp0 1>;
};
&fcpvi1 {
iommus = <&ipmmu_vp0 9>;
};
&fcpvd2 {
iommus = <&ipmmu_vi0 10>;
};
&gpio1 {
gpio-ranges = <&pfc 0 32 28>;
};
&ipmmu_vi0 {
renesas,ipmmu-main = <&ipmmu_mm 11>;
};
&ipmmu_vp0 {
renesas,ipmmu-main = <&ipmmu_mm 12>;
};
&ipmmu_vc0 {
renesas,ipmmu-main = <&ipmmu_mm 9>;
};
&ipmmu_vc1 {
renesas,ipmmu-main = <&ipmmu_mm 10>;
};
&ipmmu_rt {
renesas,ipmmu-main = <&ipmmu_mm 7>;
};
&soc {
/delete-node/ dma-controller@e6460000;
/delete-node/ dma-controller@e6470000;
ipmmu_mp1: mmu@ec680000 { ipmmu_mp1: mmu@ec680000 {
compatible = "renesas,ipmmu-r8a7795"; compatible = "renesas,ipmmu-r8a7795";
...@@ -40,13 +93,37 @@ ipmmu_sy: mmu@e7730000 { ...@@ -40,13 +93,37 @@ ipmmu_sy: mmu@e7730000 {
#iommu-cells = <1>; #iommu-cells = <1>;
}; };
/delete-node/ usb-phy@ee0e0200; /delete-node/ mmu@fd950000;
/delete-node/ usb@ee0e0100; /delete-node/ mmu@fd960000;
/delete-node/ usb@ee0e0000; /delete-node/ mmu@fd970000;
/delete-node/ mmu@febe0000;
/delete-node/ mmu@fe980000;
xhci1: usb@ee040000 {
compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
reg = <0 0xee040000 0 0xc00>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 327>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 327>;
status = "disabled";
};
/delete-node/ usb@e659c000; /delete-node/ usb@e659c000;
/delete-node/ usb@ee0e0000;
/delete-node/ usb@ee0e0100;
/delete-node/ dma-controller@e6460000; /delete-node/ usb-phy@ee0e0200;
/delete-node/ dma-controller@e6470000;
fdp1@fe948000 {
compatible = "renesas,fdp1";
reg = <0 0xfe948000 0 0x2400>;
interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 117>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 117>;
renesas,fcp = <&fcpf2>;
};
fcpf2: fcp@fe952000 { fcpf2: fcp@fe952000 {
compatible = "renesas,fcpf"; compatible = "renesas,fcpf";
...@@ -57,15 +134,13 @@ fcpf2: fcp@fe952000 { ...@@ -57,15 +134,13 @@ fcpf2: fcp@fe952000 {
iommus = <&ipmmu_vp0 2>; iommus = <&ipmmu_vp0 2>;
}; };
vspi2: vsp@fe9c0000 { fcpvd3: fcp@fea3f000 {
compatible = "renesas,vsp2"; compatible = "renesas,fcpv";
reg = <0 0xfe9c0000 0 0x8000>; reg = <0 0xfea3f000 0 0x200>;
interrupts = <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cpg CPG_MOD 600>;
clocks = <&cpg CPG_MOD 629>; power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
power-domains = <&sysc R8A7795_PD_A3VP>; resets = <&cpg 600>;
resets = <&cpg 629>; iommus = <&ipmmu_vi0 11>;
renesas,fcp = <&fcpvi2>;
}; };
fcpvi2: fcp@fe9cf000 { fcpvi2: fcp@fe9cf000 {
...@@ -88,23 +163,15 @@ vspd3: vsp@fea38000 { ...@@ -88,23 +163,15 @@ vspd3: vsp@fea38000 {
renesas,fcp = <&fcpvd3>; renesas,fcp = <&fcpvd3>;
}; };
fcpvd3: fcp@fea3f000 { vspi2: vsp@fe9c0000 {
compatible = "renesas,fcpv"; compatible = "renesas,vsp2";
reg = <0 0xfea3f000 0 0x200>; reg = <0 0xfe9c0000 0 0x8000>;
clocks = <&cpg CPG_MOD 600>; interrupts = <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; clocks = <&cpg CPG_MOD 629>;
resets = <&cpg 600>;
iommus = <&ipmmu_vi0 11>;
};
fdp1@fe948000 {
compatible = "renesas,fdp1";
reg = <0 0xfe948000 0 0x2400>;
interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 117>;
power-domains = <&sysc R8A7795_PD_A3VP>; power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 117>; resets = <&cpg 629>;
renesas,fcp = <&fcpf2>;
renesas,fcp = <&fcpvi2>;
}; };
csi21: csi2@fea90000 { csi21: csi2@fea90000 {
...@@ -163,72 +230,6 @@ csi21vin7: endpoint@7 { ...@@ -163,72 +230,6 @@ csi21vin7: endpoint@7 {
}; };
}; };
&gpio1 {
gpio-ranges = <&pfc 0 32 28>;
};
&ipmmu_vi0 {
renesas,ipmmu-main = <&ipmmu_mm 11>;
};
&ipmmu_vp0 {
renesas,ipmmu-main = <&ipmmu_mm 12>;
};
&ipmmu_vc0 {
renesas,ipmmu-main = <&ipmmu_mm 9>;
};
&ipmmu_vc1 {
renesas,ipmmu-main = <&ipmmu_mm 10>;
};
&ipmmu_rt {
renesas,ipmmu-main = <&ipmmu_mm 7>;
};
&audma0 {
iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
<&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
<&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
<&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
<&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
<&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
<&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
<&ipmmu_mp1 14>, <&ipmmu_mp1 15>;
};
&audma1 {
iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
<&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
<&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
<&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
<&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
<&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
<&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
<&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
};
&fcpvb1 {
iommus = <&ipmmu_vp0 7>;
};
&fcpf1 {
iommus = <&ipmmu_vp0 1>;
};
&fcpvi1 {
iommus = <&ipmmu_vp0 9>;
};
&fcpvd2 {
iommus = <&ipmmu_vi0 10>;
};
&du {
vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
};
&vin0 { &vin0 {
ports { ports {
port@1 { port@1 {
......
...@@ -52,12 +52,6 @@ &ehci2 { ...@@ -52,12 +52,6 @@ &ehci2 {
status = "okay"; status = "okay";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2>; /* HDMI1 */
};
&hdmi0 { &hdmi0 {
status = "okay"; status = "okay";
...@@ -108,6 +102,13 @@ &ohci2 { ...@@ -108,6 +102,13 @@ &ohci2 {
status = "okay"; status = "okay";
}; };
&pfc {
usb2_pins: usb2 {
groups = "usb2";
function = "usb2";
};
};
&rcar_sound { &rcar_sound {
ports { ports {
/* rsnd_port0 is on salvator-common */ /* rsnd_port0 is on salvator-common */
...@@ -138,17 +139,16 @@ rsnd_endpoint2: endpoint { ...@@ -138,17 +139,16 @@ rsnd_endpoint2: endpoint {
}; };
}; };
&pfc {
usb2_pins: usb2 {
groups = "usb2";
function = "usb2";
};
};
&sata { &sata {
status = "okay"; status = "okay";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2>; /* HDMI1 */
};
&usb2_phy2 { &usb2_phy2 {
pinctrl-0 = <&usb2_pins>; pinctrl-0 = <&usb2_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -57,17 +57,6 @@ &ehci3 { ...@@ -57,17 +57,6 @@ &ehci3 {
status = "okay"; status = "okay";
}; };
&hsusb3 {
dr_mode = "otg";
status = "okay";
};
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2>; /* HDMI1 */
};
&hdmi0 { &hdmi0 {
status = "okay"; status = "okay";
...@@ -114,6 +103,11 @@ &hdmi1_con { ...@@ -114,6 +103,11 @@ &hdmi1_con {
remote-endpoint = <&rcar_dw_hdmi1_out>; remote-endpoint = <&rcar_dw_hdmi1_out>;
}; };
&hsusb3 {
dr_mode = "otg";
status = "okay";
};
&ohci2 { &ohci2 {
status = "okay"; status = "okay";
}; };
...@@ -123,36 +117,6 @@ &ohci3 { ...@@ -123,36 +117,6 @@ &ohci3 {
status = "okay"; status = "okay";
}; };
&rcar_sound {
ports {
/* rsnd_port0 is on salvator-common */
rsnd_port1: port@1 {
reg = <1>;
rsnd_endpoint1: endpoint {
remote-endpoint = <&dw_hdmi0_snd_in>;
dai-format = "i2s";
bitclock-master = <&rsnd_endpoint1>;
frame-master = <&rsnd_endpoint1>;
playback = <&ssi2>;
};
};
rsnd_port2: port@2 {
reg = <2>;
rsnd_endpoint2: endpoint {
remote-endpoint = <&dw_hdmi1_snd_in>;
dai-format = "i2s";
bitclock-master = <&rsnd_endpoint2>;
frame-master = <&rsnd_endpoint2>;
playback = <&ssi3>;
};
};
};
};
&pca9654 { &pca9654 {
pcie_sata_switch { pcie_sata_switch {
gpio-hog; gpio-hog;
...@@ -186,11 +150,47 @@ usb2_ch3_pins: usb2_ch3 { ...@@ -186,11 +150,47 @@ usb2_ch3_pins: usb2_ch3 {
}; };
}; };
&rcar_sound {
ports {
/* rsnd_port0 is on salvator-common */
rsnd_port1: port@1 {
reg = <1>;
rsnd_endpoint1: endpoint {
remote-endpoint = <&dw_hdmi0_snd_in>;
dai-format = "i2s";
bitclock-master = <&rsnd_endpoint1>;
frame-master = <&rsnd_endpoint1>;
playback = <&ssi2>;
};
};
rsnd_port2: port@2 {
reg = <2>;
rsnd_endpoint2: endpoint {
remote-endpoint = <&dw_hdmi1_snd_in>;
dai-format = "i2s";
bitclock-master = <&rsnd_endpoint2>;
frame-master = <&rsnd_endpoint2>;
playback = <&ssi3>;
};
};
};
};
/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */ /* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
&sata { &sata {
status = "okay"; status = "okay";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */
&rsnd_port2>; /* HDMI1 */
};
&usb2_phy2 { &usb2_phy2 {
pinctrl-0 = <&usb2_pins>; pinctrl-0 = <&usb2_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -2731,6 +2731,83 @@ imr-lx4@fe890000 { ...@@ -2731,6 +2731,83 @@ imr-lx4@fe890000 {
resets = <&cpg 820>; resets = <&cpg 820>;
}; };
vspbc: vsp@fe920000 {
compatible = "renesas,vsp2";
reg = <0 0xfe920000 0 0x8000>;
interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 624>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 624>;
renesas,fcp = <&fcpvb1>;
};
vspbd: vsp@fe960000 {
compatible = "renesas,vsp2";
reg = <0 0xfe960000 0 0x8000>;
interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 626>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 626>;
renesas,fcp = <&fcpvb0>;
};
vspd0: vsp@fea20000 {
compatible = "renesas,vsp2";
reg = <0 0xfea20000 0 0x5000>;
interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 623>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 623>;
renesas,fcp = <&fcpvd0>;
};
vspd1: vsp@fea28000 {
compatible = "renesas,vsp2";
reg = <0 0xfea28000 0 0x5000>;
interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 622>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 622>;
renesas,fcp = <&fcpvd1>;
};
vspd2: vsp@fea30000 {
compatible = "renesas,vsp2";
reg = <0 0xfea30000 0 0x5000>;
interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 621>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 621>;
renesas,fcp = <&fcpvd2>;
};
vspi0: vsp@fe9a0000 {
compatible = "renesas,vsp2";
reg = <0 0xfe9a0000 0 0x8000>;
interrupts = <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 631>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 631>;
renesas,fcp = <&fcpvi0>;
};
vspi1: vsp@fe9b0000 {
compatible = "renesas,vsp2";
reg = <0 0xfe9b0000 0 0x8000>;
interrupts = <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 630>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 630>;
renesas,fcp = <&fcpvi1>;
};
fdp1@fe940000 { fdp1@fe940000 {
compatible = "renesas,fdp1"; compatible = "renesas,fdp1";
reg = <0 0xfe940000 0 0x2400>; reg = <0 0xfe940000 0 0x2400>;
...@@ -2832,83 +2909,6 @@ fcpvd2: fcp@fea37000 { ...@@ -2832,83 +2909,6 @@ fcpvd2: fcp@fea37000 {
iommus = <&ipmmu_vi1 10>; iommus = <&ipmmu_vi1 10>;
}; };
vspbd: vsp@fe960000 {
compatible = "renesas,vsp2";
reg = <0 0xfe960000 0 0x8000>;
interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 626>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 626>;
renesas,fcp = <&fcpvb0>;
};
vspbc: vsp@fe920000 {
compatible = "renesas,vsp2";
reg = <0 0xfe920000 0 0x8000>;
interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 624>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 624>;
renesas,fcp = <&fcpvb1>;
};
vspd0: vsp@fea20000 {
compatible = "renesas,vsp2";
reg = <0 0xfea20000 0 0x5000>;
interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 623>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 623>;
renesas,fcp = <&fcpvd0>;
};
vspd1: vsp@fea28000 {
compatible = "renesas,vsp2";
reg = <0 0xfea28000 0 0x5000>;
interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 622>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 622>;
renesas,fcp = <&fcpvd1>;
};
vspd2: vsp@fea30000 {
compatible = "renesas,vsp2";
reg = <0 0xfea30000 0 0x5000>;
interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 621>;
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
resets = <&cpg 621>;
renesas,fcp = <&fcpvd2>;
};
vspi0: vsp@fe9a0000 {
compatible = "renesas,vsp2";
reg = <0 0xfe9a0000 0 0x8000>;
interrupts = <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 631>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 631>;
renesas,fcp = <&fcpvi0>;
};
vspi1: vsp@fe9b0000 {
compatible = "renesas,vsp2";
reg = <0 0xfe9b0000 0 0x8000>;
interrupts = <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 630>;
power-domains = <&sysc R8A7795_PD_A3VP>;
resets = <&cpg 630>;
renesas,fcp = <&fcpvi1>;
};
csi20: csi2@fea80000 { csi20: csi2@fea80000 {
compatible = "renesas,r8a7795-csi2"; compatible = "renesas,r8a7795-csi2";
reg = <0 0xfea80000 0 0x10000>; reg = <0 0xfea80000 0 0x10000>;
......
...@@ -36,11 +36,6 @@ &du { ...@@ -36,11 +36,6 @@ &du {
"dclkin.0", "dclkin.1", "dclkin.2"; "dclkin.0", "dclkin.1", "dclkin.2";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1>; /* HDMI0 */
};
&hdmi0 { &hdmi0 {
status = "okay"; status = "okay";
...@@ -81,3 +76,8 @@ rsnd_endpoint1: endpoint { ...@@ -81,3 +76,8 @@ rsnd_endpoint1: endpoint {
}; };
}; };
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1>; /* HDMI0 */
};
...@@ -36,11 +36,6 @@ &du { ...@@ -36,11 +36,6 @@ &du {
"dclkin.0", "dclkin.1", "dclkin.2"; "dclkin.0", "dclkin.1", "dclkin.2";
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1>; /* HDMI0 */
};
&hdmi0 { &hdmi0 {
status = "okay"; status = "okay";
...@@ -81,3 +76,8 @@ rsnd_endpoint1: endpoint { ...@@ -81,3 +76,8 @@ rsnd_endpoint1: endpoint {
}; };
}; };
}; };
&sound_card {
dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1>; /* HDMI0 */
};
...@@ -2255,14 +2255,6 @@ vspb: vsp@fe960000 { ...@@ -2255,14 +2255,6 @@ vspb: vsp@fe960000 {
renesas,fcp = <&fcpvb0>; renesas,fcp = <&fcpvb0>;
}; };
fcpvb0: fcp@fe96f000 {
compatible = "renesas,fcpv";
reg = <0 0xfe96f000 0 0x200>;
clocks = <&cpg CPG_MOD 607>;
power-domains = <&sysc R8A77965_PD_A3VP>;
resets = <&cpg 607>;
};
vspi0: vsp@fe9a0000 { vspi0: vsp@fe9a0000 {
compatible = "renesas,vsp2"; compatible = "renesas,vsp2";
reg = <0 0xfe9a0000 0 0x8000>; reg = <0 0xfe9a0000 0 0x8000>;
...@@ -2274,14 +2266,6 @@ vspi0: vsp@fe9a0000 { ...@@ -2274,14 +2266,6 @@ vspi0: vsp@fe9a0000 {
renesas,fcp = <&fcpvi0>; renesas,fcp = <&fcpvi0>;
}; };
fcpvi0: fcp@fe9af000 {
compatible = "renesas,fcpv";
reg = <0 0xfe9af000 0 0x200>;
clocks = <&cpg CPG_MOD 611>;
power-domains = <&sysc R8A77965_PD_A3VP>;
resets = <&cpg 611>;
};
vspd0: vsp@fea20000 { vspd0: vsp@fea20000 {
compatible = "renesas,vsp2"; compatible = "renesas,vsp2";
reg = <0 0xfea20000 0 0x5000>; reg = <0 0xfea20000 0 0x5000>;
...@@ -2293,14 +2277,6 @@ vspd0: vsp@fea20000 { ...@@ -2293,14 +2277,6 @@ vspd0: vsp@fea20000 {
renesas,fcp = <&fcpvd0>; renesas,fcp = <&fcpvd0>;
}; };
fcpvd0: fcp@fea27000 {
compatible = "renesas,fcpv";
reg = <0 0xfea27000 0 0x200>;
clocks = <&cpg CPG_MOD 603>;
power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
resets = <&cpg 603>;
};
vspd1: vsp@fea28000 { vspd1: vsp@fea28000 {
compatible = "renesas,vsp2"; compatible = "renesas,vsp2";
reg = <0 0xfea28000 0 0x5000>; reg = <0 0xfea28000 0 0x5000>;
...@@ -2312,6 +2288,22 @@ vspd1: vsp@fea28000 { ...@@ -2312,6 +2288,22 @@ vspd1: vsp@fea28000 {
renesas,fcp = <&fcpvd1>; renesas,fcp = <&fcpvd1>;
}; };
fcpvb0: fcp@fe96f000 {
compatible = "renesas,fcpv";
reg = <0 0xfe96f000 0 0x200>;
clocks = <&cpg CPG_MOD 607>;
power-domains = <&sysc R8A77965_PD_A3VP>;
resets = <&cpg 607>;
};
fcpvd0: fcp@fea27000 {
compatible = "renesas,fcpv";
reg = <0 0xfea27000 0 0x200>;
clocks = <&cpg CPG_MOD 603>;
power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
resets = <&cpg 603>;
};
fcpvd1: fcp@fea2f000 { fcpvd1: fcp@fea2f000 {
compatible = "renesas,fcpv"; compatible = "renesas,fcpv";
reg = <0 0xfea2f000 0 0x200>; reg = <0 0xfea2f000 0 0x200>;
...@@ -2320,6 +2312,14 @@ fcpvd1: fcp@fea2f000 { ...@@ -2320,6 +2312,14 @@ fcpvd1: fcp@fea2f000 {
resets = <&cpg 602>; resets = <&cpg 602>;
}; };
fcpvi0: fcp@fe9af000 {
compatible = "renesas,fcpv";
reg = <0 0xfe9af000 0 0x200>;
clocks = <&cpg CPG_MOD 611>;
power-domains = <&sysc R8A77965_PD_A3VP>;
resets = <&cpg 611>;
};
csi20: csi2@fea80000 { csi20: csi2@fea80000 {
compatible = "renesas,r8a77965-csi2"; compatible = "renesas,r8a77965-csi2";
reg = <0 0xfea80000 0 0x10000>; reg = <0 0xfea80000 0 0x10000>;
......
...@@ -1766,6 +1766,8 @@ du: display@feb00000 { ...@@ -1766,6 +1766,8 @@ du: display@feb00000 {
clocks = <&cpg CPG_MOD 724>, clocks = <&cpg CPG_MOD 724>,
<&cpg CPG_MOD 723>; <&cpg CPG_MOD 723>;
clock-names = "du.0", "du.1"; clock-names = "du.0", "du.1";
resets = <&cpg 724>;
reset-names = "du.0";
vsps = <&vspd0 0 &vspd1 0>; vsps = <&vspd0 0 &vspd1 0>;
status = "disabled"; status = "disabled";
......
...@@ -995,12 +995,14 @@ fcpvd1: fcp@fea2f000 { ...@@ -995,12 +995,14 @@ fcpvd1: fcp@fea2f000 {
du: display@feb00000 { du: display@feb00000 {
compatible = "renesas,du-r8a77995"; compatible = "renesas,du-r8a77995";
reg = <0 0xfeb00000 0 0x80000>; reg = <0 0xfeb00000 0 0x40000>;
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 724>, clocks = <&cpg CPG_MOD 724>,
<&cpg CPG_MOD 723>; <&cpg CPG_MOD 723>;
clock-names = "du.0", "du.1"; clock-names = "du.0", "du.1";
resets = <&cpg 724>;
reset-names = "du.0";
vsps = <&vspd0 0 &vspd1 0>; vsps = <&vspd0 0 &vspd1 0>;
status = "disabled"; status = "disabled";
......
...@@ -87,6 +87,28 @@ hdmi_in_con: endpoint { ...@@ -87,6 +87,28 @@ hdmi_in_con: endpoint {
}; };
}; };
hdmi0-out {
compatible = "hdmi-connector";
label = "HDMI0 OUT";
type = "a";
port {
hdmi0_con: endpoint {
};
};
};
hdmi1-out {
compatible = "hdmi-connector";
label = "HDMI1 OUT";
type = "a";
port {
hdmi1_con: endpoint {
};
};
};
keys { keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
...@@ -238,28 +260,6 @@ vccq_sdhi3: regulator-vccq-sdhi3 { ...@@ -238,28 +260,6 @@ vccq_sdhi3: regulator-vccq-sdhi3 {
1800000 0>; 1800000 0>;
}; };
hdmi0-out {
compatible = "hdmi-connector";
label = "HDMI0 OUT";
type = "a";
port {
hdmi0_con: endpoint {
};
};
};
hdmi1-out {
compatible = "hdmi-connector";
label = "HDMI1 OUT";
type = "a";
port {
hdmi1_con: endpoint {
};
};
};
vga { vga {
compatible = "vga-connector"; compatible = "vga-connector";
...@@ -462,20 +462,6 @@ pca9654: gpio@20 { ...@@ -462,20 +462,6 @@ pca9654: gpio@20 {
#gpio-cells = <2>; #gpio-cells = <2>;
}; };
csa_vdd: adc@7c {
compatible = "maxim,max9611";
reg = <0x7c>;
shunt-resistor-micro-ohms = <5000>;
};
csa_dvfs: adc@7f {
compatible = "maxim,max9611";
reg = <0x7f>;
shunt-resistor-micro-ohms = <5000>;
};
video-receiver@70 { video-receiver@70 {
compatible = "adi,adv7482"; compatible = "adi,adv7482";
reg = <0x70 0x71 0x72 0x73 0x74 0x75 reg = <0x70 0x71 0x72 0x73 0x74 0x75
...@@ -527,6 +513,20 @@ adv7482_txb: endpoint { ...@@ -527,6 +513,20 @@ adv7482_txb: endpoint {
}; };
}; };
}; };
csa_vdd: adc@7c {
compatible = "maxim,max9611";
reg = <0x7c>;
shunt-resistor-micro-ohms = <5000>;
};
csa_dvfs: adc@7f {
compatible = "maxim,max9611";
reg = <0x7f>;
shunt-resistor-micro-ohms = <5000>;
};
}; };
&i2c_dvfs { &i2c_dvfs {
......
...@@ -83,6 +83,56 @@ &hsusb { ...@@ -83,6 +83,56 @@ &hsusb {
}; };
&i2c2 { &i2c2 {
i2cswitch2: i2c-switch@71 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x71>;
reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
/* Audio_SDA, Audio_SCL */
i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
pcm3168a: audio-codec@44 {
#sound-dai-cells = <0>;
compatible = "ti,pcm3168a";
reg = <0x44>;
clocks = <&clksndsel>;
clock-names = "scki";
VDD1-supply = <&snd_3p3v>;
VDD2-supply = <&snd_3p3v>;
VCCAD1-supply = <&snd_vcc5v>;
VCCAD2-supply = <&snd_vcc5v>;
VCCDA1-supply = <&snd_vcc5v>;
VCCDA2-supply = <&snd_vcc5v>;
ports {
#address-cells = <1>;
#size-cells = <0>;
mclk-fs = <512>;
port@0 {
reg = <0>;
pcm3168a_endpoint_p: endpoint {
remote-endpoint = <&rsnd_for_pcm3168a_play>;
clocks = <&clksndsel>;
};
};
port@1 {
reg = <1>;
pcm3168a_endpoint_c: endpoint {
remote-endpoint = <&rsnd_for_pcm3168a_capture>;
clocks = <&clksndsel>;
};
};
};
};
};
};
/* U11 */ /* U11 */
gpio_exp_74: gpio@74 { gpio_exp_74: gpio@74 {
compatible = "ti,tca9539"; compatible = "ti,tca9539";
...@@ -100,13 +150,6 @@ audio_out_off { ...@@ -100,13 +150,6 @@ audio_out_off {
line-name = "Audio_Out_OFF"; line-name = "Audio_Out_OFF";
}; };
sd-wifi-mux {
gpio-hog;
gpios = <5 GPIO_ACTIVE_HIGH>;
output-low; /* Connect WL1837 */
line-name = "SD WiFi mux";
};
hub_pwen { hub_pwen {
gpio-hog; gpio-hog;
gpios = <6 GPIO_ACTIVE_HIGH>; gpios = <6 GPIO_ACTIVE_HIGH>;
...@@ -121,6 +164,13 @@ hub_rst { ...@@ -121,6 +164,13 @@ hub_rst {
line-name = "HUB rst"; line-name = "HUB rst";
}; };
otg_extlpn {
gpio-hog;
gpios = <9 GPIO_ACTIVE_HIGH>;
output-high;
line-name = "OTG EXTLPn";
};
otg_offvbusn { otg_offvbusn {
gpio-hog; gpio-hog;
gpios = <8 GPIO_ACTIVE_HIGH>; gpios = <8 GPIO_ACTIVE_HIGH>;
...@@ -128,11 +178,11 @@ otg_offvbusn { ...@@ -128,11 +178,11 @@ otg_offvbusn {
line-name = "OTG OFFVBUSn"; line-name = "OTG OFFVBUSn";
}; };
otg_extlpn { sd-wifi-mux {
gpio-hog; gpio-hog;
gpios = <9 GPIO_ACTIVE_HIGH>; gpios = <5 GPIO_ACTIVE_HIGH>;
output-high; output-low; /* Connect WL1837 */
line-name = "OTG EXTLPn"; line-name = "SD WiFi mux";
}; };
snd_rst { snd_rst {
...@@ -153,59 +203,17 @@ gpio_exp_75: gpio@75 { ...@@ -153,59 +203,17 @@ gpio_exp_75: gpio@75 {
interrupt-parent = <&gpio6>; interrupt-parent = <&gpio6>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>; interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
}; };
};
i2cswitch2: i2c-switch@71 { &i2c4 {
i2cswitch4: i2c-switch@71 {
compatible = "nxp,pca9548"; compatible = "nxp,pca9548";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
reg = <0x71>; reg = <0x71>;
reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
/* Audio_SDA, Audio_SCL */
i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
pcm3168a: audio-codec@44 {
#sound-dai-cells = <0>;
compatible = "ti,pcm3168a";
reg = <0x44>;
clocks = <&clksndsel>;
clock-names = "scki";
VDD1-supply = <&snd_3p3v>;
VDD2-supply = <&snd_3p3v>;
VCCAD1-supply = <&snd_vcc5v>;
VCCAD2-supply = <&snd_vcc5v>;
VCCDA1-supply = <&snd_vcc5v>;
VCCDA2-supply = <&snd_vcc5v>;
ports {
#address-cells = <1>;
#size-cells = <0>;
mclk-fs = <512>;
port@0 {
reg = <0>;
pcm3168a_endpoint_p: endpoint {
remote-endpoint = <&rsnd_for_pcm3168a_play>;
clocks = <&clksndsel>;
};
};
port@1 {
reg = <1>;
pcm3168a_endpoint_c: endpoint {
remote-endpoint = <&rsnd_for_pcm3168a_capture>;
clocks = <&clksndsel>;
};
};
};
};
};
}; };
};
&i2c4 {
gpio_exp_76: gpio@76 { gpio_exp_76: gpio@76 {
compatible = "ti,tca9539"; compatible = "ti,tca9539";
reg = <0x76>; reg = <0x76>;
...@@ -225,14 +233,6 @@ gpio_exp_77: gpio@77 { ...@@ -225,14 +233,6 @@ gpio_exp_77: gpio@77 {
interrupt-parent = <&gpio5>; interrupt-parent = <&gpio5>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>; interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
}; };
i2cswitch4: i2c-switch@71 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x71>;
reset-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
};
}; };
&ohci0 { &ohci0 {
...@@ -279,14 +279,50 @@ sdhi3_pins: sdhi3 { ...@@ -279,14 +279,50 @@ sdhi3_pins: sdhi3 {
power-source = <3300>; power-source = <3300>;
}; };
sound_pcm_pins: sound-pcm {
groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
function = "ssi";
};
usb0_pins: usb0 { usb0_pins: usb0 {
groups = "usb0"; groups = "usb0";
function = "usb0"; function = "usb0";
}; };
};
sound_pcm_pins: sound-pcm { &rcar_sound {
groups = "ssi349_ctrl", "ssi3_data", "ssi4_data"; pinctrl-0 = <&sound_pins
function = "ssi"; &sound_clk_pins
&sound_pcm_pins>;
ports {
/* rsnd_port0/1 are on salvator-common */
rsnd_port2: port@2 {
reg = <2>;
rsnd_for_pcm3168a_play: endpoint {
remote-endpoint = <&pcm3168a_endpoint_p>;
dai-format = "i2s";
bitclock-master = <&rsnd_for_pcm3168a_play>;
frame-master = <&rsnd_for_pcm3168a_play>;
dai-tdm-slot-num = <8>;
playback = <&ssi3>;
};
};
rsnd_port3: port@3 {
reg = <3>;
rsnd_for_pcm3168a_capture: endpoint {
remote-endpoint = <&pcm3168a_endpoint_c>;
dai-format = "i2s";
bitclock-master = <&rsnd_for_pcm3168a_capture>;
frame-master = <&rsnd_for_pcm3168a_capture>;
dai-tdm-slot-num = <6>;
capture = <&ssi4>;
};
};
}; };
}; };
...@@ -322,17 +358,6 @@ wlcore: wlcore@2 { ...@@ -322,17 +358,6 @@ wlcore: wlcore@2 {
}; };
}; };
&usb2_phy0 {
pinctrl-0 = <&usb0_pins>;
pinctrl-names = "default";
status = "okay";
};
&xhci0 {
status = "okay";
};
&sound_card { &sound_card {
dais = <&rsnd_port0 /* ak4613 */ dais = <&rsnd_port0 /* ak4613 */
&rsnd_port1 /* HDMI0 */ &rsnd_port1 /* HDMI0 */
...@@ -341,42 +366,17 @@ &rsnd_port3 /* pcm3168a capture */ ...@@ -341,42 +366,17 @@ &rsnd_port3 /* pcm3168a capture */
>; >;
}; };
&rcar_sound { &ssi4 {
pinctrl-0 = <&sound_pins shared-pin;
&sound_clk_pins };
&sound_pcm_pins>;
ports {
/* rsnd_port0/1 are on salvator-common */
rsnd_port2: port@2 {
reg = <2>;
rsnd_for_pcm3168a_play: endpoint {
remote-endpoint = <&pcm3168a_endpoint_p>;
dai-format = "i2s";
bitclock-master = <&rsnd_for_pcm3168a_play>;
frame-master = <&rsnd_for_pcm3168a_play>;
dai-tdm-slot-num = <8>;
playback = <&ssi3>;
};
};
rsnd_port3: port@3 {
reg = <3>;
rsnd_for_pcm3168a_capture: endpoint {
remote-endpoint = <&pcm3168a_endpoint_c>;
dai-format = "i2s"; &usb2_phy0 {
bitclock-master = <&rsnd_for_pcm3168a_capture>; pinctrl-0 = <&usb0_pins>;
frame-master = <&rsnd_for_pcm3168a_capture>; pinctrl-names = "default";
dai-tdm-slot-num = <6>;
capture = <&ssi4>; status = "okay";
};
};
};
}; };
&ssi4 { &xhci0 {
shared-pin; status = "okay";
}; };
...@@ -428,6 +428,11 @@ rsnd_for_hdmi: endpoint { ...@@ -428,6 +428,11 @@ rsnd_for_hdmi: endpoint {
}; };
}; };
&rwdt {
timeout-sec = <60>;
status = "okay";
};
&scif2 { &scif2 {
pinctrl-0 = <&scif2_pins>; pinctrl-0 = <&scif2_pins>;
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -478,8 +483,3 @@ &usb2_phy1 { ...@@ -478,8 +483,3 @@ &usb2_phy1 {
status = "okay"; status = "okay";
}; };
&rwdt {
timeout-sec = <60>;
status = "okay";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment