|
4 | 4 | */
|
5 | 5 |
|
6 | 6 | /dts-v1/;
|
| 7 | +#include <dt-bindings/clock/sophgo,sg2042-clkgen.h> |
| 8 | +#include <dt-bindings/clock/sophgo,sg2042-pll.h> |
| 9 | +#include <dt-bindings/clock/sophgo,sg2042-rpgate.h> |
7 | 10 | #include <dt-bindings/interrupt-controller/irq.h>
|
8 |
| - |
9 | 11 | #include <dt-bindings/reset/sophgo,sg2042-reset.h>
|
10 | 12 |
|
11 | 13 | #include "sg2042-cpus.dtsi"
|
|
20 | 22 | serial0 = &uart0;
|
21 | 23 | };
|
22 | 24 |
|
| 25 | + cgi_main: oscillator0 { |
| 26 | + compatible = "fixed-clock"; |
| 27 | + clock-output-names = "cgi_main"; |
| 28 | + #clock-cells = <0>; |
| 29 | + }; |
| 30 | + |
| 31 | + cgi_dpll0: oscillator1 { |
| 32 | + compatible = "fixed-clock"; |
| 33 | + clock-output-names = "cgi_dpll0"; |
| 34 | + #clock-cells = <0>; |
| 35 | + }; |
| 36 | + |
| 37 | + cgi_dpll1: oscillator2 { |
| 38 | + compatible = "fixed-clock"; |
| 39 | + clock-output-names = "cgi_dpll1"; |
| 40 | + #clock-cells = <0>; |
| 41 | + }; |
| 42 | + |
23 | 43 | soc: soc {
|
24 | 44 | compatible = "simple-bus";
|
25 | 45 | #address-cells = <2>;
|
26 | 46 | #size-cells = <2>;
|
27 | 47 | ranges;
|
28 | 48 |
|
| 49 | + pllclk: clock-controller@70300100c0 { |
| 50 | + compatible = "sophgo,sg2042-pll"; |
| 51 | + reg = <0x70 0x300100c0 0x0 0x40>; |
| 52 | + clocks = <&cgi_main>, <&cgi_dpll0>, <&cgi_dpll1>; |
| 53 | + clock-names = "cgi_main", "cgi_dpll0", "cgi_dpll1"; |
| 54 | + #clock-cells = <1>; |
| 55 | + }; |
| 56 | + |
| 57 | + rpgate: clock-controller@7030010368 { |
| 58 | + compatible = "sophgo,sg2042-rpgate"; |
| 59 | + reg = <0x70 0x30010368 0x0 0x98>; |
| 60 | + clocks = <&clkgen GATE_CLK_RP_CPU_NORMAL>; |
| 61 | + clock-names = "rpgate"; |
| 62 | + #clock-cells = <1>; |
| 63 | + }; |
| 64 | + |
| 65 | + clkgen: clock-controller@7030012000 { |
| 66 | + compatible = "sophgo,sg2042-clkgen"; |
| 67 | + reg = <0x70 0x30012000 0x0 0x1000>; |
| 68 | + clocks = <&pllclk MPLL_CLK>, |
| 69 | + <&pllclk FPLL_CLK>, |
| 70 | + <&pllclk DPLL0_CLK>, |
| 71 | + <&pllclk DPLL1_CLK>; |
| 72 | + clock-names = "mpll", |
| 73 | + "fpll", |
| 74 | + "dpll0", |
| 75 | + "dpll1"; |
| 76 | + #clock-cells = <1>; |
| 77 | + }; |
| 78 | + |
29 | 79 | clint_mswi: interrupt-controller@7094000000 {
|
30 | 80 | compatible = "sophgo,sg2042-aclint-mswi", "thead,c900-aclint-mswi";
|
31 | 81 | reg = <0x00000070 0x94000000 0x00000000 0x00004000>;
|
|
341 | 391 | interrupt-parent = <&intc>;
|
342 | 392 | interrupts = <112 IRQ_TYPE_LEVEL_HIGH>;
|
343 | 393 | clock-frequency = <500000000>;
|
| 394 | + clocks = <&clkgen GATE_CLK_UART_500M>, |
| 395 | + <&clkgen GATE_CLK_APB_UART>; |
| 396 | + clock-names = "baudclk", "apb_pclk"; |
344 | 397 | reg-shift = <2>;
|
345 | 398 | reg-io-width = <4>;
|
346 | 399 | resets = <&rstgen RST_UART0>;
|
|
0 commit comments