mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
Renesas DT updates for v6.3 (take two)
- High Performance mode (1.8 GHz) support for the Cortex-A76 CPU cores on R-Car V4H, - GPIO interrupt support for the RZ/G2UL SoC and the RZ/G2UL SMARC EVK development board, - USB Function support for the RZ/N1D SoC, - Generic Sound Card driver examples for the Renesas R-Car Starter Kit Premier/Pro and Shimafugi Kingfisher development board stack, - Universal Flash Storage support for the Renesas Spider development board, - External Power Sequence Controller (PWC) support for the RZ/V2M SoC and the RZ/V2M Evaluation Kit 2.0, - IOMMU support for MMC on the R-Car S4-8 SoC, - Miscellaneous fixes and improvements. -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY9Oc1QAKCRCKwlD9ZEnx cMRKAP0S0VgkOJU9n+qrDdFNYeCAwLkJbcpWMsc4xy/dxt1gIQEAxbnJpGcmdAis qiY67N7RU8mST1R7QACUEcvygxvqLwI= =dAM5 -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPX+vEACgkQmmx57+YA GNk6hA//Xbr/6Ey1bGx6jweljSEvLpOZkMCKiprOlJ7aaKM3SXfO2BK447zADtar D9ooowc/IHBt4DNltVsAol5dm6QgQjcrs4+S04qFsdPtEtEmy59JS7e4m3BWKlTe AJucF5A8g9HACAYs3zq6iEK8gGnJU2qW1ysiU03ypf9ctfDsir8eWgzCV0P3lgmr 1Rb29ZG0m661ucDNFM5tGOMpJ3yFGgAx1YnNtdn2XMOs3txFZ9hS0lPAOaBd7Wmj hBDxJPWye7BG3zAo8vCYPDZcvDgl4iGKpmqHJ+p5fA5tD/od/tpyM/ih94pzv9iW 8yqpaIUNpwZ7VD1wITVxWXUOqubNyXo5f5dqWwjcOkp2toc+xn2gJFPD3ffsjghT YmvRlglaOUHt09Koinb0SYrNBhGnN2qtYYfZzvRWJZmAhT/gzH16/ezuoI9DMy26 cwO8DsXMLA9QKxKVyzq9Y+9gKRXj6dtJhEjUheax/AfeW2q4Bs9fVG4bSw9LLYb4 vSVRIgBhojWvCA/t0vt1tmK+Nw5abm+m3Mfiq8E6rmR5yWqRmoN3mHaUNs4XOllI sGd4NtO1uqM/SbovLMkccw4NaU0wUdcnYtKsem7dl1Jo5yWUbg8EGh6jRXdtILEt SLRrc5NkG4kEbGRqSQ9ieINdw3bWUn2kOLbKcWFDwtqzkq6Ucqk= =YAr2 -----END PGP SIGNATURE----- Merge tag 'renesas-dts-for-v6.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt Renesas DT updates for v6.3 (take two) - High Performance mode (1.8 GHz) support for the Cortex-A76 CPU cores on R-Car V4H, - GPIO interrupt support for the RZ/G2UL SoC and the RZ/G2UL SMARC EVK development board, - USB Function support for the RZ/N1D SoC, - Generic Sound Card driver examples for the Renesas R-Car Starter Kit Premier/Pro and Shimafugi Kingfisher development board stack, - Universal Flash Storage support for the Renesas Spider development board, - External Power Sequence Controller (PWC) support for the RZ/V2M SoC and the RZ/V2M Evaluation Kit 2.0, - IOMMU support for MMC on the R-Car S4-8 SoC, - Miscellaneous fixes and improvements. * tag 'renesas-dts-for-v6.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (25 commits) arm64: dts: renesas: r8a779f0: Add iommus to MMC node arm64: dts: renesas: v2mevk2: Add PWC support arm64: dts: renesas: r9a09g011: Add PWC support arm64: dts: renesas: r9a09g011: Reword ethernet status arm64: dts: renesas: r8a774[be]1-beacon: Sync aliases with RZ/G2M arm64: dts: renesas: beacon-renesom: Fix audio clock rate arm64: dts: renesas: beacon-renesom: Update Ethernet PHY ID arm64: dts: renesas: beacon-renesom: Fix gpio expander reference arm64: dts: renesas: spider-cpu: Enable UFS device arm64: dts: renesas: Add ulcb{-kf} Simple Audio Card MIX + TDM Split dtsi arm64: dts: renesas: Add ulcb{-kf} Audio Graph Card MIX + TDM Split dtsi arm64: dts: renesas: Add ulcb{-kf} Audio Graph Card2 MIX + TDM Split dtsi arm64: dts: renesas: Add ulcb{-kf} Simple Audio Card dtsi arm64: dts: renesas: Add ulcb{-kf} Audio Graph Card2 dtsi arm64: dts: renesas: Add ulcb{-kf} Audio Graph Card dtsi arm64: dts: renesas: #sound-dai-cells is used when simple-card ARM: dts: renesas: #sound-dai-cells is used when simple-card arm64: dts: renesas: eagle: Add SCIF_CLK support ARM: dts: r9a06g032: Add the USBF controller node arm64: dts: renesas: rzg2ul-smarc-som: Add PHY interrupt support for ETH{0/1} ... Link: https://lore.kernel.org/r/cover.1674815099.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
ad3c046a26
@ -7,6 +7,9 @@
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/media/video-interfaces.h>
|
||||
|
||||
#include "r8a7742-iwg21d-q7.dts"
|
||||
|
||||
/ {
|
||||
@ -242,7 +245,7 @@
|
||||
vin0ep: endpoint {
|
||||
remote-endpoint = <&cam0ep>;
|
||||
bus-width = <8>;
|
||||
bus-type = <6>;
|
||||
bus-type = <MEDIA_BUS_TYPE_BT656>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -273,7 +276,7 @@
|
||||
vin1ep: endpoint {
|
||||
remote-endpoint = <&cam1ep>;
|
||||
bus-width = <8>;
|
||||
bus-type = <6>;
|
||||
bus-type = <MEDIA_BUS_TYPE_BT656>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -305,7 +308,7 @@
|
||||
remote-endpoint = <&cam2ep>;
|
||||
bus-width = <8>;
|
||||
data-shift = <8>;
|
||||
bus-type = <6>;
|
||||
bus-type = <MEDIA_BUS_TYPE_BT656>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -335,7 +338,7 @@
|
||||
vin3ep: endpoint {
|
||||
remote-endpoint = <&cam3ep>;
|
||||
bus-width = <8>;
|
||||
bus-type = <6>;
|
||||
bus-type = <MEDIA_BUS_TYPE_BT656>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -7,6 +7,8 @@
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/media/video-interfaces.h>
|
||||
|
||||
#define CAM_ENABLED 1
|
||||
|
||||
&CAM_PARENT_I2C {
|
||||
@ -26,7 +28,7 @@
|
||||
CAM_EP: endpoint {
|
||||
bus-width = <8>;
|
||||
data-shift = <2>;
|
||||
bus-type = <6>;
|
||||
bus-type = <MEDIA_BUS_TYPE_BT656>;
|
||||
pclk-sample = <1>;
|
||||
remote-endpoint = <&VIN_EP>;
|
||||
};
|
||||
|
@ -7,6 +7,8 @@
|
||||
* Copyright (C) 2020 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/media/video-interfaces.h>
|
||||
|
||||
#define CAM_ENABLED 1
|
||||
|
||||
&CAM_PARENT_I2C {
|
||||
@ -21,7 +23,7 @@
|
||||
port {
|
||||
CAM_EP: endpoint {
|
||||
bus-width = <8>;
|
||||
bus-type = <6>;
|
||||
bus-type = <MEDIA_BUS_TYPE_BT656>;
|
||||
remote-endpoint = <&VIN_EP>;
|
||||
};
|
||||
};
|
||||
|
@ -1155,7 +1155,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1190,7 +1190,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1190,7 +1190,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1120,7 +1120,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -241,7 +241,7 @@
|
||||
|
||||
rcar_sound: sound@ffd90000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1109,7 +1109,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1223,7 +1223,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -988,7 +988,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -955,7 +955,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -117,6 +117,18 @@
|
||||
};
|
||||
};
|
||||
|
||||
udc: usb@4001e000 {
|
||||
compatible = "renesas,r9a06g032-usbf", "renesas,rzn1-usbf";
|
||||
reg = <0x4001e000 0x2000>;
|
||||
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sysctrl R9A06G032_HCLK_USBF>,
|
||||
<&sysctrl R9A06G032_HCLK_USBPM>;
|
||||
clock-names = "hclkf", "hclkpm";
|
||||
power-domains = <&sysctrl>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pci_usb: pci@40030000 {
|
||||
compatible = "renesas,pci-r9a06g032", "renesas,pci-rzn1";
|
||||
device_type = "pci";
|
||||
|
@ -367,7 +367,7 @@
|
||||
|
||||
assigned-clocks = <&versaclock6_bb 1>, <&versaclock6_bb 2>,
|
||||
<&versaclock6_bb 3>, <&versaclock6_bb 4>;
|
||||
assigned-clock-rates = <24000000>, <24000000>, <24000000>,
|
||||
assigned-clock-rates = <24000000>, <24000000>, <24576000>,
|
||||
<24576000>;
|
||||
|
||||
OUT1 {
|
||||
@ -437,20 +437,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* 0 - lcd_reset */
|
||||
/* 1 - lcd_pwr */
|
||||
/* 2 - lcd_select */
|
||||
/* 3 - backlight-enable */
|
||||
/* 4 - Touch_shdwn */
|
||||
/* 5 - LCD_H_pol */
|
||||
/* 6 - lcd_V_pol */
|
||||
gpio_exp1: gpio@20 {
|
||||
compatible = "onnn,pca9654";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
touchscreen@26 {
|
||||
compatible = "ilitek,ili2117";
|
||||
reg = <0x26>;
|
||||
@ -482,6 +468,16 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gpio_exp1: gpio@70 {
|
||||
compatible = "nxp,pca9538";
|
||||
reg = <0x70>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names = "lcd_reset", "lcd_pwr", "lcd_select",
|
||||
"backlight-enable", "Touch_shdwn",
|
||||
"LCD_H_pol", "lcd_V_pol";
|
||||
};
|
||||
};
|
||||
|
||||
&lvds0 {
|
||||
|
@ -59,7 +59,7 @@
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-id004d.d074",
|
||||
compatible = "ethernet-phy-id0022.1640",
|
||||
"ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
|
@ -1678,7 +1678,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -14,6 +14,14 @@
|
||||
compatible = "beacon,beacon-rzg2n", "renesas,r8a774b1";
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
i2c6 = &i2c6;
|
||||
i2c7 = &iic_pmic;
|
||||
serial0 = &scif2;
|
||||
serial1 = &hscif0;
|
||||
serial2 = &hscif1;
|
||||
|
@ -1562,7 +1562,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1317,7 +1317,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -14,6 +14,14 @@
|
||||
compatible = "beacon,beacon-rzg2h", "renesas,r8a774e1";
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
i2c6 = &i2c6;
|
||||
i2c7 = &iic_pmic;
|
||||
serial0 = &scif2;
|
||||
serial1 = &hscif0;
|
||||
serial2 = &hscif1;
|
||||
|
@ -1774,7 +1774,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1998,7 +1998,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1870,7 +1870,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1750,7 +1750,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1733,7 +1733,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -287,6 +287,9 @@
|
||||
};
|
||||
|
||||
&pfc {
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
avb_pins: avb0 {
|
||||
groups = "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
|
||||
function = "avb0";
|
||||
@ -316,6 +319,11 @@
|
||||
groups = "scif0_data";
|
||||
function = "scif0";
|
||||
};
|
||||
|
||||
scif_clk_pins: scif_clk {
|
||||
groups = "scif_clk_b";
|
||||
function = "scif_clk";
|
||||
};
|
||||
};
|
||||
|
||||
&rpc {
|
||||
@ -391,3 +399,7 @@
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&scif_clk {
|
||||
clock-frequency = <14745600>;
|
||||
};
|
||||
|
@ -1469,7 +1469,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -1037,7 +1037,7 @@
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
* #sound-dai-cells is required if simple-card
|
||||
*
|
||||
* Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
|
||||
* Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
|
||||
|
@ -5,6 +5,7 @@
|
||||
* Copyright (C) 2021 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include "r8a779f0.dtsi"
|
||||
|
||||
/ {
|
||||
@ -32,6 +33,12 @@
|
||||
reg = <0x4 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
rc21012_ufs: clk-rc21012-ufs {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <38400000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
@ -67,6 +74,21 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
gpio_exp_20: gpio@20 {
|
||||
compatible = "ti,tca9554";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-names = "default";
|
||||
@ -112,6 +134,11 @@
|
||||
function = "hscif0";
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
groups = "i2c0";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4 {
|
||||
groups = "i2c4";
|
||||
function = "i2c4";
|
||||
@ -150,3 +177,14 @@
|
||||
&scif_clk {
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
|
||||
&ufs {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ufs30_clk {
|
||||
compatible = "gpio-gate-clock";
|
||||
clocks = <&rc21012_ufs>;
|
||||
enable-gpios = <&gpio_exp_20 4 GPIO_ACTIVE_LOW>;
|
||||
/delete-property/ clock-frequency;
|
||||
};
|
||||
|
@ -1051,6 +1051,7 @@
|
||||
power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 706>;
|
||||
max-frequency = <200000000>;
|
||||
iommus = <&ipmmu_ds0 32>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -39,6 +39,12 @@
|
||||
clock-latency-ns = <500000>;
|
||||
opp-suspend;
|
||||
};
|
||||
opp-1800000000 {
|
||||
opp-hz = /bits/ 64 <1800000000>;
|
||||
opp-microvolt = <880000>;
|
||||
clock-latency-ns = <500000>;
|
||||
turbo-mode;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
|
@ -531,6 +531,8 @@
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinctrl 0 0 152>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD R9A07G043_GPIO_HCLK>;
|
||||
power-domains = <&cpg>;
|
||||
resets = <&cpg R9A07G043_GPIO_RSTN>,
|
||||
|
@ -49,9 +49,81 @@
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
interrupt-parent = <&irqc>;
|
||||
};
|
||||
|
||||
&soc {
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
irqc: interrupt-controller@110a0000 {
|
||||
compatible = "renesas,r9a07g043u-irqc",
|
||||
"renesas,rzg2l-irqc";
|
||||
reg = <0 0x110a0000 0 0x10000>;
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
interrupts = <SOC_PERIPHERAL_IRQ(0) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(1) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(8) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(444) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(445) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(446) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(447) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(448) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(449) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(450) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(451) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(452) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(453) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(454) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(455) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(456) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(457) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(458) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(459) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(460) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(461) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(462) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(463) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(464) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(465) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(466) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(467) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(468) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(469) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(470) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(471) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(472) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(473) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(474) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(475) IRQ_TYPE_LEVEL_HIGH>,
|
||||
<SOC_PERIPHERAL_IRQ(25) IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "nmi",
|
||||
"irq0", "irq1", "irq2", "irq3",
|
||||
"irq4", "irq5", "irq6", "irq7",
|
||||
"tint0", "tint1", "tint2", "tint3",
|
||||
"tint4", "tint5", "tint6", "tint7",
|
||||
"tint8", "tint9", "tint10", "tint11",
|
||||
"tint12", "tint13", "tint14", "tint15",
|
||||
"tint16", "tint17", "tint18", "tint19",
|
||||
"tint20", "tint21", "tint22", "tint23",
|
||||
"tint24", "tint25", "tint26", "tint27",
|
||||
"tint28", "tint29", "tint30", "tint31",
|
||||
"bus-err";
|
||||
clocks = <&cpg CPG_MOD R9A07G043_IA55_CLK>,
|
||||
<&cpg CPG_MOD R9A07G043_IA55_PCLK>;
|
||||
clock-names = "clk", "pclk";
|
||||
power-domains = <&cpg>;
|
||||
resets = <&cpg R9A07G043_IA55_RESETN>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@11900000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <3>;
|
||||
|
@ -80,6 +80,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
&pwc {
|
||||
renesas,rzv2m-pwc-power;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -165,7 +165,7 @@
|
||||
power-domains = <&cpg>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disable";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpg: clock-controller@a3500000 {
|
||||
@ -178,6 +178,14 @@
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pwc: pwc@a3700000 {
|
||||
compatible = "renesas,r9a09g011-pwc", "renesas,rzv2m-pwc";
|
||||
reg = <0 0xa3700000 0 0x800>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sys: system-controller@a3f03000 {
|
||||
compatible = "renesas,r9a09g011-sys";
|
||||
reg = <0 0xa3f03000 0 0x400>;
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irqc-rzg2l.h>
|
||||
#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
|
||||
|
||||
/ {
|
||||
@ -77,6 +78,8 @@
|
||||
compatible = "ethernet-phy-id0022.1640",
|
||||
"ethernet-phy-ieee802.3-c22";
|
||||
reg = <7>;
|
||||
interrupt-parent = <&irqc>;
|
||||
interrupts = <RZG2L_IRQ2 IRQ_TYPE_LEVEL_LOW>;
|
||||
rxc-skew-psec = <2400>;
|
||||
txc-skew-psec = <2400>;
|
||||
rxdv-skew-psec = <0>;
|
||||
@ -104,6 +107,8 @@
|
||||
compatible = "ethernet-phy-id0022.1640",
|
||||
"ethernet-phy-ieee802.3-c22";
|
||||
reg = <7>;
|
||||
interrupt-parent = <&irqc>;
|
||||
interrupts = <RZG2L_IRQ7 IRQ_TYPE_LEVEL_LOW>;
|
||||
rxc-skew-psec = <2400>;
|
||||
txc-skew-psec = <2400>;
|
||||
rxdv-skew-psec = <0>;
|
||||
@ -151,7 +156,8 @@
|
||||
<RZG2L_PORT_PINMUX(3, 2, 1)>, /* ET0_RXD0 */
|
||||
<RZG2L_PORT_PINMUX(3, 3, 1)>, /* ET0_RXD1 */
|
||||
<RZG2L_PORT_PINMUX(4, 0, 1)>, /* ET0_RXD2 */
|
||||
<RZG2L_PORT_PINMUX(4, 1, 1)>; /* ET0_RXD3 */
|
||||
<RZG2L_PORT_PINMUX(4, 1, 1)>, /* ET0_RXD3 */
|
||||
<RZG2L_PORT_PINMUX(5, 1, 7)>; /* IRQ2 */
|
||||
};
|
||||
|
||||
eth1_pins: eth1 {
|
||||
@ -169,7 +175,8 @@
|
||||
<RZG2L_PORT_PINMUX(9, 1, 1)>, /* ET1_RXD0 */
|
||||
<RZG2L_PORT_PINMUX(9, 2, 1)>, /* ET1_RXD1 */
|
||||
<RZG2L_PORT_PINMUX(9, 3, 1)>, /* ET1_RXD2 */
|
||||
<RZG2L_PORT_PINMUX(10, 0, 1)>; /* ET1_RXD3 */
|
||||
<RZG2L_PORT_PINMUX(10, 0, 1)>, /* ET1_RXD3 */
|
||||
<RZG2L_PORT_PINMUX(18, 5, 1)>; /* IRQ7 */
|
||||
};
|
||||
|
||||
sdhi0_emmc_pins: sd0emmc {
|
||||
|
@ -799,9 +799,6 @@
|
||||
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>;
|
||||
|
@ -0,0 +1,91 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Audio Graph Card (MIX)
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* The HDMI output is ignored due to the limited number of subdevices
|
||||
*
|
||||
* (A) CPU0 (2ch) <-----> (2ch) (X) ak4613 (MIX-0)
|
||||
* (B) CPU1 (2ch) --/ (MIX-1)
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
*/
|
||||
|
||||
/ {
|
||||
sound_card: sound {
|
||||
compatible = "audio-graph-scu-card";
|
||||
label = "rcar-sound";
|
||||
|
||||
routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"ak4613 Playback", "DAI1 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture";
|
||||
|
||||
dais = <&rsnd_port0 /* (A) CPU0 */
|
||||
&rsnd_port1 /* (B) CPU1 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&ak4613 {
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/*
|
||||
* (X) ak4613
|
||||
*/
|
||||
prefix = "ak4613";
|
||||
convert-rate = <48000>;
|
||||
|
||||
/* (A) CPU0 <-> (X) ak4613 */
|
||||
ak4613_ep1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&rsnd_for_ak4613_1>;
|
||||
};
|
||||
/* (B) CPU1 -> (X) ak4613 */
|
||||
ak4613_ep2: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&rsnd_for_ak4613_2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/*
|
||||
* (A) CPU0
|
||||
*/
|
||||
rsnd_port0: port@0 {
|
||||
reg = <0>;
|
||||
rsnd_for_ak4613_1: endpoint {
|
||||
remote-endpoint = <&ak4613_ep1>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
|
||||
capture = <&ssi1 &src0 &dvc1>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (B) CPU1
|
||||
*/
|
||||
rsnd_port1: port@1 {
|
||||
reg = <1>;
|
||||
rsnd_for_ak4613_2: endpoint {
|
||||
remote-endpoint = <&ak4613_ep2>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
85
arch/arm64/boot/dts/renesas/ulcb-audio-graph-card.dtsi
Normal file
85
arch/arm64/boot/dts/renesas/ulcb-audio-graph-card.dtsi
Normal file
@ -0,0 +1,85 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Audio Graph Card
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (A) CPU0 <-----> ak4613
|
||||
* (B) CPU1 -----> HDMI
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
*/
|
||||
|
||||
/ {
|
||||
sound_card: sound {
|
||||
compatible = "audio-graph-card";
|
||||
label = "rcar-sound";
|
||||
|
||||
dais = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
|
||||
&rsnd_port1 /* (B) CPU1 -> HDMI */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&ak4613 {
|
||||
#sound-dai-cells = <0>;
|
||||
|
||||
port {
|
||||
/*
|
||||
* (A) CPU0 <-> ak4613
|
||||
*/
|
||||
ak4613_endpoint: endpoint {
|
||||
remote-endpoint = <&rsnd_for_ak4613>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
ports {
|
||||
port@2 {
|
||||
/*
|
||||
* (B) CPU1 -> HDMI
|
||||
*/
|
||||
dw_hdmi0_snd_in: endpoint {
|
||||
remote-endpoint = <&rsnd_for_hdmi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
rsnd_port0: port@0 {
|
||||
/*
|
||||
* (A) CPU0 <-> ak4613
|
||||
*/
|
||||
reg = <0>;
|
||||
rsnd_for_ak4613: endpoint {
|
||||
remote-endpoint = <&ak4613_endpoint>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssi0>, <&src0>, <&dvc0>;
|
||||
capture = <&ssi1>, <&src1>, <&dvc1>;
|
||||
};
|
||||
};
|
||||
rsnd_port1: port@1 {
|
||||
/*
|
||||
* (B) CPU1 -> HDMI
|
||||
*/
|
||||
reg = <1>;
|
||||
rsnd_for_hdmi: endpoint {
|
||||
remote-endpoint = <&dw_hdmi0_snd_in>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssi2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,111 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Audio Graph Card2 (MIX + TDM Split)
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* The HDMI output is ignored due to the limited number of subdevices
|
||||
*
|
||||
* (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0)
|
||||
* (B) CPU1 (2ch) --/ (MIX-1)
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
*/
|
||||
/ {
|
||||
sound_card: sound {
|
||||
compatible = "audio-graph-card2";
|
||||
label = "rcar-sound";
|
||||
|
||||
routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"ak4613 Playback", "DAI1 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture";
|
||||
|
||||
/delete-property/ dais;
|
||||
links = <&fe_a /* (A) CPU0 */
|
||||
&fe_b /* (B) CPU1 */
|
||||
&be_x /* (X) ak4613 */
|
||||
>;
|
||||
|
||||
dpcm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ports@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
/*
|
||||
* FE
|
||||
* (A) CPU0 (MIX-0)
|
||||
* (B) CPU1 (MIX-1)
|
||||
*/
|
||||
fe_a: port@0 { reg = <0>; fe_a_ep: endpoint { remote-endpoint = <&rsnd_a_ep>; }; };
|
||||
fe_b: port@1 { reg = <1>; fe_b_ep: endpoint { remote-endpoint = <&rsnd_b_ep>; }; };
|
||||
};
|
||||
|
||||
ports@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
/*
|
||||
* BE
|
||||
* (X) ak4613
|
||||
*/
|
||||
be_x: port@0 { reg = <0>; be_x_ep: endpoint { remote-endpoint = <&ak4613_x_ep>; }; };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ak4613 {
|
||||
port {
|
||||
/*
|
||||
* (X) ak4613
|
||||
*/
|
||||
prefix = "ak4613";
|
||||
convert-rate = <48000>;
|
||||
|
||||
ak4613_x_ep: endpoint {
|
||||
remote-endpoint = <&be_x_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/*
|
||||
* (A) CPU0
|
||||
*/
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
rsnd_a_ep: endpoint {
|
||||
remote-endpoint = <&fe_a_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
|
||||
capture = <&ssi1 &src0 &dvc1>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (B) CPU1
|
||||
*/
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
rsnd_b_ep: endpoint {
|
||||
remote-endpoint = <&fe_b_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
26
arch/arm64/boot/dts/renesas/ulcb-audio-graph-card2.dtsi
Normal file
26
arch/arm64/boot/dts/renesas/ulcb-audio-graph-card2.dtsi
Normal file
@ -0,0 +1,26 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Audio Graph Card2
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (A) CPU0 <----> ak4613
|
||||
* (B) CPU1 ----> HDMI
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
*/
|
||||
#include "ulcb-audio-graph-card.dtsi"
|
||||
|
||||
&sound_card {
|
||||
compatible = "audio-graph-card2";
|
||||
|
||||
/delete-property/ dais;
|
||||
links = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
|
||||
&rsnd_port1 /* (B) CPU1 -> HDMI */
|
||||
>;
|
||||
};
|
@ -0,0 +1,171 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Kingfisher + Audio Graph Card (MIX + TDM Split)
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* The HDMI output is ignored due to the limited number of subdevices
|
||||
*
|
||||
* (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0)
|
||||
* (B) CPU1 (2ch) --/ (MIX-1)
|
||||
* (C) CPU2 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch)
|
||||
* (D) CPU3 (2ch) --/ (TDM-1 : 2,3ch)
|
||||
* (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch)
|
||||
* (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch)
|
||||
* (G) CPU6 (6ch) <---- (6ch) (Z) PCM3168A-c
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav (MIX-0)
|
||||
* (B) aplay -D plughw:0,1 xxx.wav (MIX-1)
|
||||
* (C) aplay -D plughw:0,2 xxx.wav (TDM-0)
|
||||
* (D) aplay -D plughw:0,3 xxx.wav (TDM-1)
|
||||
* (E) aplay -D plughw:0,4 xxx.wav (TDM-2)
|
||||
* (F) aplay -D plughw:0,5 xxx.wav (TDM-3)
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
* (G) arecord -D plughw:0,6 xxx.wav
|
||||
*/
|
||||
|
||||
&sound_card {
|
||||
routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"ak4613 Playback", "DAI1 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture",
|
||||
"pcm3168a Playback", "DAI2 Playback",
|
||||
"pcm3168a Playback", "DAI3 Playback",
|
||||
"pcm3168a Playback", "DAI4 Playback",
|
||||
"pcm3168a Playback", "DAI5 Playback";
|
||||
|
||||
dais = <&rsnd_port0 /* (A) CPU0 */
|
||||
&rsnd_port1 /* (B) CPU1 */
|
||||
&rsnd_port2 /* (C) CPU2 */
|
||||
&rsnd_port3 /* (D) CPU3 */
|
||||
&rsnd_port4 /* (E) CPU4 */
|
||||
&rsnd_port5 /* (F) CPU5 */
|
||||
&rsnd_port6 /* (G) GPU6 */
|
||||
>;
|
||||
};
|
||||
|
||||
&pcm3168a {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
mclk-fs = <512>;
|
||||
|
||||
/*
|
||||
* (Y) PCM3168A-p
|
||||
*/
|
||||
port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
prefix = "pcm3168a";
|
||||
convert-channels = <8>; /* to 8ch TDM */
|
||||
|
||||
/* (C) CPU2 -> (Y) PCM3168A-p */
|
||||
pcm3168a_endpoint_p1: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_play1>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
/* (D) CPU3 -> (Y) PCM3168A-p */
|
||||
pcm3168a_endpoint_p2: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_play2>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
/* (E) CPU4 -> (Y) PCM3168A-p */
|
||||
pcm3168a_endpoint_p3: endpoint@2 {
|
||||
reg = <2>;
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_play3>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
/* (F) CPU5 -> (Y) PCM3168A-p */
|
||||
pcm3168a_endpoint_p4: endpoint@3 {
|
||||
reg = <3>;
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_play4>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (Z) PCM3168A-c
|
||||
*/
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
/* (G) CPU6 <- PCM3168A-c */
|
||||
pcm3168a_endpoint_c: endpoint {
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_capture>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
ports {
|
||||
/* rsnd_port0-1 are defined in ulcb.dtsi */
|
||||
|
||||
/*
|
||||
* (C) CPU2
|
||||
*/
|
||||
rsnd_port2: port@2 {
|
||||
reg = <2>;
|
||||
rsnd_for_pcm3168a_play1: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_p1>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu30 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (D) CPU3
|
||||
*/
|
||||
rsnd_port3: port@3 {
|
||||
reg = <3>;
|
||||
rsnd_for_pcm3168a_play2: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_p2>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu31 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (E) CPU4
|
||||
*/
|
||||
rsnd_port4: port@4 {
|
||||
reg = <4>;
|
||||
rsnd_for_pcm3168a_play3: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_p3>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu32 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (F) CPU5
|
||||
*/
|
||||
rsnd_port5: port@5 {
|
||||
reg = <5>;
|
||||
rsnd_for_pcm3168a_play4: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_p4>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu33 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (G) CPU6
|
||||
*/
|
||||
rsnd_port6: port@6 {
|
||||
reg = <6>;
|
||||
rsnd_for_pcm3168a_capture: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_c>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <6>;
|
||||
capture = <&ssi4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
88
arch/arm64/boot/dts/renesas/ulcb-kf-audio-graph-card.dtsi
Normal file
88
arch/arm64/boot/dts/renesas/ulcb-kf-audio-graph-card.dtsi
Normal file
@ -0,0 +1,88 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Kingfisher + Audio Graph Card
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (A) CPU0 <----> ak4613
|
||||
* (B) CPU1 ----> HDMI
|
||||
* (C) CPU2 ----> PCM3168A-p (8ch)
|
||||
* (D) CPU3 <---- PCM3168A-c (6ch)
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
* (C) aplay -D plughw:0,2 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
* (D) arecord -D plughw:0,3 xxx.wav
|
||||
*/
|
||||
|
||||
&sound_card {
|
||||
dais = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
|
||||
&rsnd_port1 /* (B) CPU1 -> HDMI */
|
||||
&rsnd_port2 /* (C) CPU2 -> PCM3168A-p */
|
||||
&rsnd_port3 /* (D) CPU3 <- PCM3168A-c */
|
||||
>;
|
||||
};
|
||||
|
||||
&pcm3168a {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
mclk-fs = <512>;
|
||||
/*
|
||||
* (C) CPU2 -> PCM3168A-p
|
||||
*/
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
pcm3168a_endpoint_p: endpoint {
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_play>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (D) CPU3 <- PCM3168A-c
|
||||
*/
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
pcm3168a_endpoint_c: endpoint {
|
||||
remote-endpoint = <&rsnd_for_pcm3168a_capture>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
ports {
|
||||
/* rsnd_port0/1 are defined in ulcb.dtsi */
|
||||
/*
|
||||
* (C) CPU2 -> PCM3168A-p
|
||||
*/
|
||||
rsnd_port2: port@2 {
|
||||
reg = <2>;
|
||||
rsnd_for_pcm3168a_play: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_p>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <8>;
|
||||
playback = <&ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (D) CPU3 <- PCM3168A-c
|
||||
*/
|
||||
rsnd_port3: port@3 {
|
||||
reg = <3>;
|
||||
rsnd_for_pcm3168a_capture: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_c>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <6>;
|
||||
capture = <&ssi4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,178 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Kingfisher + Audio Graph Card2 (MIX + TDM Split)
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* The HDMI output is ignored due to the limited number of subdevices
|
||||
*
|
||||
* (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0)
|
||||
* (B) CPU1 (2ch) --/ (MIX-1)
|
||||
* (C) CPU3 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch)
|
||||
* (D) CPU2 (2ch) --/ (TDM-1 : 2,3ch)
|
||||
* (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch)
|
||||
* (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch)
|
||||
* (G) CPU6 (6ch) <---- (6ch) (Z) PCM3168A-c
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav (MIX-0)
|
||||
* (B) aplay -D plughw:0,1 xxx.wav (MIX-1)
|
||||
* (C) aplay -D plughw:0,2 xxx.wav (TDM-0)
|
||||
* (D) aplay -D plughw:0,3 xxx.wav (TDM-1)
|
||||
* (E) aplay -D plughw:0,4 xxx.wav (TDM-2)
|
||||
* (F) aplay -D plughw:0,5 xxx.wav (TDM-3)
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
* (G) arecord -D plughw:0,6 xxx.wav
|
||||
*/
|
||||
&sound_card {
|
||||
routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"ak4613 Playback", "DAI1 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture",
|
||||
"pcm3168a Playback", "DAI2 Playback",
|
||||
"pcm3168a Playback", "DAI3 Playback",
|
||||
"pcm3168a Playback", "DAI4 Playback",
|
||||
"pcm3168a Playback", "DAI5 Playback",
|
||||
"DAI6 Capture", "pcm3168a Capture";
|
||||
|
||||
/delete-property/ dais;
|
||||
links = <&fe_a /* (A) CPU0 */
|
||||
&fe_b /* (B) CPU1 */
|
||||
&fe_c /* (C) CPU2 */
|
||||
&fe_d /* (D) CPU3 */
|
||||
&fe_e /* (E) CPU4 */
|
||||
&fe_f /* (F) CPU5 */
|
||||
&rsnd_g /* (G) CPU6 */
|
||||
&be_x /* (X) ak4613 */
|
||||
&be_y /* (Y) PCM3168A-p */
|
||||
>;
|
||||
|
||||
dpcm {
|
||||
ports@0 {
|
||||
/*
|
||||
* FE
|
||||
*
|
||||
* (A)/(B) are defined on ulcb
|
||||
* (C) CPU2
|
||||
* (D) CPU3
|
||||
* (E) CPU4
|
||||
* (F) CPU5
|
||||
*/
|
||||
fe_c: port@2 { reg = <2>; fe_c_ep: endpoint { remote-endpoint = <&rsnd_c_ep>; }; };
|
||||
fe_d: port@3 { reg = <3>; fe_d_ep: endpoint { remote-endpoint = <&rsnd_d_ep>; }; };
|
||||
fe_e: port@4 { reg = <4>; fe_e_ep: endpoint { remote-endpoint = <&rsnd_e_ep>; }; };
|
||||
fe_f: port@5 { reg = <5>; fe_f_ep: endpoint { remote-endpoint = <&rsnd_f_ep>; }; };
|
||||
};
|
||||
|
||||
ports@1 {
|
||||
/*
|
||||
* BE
|
||||
*
|
||||
* (X) is defined on ulcb
|
||||
* (Y) PCM3168A-p
|
||||
*/
|
||||
be_y: port@1 { reg = <1>; be_y_ep: endpoint { remote-endpoint = <&pcm3168a_y_ep>; }; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcm3168a {
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mclk-fs = <512>;
|
||||
prefix = "pcm3168a";
|
||||
|
||||
/*
|
||||
* (Y) PCM3168A-p
|
||||
*/
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
convert-channels = <8>; /* to 8ch TDM */
|
||||
pcm3168a_y_ep: endpoint {
|
||||
remote-endpoint = <&be_y_ep>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (Z) PCM3168A-c
|
||||
*/
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
pcm3168a_z_ep: endpoint {
|
||||
remote-endpoint = <&rsnd_g_ep>;
|
||||
clocks = <&clksndsel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
ports {
|
||||
/* (A)/(B) are defined in ulcb.dtsi */
|
||||
|
||||
/*
|
||||
* (C) CPU2
|
||||
*/
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
rsnd_c_ep: endpoint {
|
||||
remote-endpoint = <&fe_c_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu30 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (D) CPU3
|
||||
*/
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
rsnd_d_ep: endpoint {
|
||||
remote-endpoint = <&fe_d_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu31 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (E) CPU4
|
||||
*/
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
rsnd_e_ep: endpoint {
|
||||
remote-endpoint = <&fe_e_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu32 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (F) CPU5
|
||||
*/
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
rsnd_f_ep: endpoint {
|
||||
remote-endpoint = <&fe_f_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssiu33 &ssi3>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (G) CPU6
|
||||
*/
|
||||
rsnd_g: port@6 {
|
||||
reg = <6>;
|
||||
rsnd_g_ep: endpoint {
|
||||
remote-endpoint = <&pcm3168a_z_ep>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
capture = <&ssi4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
30
arch/arm64/boot/dts/renesas/ulcb-kf-audio-graph-card2.dtsi
Normal file
30
arch/arm64/boot/dts/renesas/ulcb-kf-audio-graph-card2.dtsi
Normal file
@ -0,0 +1,30 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Kingfisher + Audio Graph Card2
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (A) CPU0 <----> ak4613
|
||||
* (B) CPU1 ----> HDMI
|
||||
* (C) CPU2 ----> PCM3168A-p (8ch)
|
||||
* (D) CPU3 <---- PCM3168A-c (6ch)
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
* (C) aplay -D plughw:0,2 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
* (D) arecord -D plughw:0,3 xxx.wav
|
||||
*/
|
||||
#include "ulcb-kf-audio-graph-card.dtsi"
|
||||
|
||||
&sound_card {
|
||||
/delete-property/ dais;
|
||||
links = <&rsnd_port0 /* (A) CPU0 <-> ak4613 */
|
||||
&rsnd_port1 /* (B) CPU1 -> HDMI */
|
||||
&rsnd_port2 /* (C) CPU2 -> PCM3168A-p */
|
||||
&rsnd_port3 /* (D) CPU3 <- PCM3168A-c */
|
||||
>;
|
||||
};
|
@ -0,0 +1,153 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Kingfisher + Simple Audio Card (MIX + TDM Split)
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* The HDMI output is ignored due to the limited number of subdevices
|
||||
*
|
||||
* (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0)
|
||||
* (B) CPU1 (2ch) --/ (MIX-1)
|
||||
* (C) CPU3 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch)
|
||||
* (D) CPU2 (2ch) --/ (TDM-1 : 2,3ch)
|
||||
* (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch)
|
||||
* (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch)
|
||||
* (G) CPU6 (6ch) <---- (6ch) (Z) PCM3168A-c
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav (MIX-0)
|
||||
* (B) aplay -D plughw:0,1 xxx.wav (MIX-1)
|
||||
* (C) aplay -D plughw:0,2 xxx.wav (TDM-0)
|
||||
* (D) aplay -D plughw:0,3 xxx.wav (TDM-1)
|
||||
* (E) aplay -D plughw:0,4 xxx.wav (TDM-2)
|
||||
* (F) aplay -D plughw:0,5 xxx.wav (TDM-3)
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
* (G) arecord -D plughw:0,6 xxx.wav
|
||||
*/
|
||||
|
||||
&sound_card {
|
||||
|
||||
simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"ak4613 Playback", "DAI1 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture",
|
||||
"pcm3168a Playback", "DAI2 Playback",
|
||||
"pcm3168a Playback", "DAI3 Playback",
|
||||
"pcm3168a Playback", "DAI4 Playback",
|
||||
"pcm3168a Playback", "DAI5 Playback";
|
||||
|
||||
/* dai-link@0 is defined in ulcb.dtsi */
|
||||
|
||||
simple-audio-card,dai-link@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
convert-channels = <8>; /* to 8ch TDM */
|
||||
|
||||
/*
|
||||
* (C) CPU2
|
||||
*/
|
||||
cpu@0 {
|
||||
reg = <0>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
sound-dai = <&rcar_sound 2>;
|
||||
};
|
||||
/*
|
||||
* (D) CPU3
|
||||
*/
|
||||
cpu@1 {
|
||||
reg = <1>;
|
||||
sound-dai = <&rcar_sound 3>;
|
||||
};
|
||||
/*
|
||||
* (E) CPU4
|
||||
*/
|
||||
cpu@2 {
|
||||
reg = <2>;
|
||||
sound-dai = <&rcar_sound 4>;
|
||||
};
|
||||
/*
|
||||
* (F) CPU5
|
||||
*/
|
||||
cpu@3 {
|
||||
reg = <3>;
|
||||
sound-dai = <&rcar_sound 5>;
|
||||
};
|
||||
/*
|
||||
* (Y) PCM3168A-p
|
||||
*/
|
||||
codec {
|
||||
prefix = "pcm3168a";
|
||||
mclk-fs = <512>;
|
||||
sound-dai = <&pcm3168a 0>;
|
||||
};
|
||||
};
|
||||
simple-audio-card,dai-link@2 {
|
||||
reg = <2>;
|
||||
/*
|
||||
* (G) CPU6
|
||||
*/
|
||||
cpu {
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
sound-dai = <&rcar_sound 6>;
|
||||
};
|
||||
/*
|
||||
* (Z) PCM3168A-c
|
||||
*/
|
||||
codec {
|
||||
prefix = "pcm3168a";
|
||||
mclk-fs = <512>;
|
||||
sound-dai = <&pcm3168a 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcm3168a {
|
||||
/*
|
||||
* (Y) PCM3168A-p
|
||||
* (Z) PCM3168A-c
|
||||
*/
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
rcar_sound,dai {
|
||||
|
||||
/* dai0-1 are defined in ulcb.dtsi */
|
||||
|
||||
/*
|
||||
* (C) CPU2
|
||||
*/
|
||||
dai2 {
|
||||
playback = <&ssiu30 &ssi3>;
|
||||
};
|
||||
/*
|
||||
* (D) CPU3
|
||||
*/
|
||||
dai3 {
|
||||
playback = <&ssiu31 &ssi3>;
|
||||
};
|
||||
/*
|
||||
* (E) CPU4
|
||||
*/
|
||||
dai4 {
|
||||
playback = <&ssiu32 &ssi3>;
|
||||
};
|
||||
/*
|
||||
* (F) CPU5
|
||||
*/
|
||||
dai5 {
|
||||
playback = <&ssiu33 &ssi3>;
|
||||
};
|
||||
/*
|
||||
* (G) CPU6
|
||||
*/
|
||||
dai6 {
|
||||
capture = <&ssi4>;
|
||||
};
|
||||
};
|
||||
};
|
85
arch/arm64/boot/dts/renesas/ulcb-kf-simple-audio-card.dtsi
Normal file
85
arch/arm64/boot/dts/renesas/ulcb-kf-simple-audio-card.dtsi
Normal file
@ -0,0 +1,85 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Kingfisher + Simple Audio Card
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (A) CPU0 <----> ak4613
|
||||
* (B) CPU1 ----> HDMI
|
||||
* (C) CPU2 ----> PCM3168A-p
|
||||
* (D) CPU3 <---- PCM3168A-c
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
* (C) aplay -D plughw:0,2 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
* (D) arecord -D plughw:0,3 xxx.wav
|
||||
*/
|
||||
|
||||
&sound_card {
|
||||
/* dai-link@0/1 are defined in ulcb.dtsi */
|
||||
|
||||
/*
|
||||
* (C) CPU2 -> PCM3168A-p
|
||||
*/
|
||||
simple-audio-card,dai-link@2 {
|
||||
reg = <2>;
|
||||
cpu {
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <8>;
|
||||
sound-dai = <&rcar_sound 2>;
|
||||
};
|
||||
codec {
|
||||
mclk-fs = <512>;
|
||||
sound-dai = <&pcm3168a 0>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (D) CPU3 <- PCM3168A-c
|
||||
*/
|
||||
simple-audio-card,dai-link@3 {
|
||||
reg = <3>;
|
||||
cpu {
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <6>;
|
||||
sound-dai = <&rcar_sound 3>;
|
||||
};
|
||||
codec {
|
||||
mclk-fs = <512>;
|
||||
sound-dai = <&pcm3168a 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pcm3168a {
|
||||
/*
|
||||
* (C) CPU2 -> PCM3168A-p
|
||||
* (D) CPU3 <- PCM3168A-c
|
||||
*/
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
|
||||
rcar_sound,dai {
|
||||
/* dai0-1 are defined in ulcb.dtsi */
|
||||
|
||||
/*
|
||||
* (C) CPU2 -> PCM3168A-p
|
||||
*/
|
||||
dai2 {
|
||||
playback = <&ssi3>;
|
||||
};
|
||||
/*
|
||||
* (D) CPU3 <- PCM3168A-c
|
||||
*/
|
||||
dai3 {
|
||||
capture = <&ssi4>;
|
||||
};
|
||||
};
|
||||
};
|
@ -6,12 +6,6 @@
|
||||
* Copyright (C) 2017 Cogent Embedded, Inc.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SSI-PCM3168A
|
||||
* aplay -D plughw:0,2 xxx.wav
|
||||
* arecord -D plughw:0,3 xxx.wav
|
||||
*/
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial1 = &hscif0;
|
||||
@ -212,26 +206,6 @@
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gyroscope@6b {
|
||||
@ -418,30 +392,6 @@
|
||||
pinctrl-0 = <&sound_pins
|
||||
&sound_clk_pins
|
||||
&sound_pcm_pins>;
|
||||
|
||||
ports {
|
||||
/* rsnd_port0/1 are defined in ulcb.dtsi */
|
||||
rsnd_port2: port@2 {
|
||||
reg = <2>;
|
||||
rsnd_for_pcm3168a_play: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_p>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <8>;
|
||||
playback = <&ssi3>;
|
||||
};
|
||||
};
|
||||
rsnd_port3: port@3 {
|
||||
reg = <3>;
|
||||
rsnd_for_pcm3168a_capture: endpoint {
|
||||
remote-endpoint = <&pcm3168a_endpoint_c>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
dai-tdm-slot-num = <6>;
|
||||
capture = <&ssi4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&scif1 {
|
||||
@ -476,14 +426,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&sound_card {
|
||||
links = <&rsnd_port0 /* ak4613 */
|
||||
&rsnd_port1 /* HDMI0 */
|
||||
&rsnd_port2 /* pcm3168a playback */
|
||||
&rsnd_port3 /* pcm3168a capture */
|
||||
>;
|
||||
};
|
||||
|
||||
&ssi4 {
|
||||
shared-pin;
|
||||
};
|
||||
@ -498,3 +440,17 @@
|
||||
&xhci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/*
|
||||
* For sound-test.
|
||||
*
|
||||
* We can switch Audio Card for testing
|
||||
* see also ulcb.dtsi
|
||||
*
|
||||
* #include "ulcb-kf-simple-audio-card.dtsi"
|
||||
* #include "ulcb-kf-simple-audio-card-mix+split.dtsi"
|
||||
* #include "ulcb-kf-audio-graph-card.dtsi"
|
||||
* #include "ulcb-kf-audio-graph-card-mix+split.dtsi"
|
||||
* #include "ulcb-kf-audio-graph-card2-mix+split.dtsi"
|
||||
*/
|
||||
#include "ulcb-kf-audio-graph-card2.dtsi"
|
||||
|
@ -0,0 +1,92 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Simple Audio Card (MIXer)
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note:
|
||||
* The HDMI output is ignored due to the limited number of subdevices
|
||||
*
|
||||
* (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0)
|
||||
* (B) CPU1 (2ch) --/ (MIX-1)
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
*/
|
||||
|
||||
/ {
|
||||
sound_card: sound {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
compatible = "simple-scu-audio-card";
|
||||
label = "rcar-sound";
|
||||
|
||||
simple-audio-card,prefix = "ak4613";
|
||||
simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"ak4613 Playback", "DAI1 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture";
|
||||
|
||||
simple-audio-card,dai-link@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
convert-rate = <48000>;
|
||||
|
||||
/*
|
||||
* (A) CPU0
|
||||
*/
|
||||
cpu@0 {
|
||||
reg = <0>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
sound-dai = <&rcar_sound 0>;
|
||||
};
|
||||
/*
|
||||
* (B) CPU1
|
||||
*/
|
||||
cpu@1 {
|
||||
reg = <1>;
|
||||
sound-dai = <&rcar_sound 1>;
|
||||
};
|
||||
/*
|
||||
* (X) ak4613
|
||||
*/
|
||||
codec {
|
||||
prefix = "ak4613";
|
||||
sound-dai = <&ak4613>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ak4613 {
|
||||
/*
|
||||
* (X) ak4613
|
||||
*/
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
rcar_sound,dai {
|
||||
/*
|
||||
* (A) CPU0
|
||||
*/
|
||||
dai0 {
|
||||
playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
|
||||
capture = <&ssi1 &src0 &dvc1>;
|
||||
};
|
||||
/*
|
||||
* (B) CPU1
|
||||
*/
|
||||
dai1 {
|
||||
playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
|
||||
};
|
||||
};
|
||||
};
|
89
arch/arm64/boot/dts/renesas/ulcb-simple-audio-card.dtsi
Normal file
89
arch/arm64/boot/dts/renesas/ulcb-simple-audio-card.dtsi
Normal file
@ -0,0 +1,89 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree for ULCB + Simple Audio Card
|
||||
*
|
||||
* Copyright (C) 2022 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (A) CPU0 <----> ak4613
|
||||
* (B) CPU1 ----> HDMI
|
||||
*
|
||||
* (A) aplay -D plughw:0,0 xxx.wav
|
||||
* (B) aplay -D plughw:0,1 xxx.wav
|
||||
*
|
||||
* (A) arecord -D plughw:0,0 xxx.wav
|
||||
*/
|
||||
|
||||
/ {
|
||||
sound_card: sound {
|
||||
compatible = "simple-audio-card";
|
||||
label = "rcar-sound";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/*
|
||||
* (A) CPU0 <-> ak4613
|
||||
*/
|
||||
simple-audio-card,dai-link@0 {
|
||||
reg = <0>;
|
||||
cpu {
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
sound-dai = <&rcar_sound 0>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&ak4613>;
|
||||
};
|
||||
};
|
||||
/*
|
||||
* (B) CPU1 -> HDMI
|
||||
*/
|
||||
simple-audio-card,dai-link@1 {
|
||||
reg = <1>;
|
||||
cpu {
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
sound-dai = <&rcar_sound 1>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&hdmi0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ak4613 {
|
||||
/*
|
||||
* (A) CPU0 <-> ak4613
|
||||
*/
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
/*
|
||||
* (B) CPU1 -> HDMI
|
||||
*/
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
rcar_sound,dai {
|
||||
/*
|
||||
* (A) CPU0 <-> ak4613
|
||||
*/
|
||||
dai0 {
|
||||
playback = <&ssi0 &src0 &dvc0>;
|
||||
capture = <&ssi1 &src1 &dvc1>;
|
||||
};
|
||||
/*
|
||||
* (B) CPU1 -> HDMI
|
||||
*/
|
||||
dai1 {
|
||||
playback = <&ssi2>;
|
||||
};
|
||||
};
|
||||
};
|
@ -6,14 +6,6 @@
|
||||
* Copyright (C) 2016 Cogent Embedded, Inc.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SSI-AK4613
|
||||
* aplay -D plughw:0,0 xxx.wav
|
||||
* arecord -D plughw:0,0 xxx.wav
|
||||
* SSI-HDMI
|
||||
* aplay -D plughw:0,1 xxx.wav
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
@ -102,15 +94,6 @@
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sound_card: sound {
|
||||
compatible = "audio-graph-card2";
|
||||
label = "rcar-sound";
|
||||
|
||||
links = <&rsnd_port0 /* ak4613 */
|
||||
&rsnd_port1 /* HDMI0 */
|
||||
>;
|
||||
};
|
||||
|
||||
vcc_sdhi0: regulator-vcc-sdhi0 {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
@ -201,9 +184,6 @@
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
dw_hdmi0_snd_in: endpoint {
|
||||
remote-endpoint = <&rsnd_for_hdmi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -218,7 +198,6 @@
|
||||
|
||||
ak4613: codec@10 {
|
||||
compatible = "asahi-kasei,ak4613";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x10>;
|
||||
clocks = <&rcar_sound 3>;
|
||||
|
||||
@ -230,12 +209,6 @@
|
||||
asahi-kasei,out4-single-end;
|
||||
asahi-kasei,out5-single-end;
|
||||
asahi-kasei,out6-single-end;
|
||||
|
||||
port {
|
||||
ak4613_endpoint: endpoint {
|
||||
remote-endpoint = <&rsnd_for_ak4613>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cs2000: clk-multiplier@4f {
|
||||
@ -381,9 +354,6 @@
|
||||
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>;
|
||||
@ -408,30 +378,6 @@
|
||||
<&audio_clk_a>, <&cs2000>,
|
||||
<&audio_clk_c>,
|
||||
<&cpg CPG_CORE CPG_AUDIO_CLK_I>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
rsnd_port0: port@0 {
|
||||
reg = <0>;
|
||||
rsnd_for_ak4613: endpoint {
|
||||
remote-endpoint = <&ak4613_endpoint>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssi0>, <&src0>, <&dvc0>;
|
||||
capture = <&ssi1>, <&src1>, <&dvc1>;
|
||||
};
|
||||
};
|
||||
rsnd_port1: port@1 {
|
||||
reg = <1>;
|
||||
rsnd_for_hdmi: endpoint {
|
||||
remote-endpoint = <&dw_hdmi0_snd_in>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
playback = <&ssi2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&rpc {
|
||||
@ -541,3 +487,17 @@
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* For sound-test.
|
||||
*
|
||||
* We can switch Audio Card for testing
|
||||
*
|
||||
* #include "ulcb-simple-audio-card.dtsi"
|
||||
* #include "ulcb-simple-audio-card-mix+split.dtsi"
|
||||
* #include "ulcb-audio-graph-card.dtsi"
|
||||
* #include "ulcb-audio-graph-card-mix+split.dtsi"
|
||||
* #include "ulcb-audio-graph-card2-mix+split.dtsi"
|
||||
*/
|
||||
#include "ulcb-audio-graph-card2.dtsi"
|
||||
|
@ -24,10 +24,20 @@
|
||||
|
||||
ð0 {
|
||||
status = "disabled";
|
||||
|
||||
phy0: ethernet-phy@7 {
|
||||
/delete-property/ interrupt-parent;
|
||||
/delete-property/ interrupts;
|
||||
};
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "disabled";
|
||||
|
||||
phy1: ethernet-phy@7 {
|
||||
/delete-property/ interrupt-parent;
|
||||
/delete-property/ interrupts;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhi0 {
|
||||
|
Loading…
Reference in New Issue
Block a user