realtek: Add Lexra bus clock

The CPU peripherals on RTL83xx/RTL930x are connected to the CPU via the
Lexra bus. This bus can provide a clock signal to these peripherals, but
no clock driver is currently available. Instead, use a fixed-clock to
provide the clock frequency, and update the dependent peripherals.

Lexra bus clock frequencies:
- RTL838x: 200MHz
- RTL839x: 200MHz
- RTL930x: 175MHz

Signed-off-by: Sander Vanheule <sander@svanheule.net>
Tested-by: Stijn Segers <foss@volatilesystems.org>
Tested-by: Paul Fertser <fercerpav@gmail.com>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
Sander Vanheule 2021-11-14 19:45:31 +01:00 committed by Stijn Tintel
parent af2cfbda2b
commit d3a62bea08
2 changed files with 13 additions and 8 deletions

View File

@ -68,6 +68,12 @@
bootargs = "console=ttyS0,115200"; bootargs = "console=ttyS0,115200";
}; };
lx_clk: lx_clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <200000000>;
};
cpuintc: cpuintc { cpuintc: cpuintc {
compatible = "mti,cpu-interrupt-controller"; compatible = "mti,cpu-interrupt-controller";
#address-cells = <0>; #address-cells = <0>;
@ -116,7 +122,7 @@
compatible = "ns16550a"; compatible = "ns16550a";
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
clock-frequency = <200000000>; clocks = <&lx_clk>;
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <31>; interrupts = <31>;
@ -134,7 +140,7 @@
compatible = "ns16550a"; compatible = "ns16550a";
reg = <0x2100 0x100>; reg = <0x2100 0x100>;
clock-frequency = <200000000>; clocks = <&lx_clk>;
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <30>; interrupts = <30>;

View File

@ -80,11 +80,10 @@
interrupt-controller; interrupt-controller;
}; };
osc: oscillator { lx_clk: lx_clk {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <1>; #clock-cells = <0>;
clock-frequency = <175000000>; clock-frequency = <175000000>;
clock-output-names = "osc";
}; };
soc: soc { soc: soc {
@ -119,7 +118,7 @@
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <8>; interrupts = <8>;
interrupt-names = "ostimer"; interrupt-names = "ostimer";
clocks = <&osc 0>; clocks = <&lx_clk>;
}; };
spi0: spi@1200 { spi0: spi@1200 {
@ -134,7 +133,7 @@
compatible = "ns16550a"; compatible = "ns16550a";
reg = <0x2000 0x100>; reg = <0x2000 0x100>;
clock-frequency = <175000000>; clocks = <&lx_clk>;
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <30>; interrupts = <30>;
@ -149,7 +148,7 @@
compatible = "ns16550a"; compatible = "ns16550a";
reg = <0x2100 0x100>; reg = <0x2100 0x100>;
clock-frequency = <175000000>; clocks = <&lx_clk>;
interrupt-parent = <&intc>; interrupt-parent = <&intc>;
interrupts = <31>; interrupts = <31>;