Commit 3da41e4c authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Simon Horman

arm64: dts: r8a7795: Add BRG support for (H)SCIF

Add the device node for the external SCIF_CLK.
The presence of the SCIF_CLK crystal and its clock frequency depend on
the actual board.

Add the two optional clock sources (S3D1 and SCIF_CLK for the internal
resp. external clock) for the Baud Rate Generator for External Clock
(BRG) to all SCIF and HSCIF device nodes.

This increases the range and accuracy of supported baud rates on
(H)SCIF.
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 69e359ca
...@@ -99,6 +99,14 @@ audio_clk_c: audio_clk_c { ...@@ -99,6 +99,14 @@ audio_clk_c: audio_clk_c {
clock-frequency = <0>; clock-frequency = <0>;
}; };
/* External SCIF clock - to be overridden by boards that provide it */
scif_clk: scif {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <0>;
status = "disabled";
};
soc { soc {
compatible = "simple-bus"; compatible = "simple-bus";
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
...@@ -479,8 +487,10 @@ hscif0: serial@e6540000 { ...@@ -479,8 +487,10 @@ hscif0: serial@e6540000 {
"renesas,hscif"; "renesas,hscif";
reg = <0 0xe6540000 0 96>; reg = <0 0xe6540000 0 96>;
interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 520>; clocks = <&cpg CPG_MOD 520>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x31>, <&dmac1 0x30>; dmas = <&dmac1 0x31>, <&dmac1 0x30>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -493,8 +503,10 @@ hscif1: serial@e6550000 { ...@@ -493,8 +503,10 @@ hscif1: serial@e6550000 {
"renesas,hscif"; "renesas,hscif";
reg = <0 0xe6550000 0 96>; reg = <0 0xe6550000 0 96>;
interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 519>; clocks = <&cpg CPG_MOD 519>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x33>, <&dmac1 0x32>; dmas = <&dmac1 0x33>, <&dmac1 0x32>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -507,8 +519,10 @@ hscif2: serial@e6560000 { ...@@ -507,8 +519,10 @@ hscif2: serial@e6560000 {
"renesas,hscif"; "renesas,hscif";
reg = <0 0xe6560000 0 96>; reg = <0 0xe6560000 0 96>;
interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 518>; clocks = <&cpg CPG_MOD 518>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x35>, <&dmac1 0x34>; dmas = <&dmac1 0x35>, <&dmac1 0x34>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -521,8 +535,10 @@ hscif3: serial@e66a0000 { ...@@ -521,8 +535,10 @@ hscif3: serial@e66a0000 {
"renesas,hscif"; "renesas,hscif";
reg = <0 0xe66a0000 0 96>; reg = <0 0xe66a0000 0 96>;
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 517>; clocks = <&cpg CPG_MOD 517>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac0 0x37>, <&dmac0 0x36>; dmas = <&dmac0 0x37>, <&dmac0 0x36>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -535,8 +551,10 @@ hscif4: serial@e66b0000 { ...@@ -535,8 +551,10 @@ hscif4: serial@e66b0000 {
"renesas,hscif"; "renesas,hscif";
reg = <0 0xe66b0000 0 96>; reg = <0 0xe66b0000 0 96>;
interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 516>; clocks = <&cpg CPG_MOD 516>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac0 0x39>, <&dmac0 0x38>; dmas = <&dmac0 0x39>, <&dmac0 0x38>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -548,8 +566,10 @@ scif0: serial@e6e60000 { ...@@ -548,8 +566,10 @@ scif0: serial@e6e60000 {
"renesas,rcar-gen3-scif", "renesas,scif"; "renesas,rcar-gen3-scif", "renesas,scif";
reg = <0 0xe6e60000 0 64>; reg = <0 0xe6e60000 0 64>;
interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 207>; clocks = <&cpg CPG_MOD 207>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x51>, <&dmac1 0x50>; dmas = <&dmac1 0x51>, <&dmac1 0x50>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -561,8 +581,10 @@ scif1: serial@e6e68000 { ...@@ -561,8 +581,10 @@ scif1: serial@e6e68000 {
"renesas,rcar-gen3-scif", "renesas,scif"; "renesas,rcar-gen3-scif", "renesas,scif";
reg = <0 0xe6e68000 0 64>; reg = <0 0xe6e68000 0 64>;
interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 206>; clocks = <&cpg CPG_MOD 206>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x53>, <&dmac1 0x52>; dmas = <&dmac1 0x53>, <&dmac1 0x52>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -574,8 +596,10 @@ scif2: serial@e6e88000 { ...@@ -574,8 +596,10 @@ scif2: serial@e6e88000 {
"renesas,rcar-gen3-scif", "renesas,scif"; "renesas,rcar-gen3-scif", "renesas,scif";
reg = <0 0xe6e88000 0 64>; reg = <0 0xe6e88000 0 64>;
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 310>; clocks = <&cpg CPG_MOD 310>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x13>, <&dmac1 0x12>; dmas = <&dmac1 0x13>, <&dmac1 0x12>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -587,8 +611,10 @@ scif3: serial@e6c50000 { ...@@ -587,8 +611,10 @@ scif3: serial@e6c50000 {
"renesas,rcar-gen3-scif", "renesas,scif"; "renesas,rcar-gen3-scif", "renesas,scif";
reg = <0 0xe6c50000 0 64>; reg = <0 0xe6c50000 0 64>;
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 204>; clocks = <&cpg CPG_MOD 204>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac0 0x57>, <&dmac0 0x56>; dmas = <&dmac0 0x57>, <&dmac0 0x56>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -600,8 +626,10 @@ scif4: serial@e6c40000 { ...@@ -600,8 +626,10 @@ scif4: serial@e6c40000 {
"renesas,rcar-gen3-scif", "renesas,scif"; "renesas,rcar-gen3-scif", "renesas,scif";
reg = <0 0xe6c40000 0 64>; reg = <0 0xe6c40000 0 64>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 203>; clocks = <&cpg CPG_MOD 203>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac0 0x59>, <&dmac0 0x58>; dmas = <&dmac0 0x59>, <&dmac0 0x58>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
...@@ -613,8 +641,10 @@ scif5: serial@e6f30000 { ...@@ -613,8 +641,10 @@ scif5: serial@e6f30000 {
"renesas,rcar-gen3-scif", "renesas,scif"; "renesas,rcar-gen3-scif", "renesas,scif";
reg = <0 0xe6f30000 0 64>; reg = <0 0xe6f30000 0 64>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 202>; clocks = <&cpg CPG_MOD 202>,
clock-names = "fck"; <&cpg CPG_CORE R8A7795_CLK_S3D1>,
<&scif_clk>;
clock-names = "fck", "brg_int", "scif_clk";
dmas = <&dmac1 0x5b>, <&dmac1 0x5a>; dmas = <&dmac1 0x5b>, <&dmac1 0x5a>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
power-domains = <&cpg>; power-domains = <&cpg>;
......
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