|
1 | 1 | /*
|
2 | 2 | * Copyright (c) 2021-2025 ATL Electronics
|
| 3 | + * Copyright (c) 2024-2025 MASSDRIVER EI (massdriver.space) |
3 | 4 | *
|
4 | 5 | * SPDX-License-Identifier: Apache-2.0
|
5 | 6 | */
|
|
8 | 9 | #include <mem.h>
|
9 | 10 | #include <dt-bindings/pinctrl/bl60x-pinctrl.h>
|
10 | 11 | #include <dt-bindings/pinctrl/bflb-common-pinctrl.h>
|
| 12 | +#include <dt-bindings/clock/bflb_bl60x_clock.h> |
11 | 13 |
|
12 | 14 | / {
|
13 | 15 | #address-cells = <1>;
|
14 | 16 | #size-cells = <1>;
|
15 | 17 |
|
| 18 | + clocks { |
| 19 | + clk_rc32m: clk-rc32m { |
| 20 | + #clock-cells = <0>; |
| 21 | + compatible = "fixed-clock"; |
| 22 | + clock-frequency = <DT_FREQ_M(32)>; |
| 23 | + status = "okay"; |
| 24 | + }; |
| 25 | + |
| 26 | + clk_crystal: clk-crystal { |
| 27 | + #clock-cells = <0>; |
| 28 | + compatible = "fixed-clock"; |
| 29 | + clock-frequency = <DT_FREQ_M(40)>; |
| 30 | + status = "okay"; |
| 31 | + }; |
| 32 | + |
| 33 | + clk_pll: clk-pll { |
| 34 | + #clock-cells = <1>; |
| 35 | + compatible = "bflb,bl60x-pll"; |
| 36 | + clocks = <&clk_crystal>; |
| 37 | + status = "okay"; |
| 38 | + }; |
| 39 | + |
| 40 | + clk_root: clk-root { |
| 41 | + #clock-cells = <0>; |
| 42 | + compatible = "bflb,bl60x-root-clk"; |
| 43 | + clocks = <&clk_pll BL60X_PLL_192MHz>; |
| 44 | + divider = <1>; |
| 45 | + status = "okay"; |
| 46 | + }; |
| 47 | + |
| 48 | + clk_bclk: clk-bclk { |
| 49 | + #clock-cells = <0>; |
| 50 | + compatible = "bflb,bclk"; |
| 51 | + divider = <2>; |
| 52 | + status = "okay"; |
| 53 | + }; |
| 54 | + }; |
| 55 | + |
16 | 56 | cpus {
|
17 | 57 | #address-cells = <1>;
|
18 | 58 | #size-cells = <0>;
|
|
84 | 124 | };
|
85 | 125 | };
|
86 | 126 |
|
| 127 | + clocks: clock-controller@40000000 { |
| 128 | + compatible = "bflb,bl60x-clock-controller", "bflb,clock-controller"; |
| 129 | + reg = <0x40000000 DT_SIZE_K(4)>; |
| 130 | + #clock-cells = <1>; |
| 131 | + status = "okay"; |
| 132 | + clocks = <&clk_rc32m>, <&clk_crystal>, <&clk_root>, <&clk_bclk>, |
| 133 | + <&clk_pll BL60X_PLL_192MHz>, <&clk_pll BL60X_PLL_160MHz>, |
| 134 | + <&clk_pll BL60X_PLL_120MHz>, <&clk_pll BL60X_PLL_48MHz>; |
| 135 | + clock-names = "rc32m", "crystal", "root", "bclk", |
| 136 | + "pll_192", "pll_160", |
| 137 | + "pll_120", "pll_48"; |
| 138 | + zephyr,deferred-init; |
| 139 | + }; |
| 140 | + |
87 | 141 | efuse: efuse@40007000 {
|
88 | 142 | compatible = "bflb,efuse";
|
89 | 143 | reg = <0x40007000 0x1000>;
|
|
0 commit comments