Renesas ARM64 Based SoC DT Updates for v5.1
R-Car H3 (r8a7795) SoC - Sort i2c and pciec0 nodes within soc node R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs - Remove BUSIF0 settings from rcar_sound,ssi R-Car M3-W (r8a7796) based Salvator-XS board - Convert to new LVDS DT bindings R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) based ULCB boards - Use audio-graph-card to allow secondary sound device on kingfisher daugher board - Add HDMI sound support Kingfisher daughterboard for R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) based ULCB boards - Add pcm3168 sound codec R-Car E3 (r8a77990) SoC - Enable DMA for SCIF2 R-Car E3 (r8a77990) based Ebisu board - HS400 for onboard eMMC - Use simple-audio-card rather than simple-scu-audio-card - Correct EthernetAVB phy mode as rgmii - Add backlight and follow-up to correct duplicate regulator number R-Car V3M (r8a77970) based v3msk starter kit - Specify EtherAVB PHY IRQ now that GPIO support is present R-Car D3 (r8a77995) based draak board - Set better backlight levels RZ/G2M (r8a774a1) SoC - Correct hsusb reg size RZ/G2E (r8a774c0) SoC - Intial SoC DT - Add: and SYS-DMAC controller, SCIF, HSCIF, INTC-EX PFC, GPIO, Ethernet AVB, watchdog, secondary CA3 core, SDHI, I2C, IIC-DVFS, IPMU, CAN, thermal, MSIOF, audio, PWM, display output, USB2.0, USB-DMAC, HSUSB, USB3.0, IPMMU, PCIe, VIN and CSI-2 support - A follow-up patch included in this pull-request enables DMA for SCIF2 so that DMA is enabled for all SCIF nodes -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlxIKlEACgkQ189kaWo3 T76URw/+LUjkNY2Erik3Q82UJUqgtVcVOaDz831K+5lN2vGNo+5mUdGlE1H97OeY +PG0w0Eg9xjLPB/wyRRBd6436FvdP2tnnJDhQTIuKKV9Ee76XGXJOKuuNH4LymqN XU6iMXDG4CqTPWSOpb6WzxCiWUvUVJAw6SvRETAKngRpVKIUb+4ieJdjVUFI/OuL AEyOBAd59qjHffVmV1MaRrwp1VT4oj2S1zoz/w/625WywxvtYvURkxAlXa93GOqI 3VEGihdrUVMvbN6pjJ1QKe0sVIw1BXzBI2CKfo4AfW1PpnNKNxwIpV45JEiP8N7J UWTObgbjhejUMQBSh1bCk1hEESMp0iB2rkHYlqW8W7xkYpGP925MnRPKBNMNDTux khnKMznJLLU1rbbGUA2dvHtbR9pOHmdzMar3/N3VKSa69qilawkhWg/Kxjx3+CbM N5T7SHl0fwaMxY3TjQf759GzQ5DigJImHwuahI0ORu+Wceh1SdaWeq6kA+ZF9A0E l8ZOxJaZBDctcdpdShJGqBO2VXdXv8dSAhVJQ2Ln7I0gFNY8KffIW1LzrFx5c5Wk 3JVQ57BCuMDUK59h/aKXfMApjgSahoGdsvNPCmyoseiw+2xkPPqM/sXnTXu0AYKS yoVtQ/oumNfBTg8Aaqj1tBezps1XLMNsG04h29iU1rrjka6GG+E= =HPzD -----END PGP SIGNATURE----- Merge tag 'renesas-arm64-dt-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/dt Renesas ARM64 Based SoC DT Updates for v5.1 R-Car H3 (r8a7795) SoC - Sort i2c and pciec0 nodes within soc node R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs - Remove BUSIF0 settings from rcar_sound,ssi R-Car M3-W (r8a7796) based Salvator-XS board - Convert to new LVDS DT bindings R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) based ULCB boards - Use audio-graph-card to allow secondary sound device on kingfisher daugher board - Add HDMI sound support Kingfisher daughterboard for R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) based ULCB boards - Add pcm3168 sound codec R-Car E3 (r8a77990) SoC - Enable DMA for SCIF2 R-Car E3 (r8a77990) based Ebisu board - HS400 for onboard eMMC - Use simple-audio-card rather than simple-scu-audio-card - Correct EthernetAVB phy mode as rgmii - Add backlight and follow-up to correct duplicate regulator number R-Car V3M (r8a77970) based v3msk starter kit - Specify EtherAVB PHY IRQ now that GPIO support is present R-Car D3 (r8a77995) based draak board - Set better backlight levels RZ/G2M (r8a774a1) SoC - Correct hsusb reg size RZ/G2E (r8a774c0) SoC - Intial SoC DT - Add: and SYS-DMAC controller, SCIF, HSCIF, INTC-EX PFC, GPIO, Ethernet AVB, watchdog, secondary CA3 core, SDHI, I2C, IIC-DVFS, IPMU, CAN, thermal, MSIOF, audio, PWM, display output, USB2.0, USB-DMAC, HSUSB, USB3.0, IPMMU, PCIe, VIN and CSI-2 support - A follow-up patch included in this pull-request enables DMA for SCIF2 so that DMA is enabled for all SCIF nodes * tag 'renesas-arm64-dt-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (44 commits) arm64: dts: renesas: r8a77990: ebisu: Enable HS400 of SDHI3 arm64: dts: renesas: r8a77990: Enable DMA for SCIF2 arm64: dts: renesas: r8a774c0: Enable DMA for SCIF2 arm64: dts: renesas: r8a77990: ebisu: Fix backlight regulator numbering arm64: dts: renesas: v3msk: specify EtherAVB PHY IRQ arm64: dts: renesas: r8a77990-ebisu: use simple-audio-card arm64: dts: renesas: r8a7796: remove BUSIF0 settings from rcar_sound,ssi arm64: dts: renesas: r8a7795: remove BUSIF0 settings from rcar_sound,ssi arm64: dts: renesas: ulcb-kf: add pcm3168 sound codec arm64: dts: renesas: ulcb: add HDMI sound support arm64: dts: renesas: ulcb: use audio-graph-card arm64: dts: renesas: r8a7796: salvator-xs: Convert to new LVDS DT bindings arm64: dts: renesas: r8a77990: Sort i2c nodes within soc node arm64: dts: renesas: r8a77990: sort pciec0 node within soc node arm64: dts: renesas: r8a774a1: Fix hsusb reg size arm64: dts: renesas: r8a774c0: Add VIN and CSI-2 device nodes arm64: dts: renesas: r8a774c0: Add PCIe device node arm64: dts: renesas: r8a774c0: Connect RZ/G2E Audio-DMAC to IPMMU arm64: dts: renesas: r8a774c0: Connect RZ/G2E AVB to IPMMU arm64: dts: renesas: r8a774c0: Connect RZ/G2E SYS-DMAC to IPMMU ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
d2849a5871
|
@ -599,7 +599,7 @@
|
|||
hsusb: usb@e6590000 {
|
||||
compatible = "renesas,usbhs-r8a774a1",
|
||||
"renesas,rcar-gen3-usbhs";
|
||||
reg = <0 0xe6590000 0 0x100>;
|
||||
reg = <0 0xe6590000 0 0x200>;
|
||||
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 704>;
|
||||
dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2174,53 +2174,53 @@
|
|||
rcar_sound,ssi {
|
||||
ssi0: ssi-0 {
|
||||
interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x01>, <&audma1 0x02>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi1: ssi-1 {
|
||||
interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x03>, <&audma1 0x04>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi2: ssi-2 {
|
||||
interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x05>, <&audma1 0x06>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi3: ssi-3 {
|
||||
interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x07>, <&audma1 0x08>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi4: ssi-4 {
|
||||
interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x09>, <&audma1 0x0a>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi5: ssi-5 {
|
||||
interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x0b>, <&audma1 0x0c>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi6: ssi-6 {
|
||||
interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x0d>, <&audma1 0x0e>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi7: ssi-7 {
|
||||
interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x0f>, <&audma1 0x10>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi8: ssi-8 {
|
||||
interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x11>, <&audma1 0x12>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi9: ssi-9 {
|
||||
interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x13>, <&audma1 0x14>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -29,11 +29,10 @@
|
|||
clocks = <&cpg CPG_MOD 724>,
|
||||
<&cpg CPG_MOD 723>,
|
||||
<&cpg CPG_MOD 722>,
|
||||
<&cpg CPG_MOD 727>,
|
||||
<&versaclock6 1>,
|
||||
<&x21_clk>,
|
||||
<&versaclock6 2>;
|
||||
clock-names = "du.0", "du.1", "du.2", "lvds.0",
|
||||
clock-names = "du.0", "du.1", "du.2",
|
||||
"dclkin.0", "dclkin.1", "dclkin.2";
|
||||
};
|
||||
|
||||
|
|
|
@ -2110,53 +2110,53 @@
|
|||
rcar_sound,ssi {
|
||||
ssi0: ssi-0 {
|
||||
interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x01>, <&audma1 0x02>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi1: ssi-1 {
|
||||
interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x03>, <&audma1 0x04>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi2: ssi-2 {
|
||||
interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x05>, <&audma1 0x06>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi3: ssi-3 {
|
||||
interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x07>, <&audma1 0x08>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi4: ssi-4 {
|
||||
interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x09>, <&audma1 0x0a>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi5: ssi-5 {
|
||||
interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x0b>, <&audma1 0x0c>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi6: ssi-6 {
|
||||
interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x0d>, <&audma1 0x0e>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi7: ssi-7 {
|
||||
interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x0f>, <&audma1 0x10>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi8: ssi-8 {
|
||||
interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x11>, <&audma1 0x12>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
ssi9: ssi-9 {
|
||||
interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
|
||||
dma-names = "rx", "tx", "rxu", "txu";
|
||||
dmas = <&audma0 0x13>, <&audma1 0x14>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -108,6 +108,8 @@
|
|||
phy0: ethernet-phy@0 {
|
||||
rxc-skew-ps = <1500>;
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -39,6 +39,16 @@
|
|||
clock-frequency = <11289600>;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
compatible = "pwm-backlight";
|
||||
pwms = <&pwm3 0 50000>;
|
||||
|
||||
brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>;
|
||||
default-brightness-level = <10>;
|
||||
|
||||
power-supply = <®_12p0v>;
|
||||
};
|
||||
|
||||
cvbs-in {
|
||||
compatible = "composite-video-connector";
|
||||
label = "CVBS IN";
|
||||
|
@ -159,16 +169,13 @@
|
|||
};
|
||||
|
||||
rsnd_ak4613: sound {
|
||||
compatible = "simple-scu-audio-card";
|
||||
compatible = "simple-audio-card";
|
||||
|
||||
simple-audio-card,name = "rsnd-ak4613";
|
||||
simple-audio-card,format = "left_j";
|
||||
simple-audio-card,bitclock-master = <&sndcpu>;
|
||||
simple-audio-card,frame-master = <&sndcpu>;
|
||||
|
||||
simple-audio-card,prefix = "ak4613";
|
||||
simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback",
|
||||
"DAI0 Capture", "ak4613 Capture";
|
||||
sndcpu: simple-audio-card,cpu {
|
||||
sound-dai = <&rcar_sound>;
|
||||
};
|
||||
|
@ -184,6 +191,15 @@
|
|||
clock-frequency = <24576000>;
|
||||
};
|
||||
|
||||
reg_12p0v: regulator2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "D12.0V";
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
x13_clk: x13 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
|
@ -248,7 +264,6 @@
|
|||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii-txid";
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
|
@ -680,6 +695,7 @@
|
|||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <®_1p8v>;
|
||||
mmc-hs200-1_8v;
|
||||
mmc-hs400-1_8v;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
|
|
@ -240,6 +240,74 @@
|
|||
resets = <&cpg 906>;
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6060000 {
|
||||
compatible = "renesas,pfc-r8a77990";
|
||||
reg = <0 0xe6060000 0 0x508>;
|
||||
};
|
||||
|
||||
i2c_dvfs: i2c@e60b0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,iic-r8a77990";
|
||||
reg = <0 0xe60b0000 0 0x15>;
|
||||
interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 926>;
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 926>;
|
||||
dmas = <&dmac0 0x11>, <&dmac0 0x10>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a77990-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>;
|
||||
clock-names = "extal";
|
||||
#clock-cells = <2>;
|
||||
#power-domain-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
rst: reset-controller@e6160000 {
|
||||
compatible = "renesas,r8a77990-rst";
|
||||
reg = <0 0xe6160000 0 0x0200>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a77990-sysc";
|
||||
reg = <0 0xe6180000 0 0x0400>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
thermal: thermal@e6190000 {
|
||||
compatible = "renesas,thermal-r8a77990";
|
||||
reg = <0 0xe6190000 0 0x10>, <0 0xe6190100 0 0x38>;
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 522>;
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 522>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
compatible = "renesas,intc-ex-r8a77990", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xe61c0000 0 0x200>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
i2c0: i2c@e6500000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -369,74 +437,6 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6060000 {
|
||||
compatible = "renesas,pfc-r8a77990";
|
||||
reg = <0 0xe6060000 0 0x508>;
|
||||
};
|
||||
|
||||
i2c_dvfs: i2c@e60b0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,iic-r8a77990";
|
||||
reg = <0 0xe60b0000 0 0x15>;
|
||||
interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 926>;
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 926>;
|
||||
dmas = <&dmac0 0x11>, <&dmac0 0x10>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a77990-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>;
|
||||
clock-names = "extal";
|
||||
#clock-cells = <2>;
|
||||
#power-domain-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
rst: reset-controller@e6160000 {
|
||||
compatible = "renesas,r8a77990-rst";
|
||||
reg = <0 0xe6160000 0 0x0200>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a77990-sysc";
|
||||
reg = <0 0xe6180000 0 0x0400>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
thermal: thermal@e6190000 {
|
||||
compatible = "renesas,thermal-r8a77990";
|
||||
reg = <0 0xe6190000 0 0x10>, <0 0xe6190100 0 0x38>;
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 522>;
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 522>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
compatible = "renesas,intc-ex-r8a77990", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xe61c0000 0 0x200>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
hscif0: serial@e6540000 {
|
||||
compatible = "renesas,hscif-r8a77990",
|
||||
"renesas,rcar-gen3-hscif",
|
||||
|
@ -993,7 +993,9 @@
|
|||
<&cpg CPG_CORE R8A77990_CLK_S3D1C>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
|
||||
dmas = <&dmac1 0x13>, <&dmac1 0x12>,
|
||||
<&dmac2 0x13>, <&dmac2 0x12>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 310>;
|
||||
status = "disabled";
|
||||
|
@ -1526,6 +1528,33 @@
|
|||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
compatible = "renesas,pcie-r8a77990",
|
||||
"renesas,pcie-rcar-gen3";
|
||||
reg = <0 0xfe000000 0 0x80000>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
bus-range = <0x00 0xff>;
|
||||
device_type = "pci";
|
||||
ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
|
||||
0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
|
||||
0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
|
||||
0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
|
||||
/* Map all possible DDR as inbound ranges */
|
||||
dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x40000000>;
|
||||
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
|
||||
clock-names = "pcie", "pcie_bus";
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 319>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
vspb0: vsp@fe960000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfe960000 0 0x8000>;
|
||||
|
@ -1724,33 +1753,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
compatible = "renesas,pcie-r8a77990",
|
||||
"renesas,pcie-rcar-gen3";
|
||||
reg = <0 0xfe000000 0 0x80000>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
bus-range = <0x00 0xff>;
|
||||
device_type = "pci";
|
||||
ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
|
||||
0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
|
||||
0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
|
||||
0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
|
||||
/* Map all possible DDR as inbound ranges */
|
||||
dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x40000000>;
|
||||
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
|
||||
clock-names = "pcie", "pcie_bus";
|
||||
power-domains = <&sysc R8A77990_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 319>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
prr: chipid@fff00044 {
|
||||
compatible = "renesas,prr";
|
||||
reg = <0 0xfff00044 0 4>;
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
compatible = "pwm-backlight";
|
||||
pwms = <&pwm1 0 50000>;
|
||||
|
||||
brightness-levels = <256 128 64 16 8 4 0>;
|
||||
default-brightness-level = <6>;
|
||||
brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>;
|
||||
default-brightness-level = <10>;
|
||||
|
||||
power-supply = <®_12p0v>;
|
||||
enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
|
||||
|
|
|
@ -6,11 +6,38 @@
|
|||
* 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;
|
||||
serial2 = &scif1;
|
||||
};
|
||||
|
||||
clksndsel: clksndsel {
|
||||
#clock-cells = <0>;
|
||||
compatible = "gpio-mux-clock";
|
||||
clocks = <&cs2000>, <&audio_clk_a>; /* clk8snd, clksnd */
|
||||
select-gpios = <&gpio_exp_75 13 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
snd_3p3v: regulator-snd_3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "snd-3.3v";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
snd_vcc5v: regulator-snd_vcc5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "snd-vcc5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
|
@ -44,6 +71,7 @@
|
|||
};
|
||||
|
||||
&i2c2 {
|
||||
/* U11 */
|
||||
gpio_exp_74: gpio@74 {
|
||||
compatible = "ti,tca9539";
|
||||
reg = <0x74>;
|
||||
|
@ -53,6 +81,13 @@
|
|||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
audio_out_off {
|
||||
gpio-hog;
|
||||
gpios = <0 GPIO_ACTIVE_HIGH>; /* P00 */
|
||||
output-high;
|
||||
line-name = "Audio_Out_OFF";
|
||||
};
|
||||
|
||||
hub_pwen {
|
||||
gpio-hog;
|
||||
gpios = <6 GPIO_ACTIVE_HIGH>;
|
||||
|
@ -80,8 +115,16 @@
|
|||
output-high;
|
||||
line-name = "OTG EXTLPn";
|
||||
};
|
||||
|
||||
snd_rst {
|
||||
gpio-hog;
|
||||
gpios = <15 GPIO_ACTIVE_HIGH>; /* P17 */
|
||||
output-high;
|
||||
line-name = "SND_RST";
|
||||
};
|
||||
};
|
||||
|
||||
/* U5 */
|
||||
gpio_exp_75: gpio@75 {
|
||||
compatible = "ti,tca9539";
|
||||
reg = <0x75>;
|
||||
|
@ -98,6 +141,48 @@
|
|||
#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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -173,6 +258,11 @@
|
|||
groups = "usb0";
|
||||
function = "usb0";
|
||||
};
|
||||
|
||||
sound_pcm_pins: sound-pcm {
|
||||
groups = "ssi349_ctrl", "ssi3_data", "ssi4_data";
|
||||
function = "ssi";
|
||||
};
|
||||
};
|
||||
|
||||
&scif1 {
|
||||
|
@ -193,3 +283,51 @@
|
|||
&xhci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sound_card {
|
||||
dais = <&rsnd_port0 /* ak4613 */
|
||||
&rsnd_port1 /* HDMI0 */
|
||||
&rsnd_port2 /* pcm3168a playback */
|
||||
&rsnd_port3 /* pcm3168a capture */
|
||||
>;
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
pinctrl-0 = <&sound_pins
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ssi4 {
|
||||
shared-pin;
|
||||
};
|
||||
|
|
|
@ -6,6 +6,14 @@
|
|||
* 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>
|
||||
|
||||
|
@ -83,20 +91,13 @@
|
|||
regulator-always-on;
|
||||
};
|
||||
|
||||
rsnd_ak4613: sound {
|
||||
compatible = "simple-audio-card";
|
||||
sound_card: sound {
|
||||
compatible = "audio-graph-card";
|
||||
label = "rcar-sound";
|
||||
|
||||
simple-audio-card,format = "left_j";
|
||||
simple-audio-card,bitclock-master = <&sndcpu>;
|
||||
simple-audio-card,frame-master = <&sndcpu>;
|
||||
|
||||
sndcpu: simple-audio-card,cpu {
|
||||
sound-dai = <&rcar_sound>;
|
||||
};
|
||||
|
||||
sndcodec: simple-audio-card,codec {
|
||||
sound-dai = <&ak4613>;
|
||||
};
|
||||
dais = <&rsnd_port0 /* ak4613 */
|
||||
&rsnd_port1 /* HDMI0 */
|
||||
>;
|
||||
};
|
||||
|
||||
vcc_sdhi0: regulator-vcc-sdhi0 {
|
||||
|
@ -182,6 +183,12 @@
|
|||
remote-endpoint = <&hdmi0_con>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
dw_hdmi0_snd_in: endpoint {
|
||||
remote-endpoint = <&rsnd_for_hdmi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -211,6 +218,12 @@
|
|||
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 {
|
||||
|
@ -384,10 +397,33 @@
|
|||
<&audio_clk_c>,
|
||||
<&cpg CPG_CORE CPG_AUDIO_CLK_I>;
|
||||
|
||||
rcar_sound,dai {
|
||||
dai0 {
|
||||
playback = <&ssi0 &src0 &dvc0>;
|
||||
capture = <&ssi1 &src1 &dvc1>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
rsnd_port0: port@0 {
|
||||
reg = <0>;
|
||||
rsnd_for_ak4613: endpoint {
|
||||
remote-endpoint = <&ak4613_endpoint>;
|
||||
|
||||
dai-format = "left_j";
|
||||
bitclock-master = <&rsnd_for_ak4613>;
|
||||
frame-master = <&rsnd_for_ak4613>;
|
||||
|
||||
playback = <&ssi0 &src0 &dvc0>;
|
||||
capture = <&ssi1 &src1 &dvc1>;
|
||||
};
|
||||
};
|
||||
rsnd_port1: port@1 {
|
||||
reg = <1>;
|
||||
rsnd_for_hdmi: endpoint {
|
||||
remote-endpoint = <&dw_hdmi0_snd_in>;
|
||||
|
||||
dai-format = "i2s";
|
||||
bitclock-master = <&rsnd_for_hdmi>;
|
||||
frame-master = <&rsnd_for_hdmi>;
|
||||
|
||||
playback = <&ssi2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue