• 周五. 5月 2nd, 2025

rk3328 — cru dts配置

2月 23, 2020

关键词: rk3328; rockchip,rk3328-cru; 

rk3328 — CRU dts配置, cru(Clock and Reset Unit)

RK3328 CRU的作用是生成/提供 clock 给主控内部的控制器,并且给主控外部设备提供复位功能。

1、不可缺少属性:

- compatible: 取名为 "rockchip,rk3328-cru"
- reg: 设备CRU的物理基地址和CRU控制器的空间大小
- #clock-cells: 设置为 1.
- #reset-cells: 设置为 1.

2、可选属性:

- rockchip,grf: 指定"general register files",如果缺失,则pall rates无法被修改,因为缺失pll lock 状态。

3、外部时钟

rk3328外部时钟,有xin24m, clkin_i2s, gmac_clkin, phy_50m_out,他们分别作用如下:

clock-output-names:
 - "xin24m" - 主控24Mhz晶振时钟,必须
 - "clkin_i2s" - 外部I2S时钟,可选
 - "gmac_clkin" - 外部GMAC 时钟,可选
 - "phy_50m_out" - mac phy的 pll 外部时钟

4、例子:

cru: clock-controller@ff440000 {
compatible = "rockchip,rk3328-cru";
reg = <0x0 0xff440000 0x0 0x1000>;
rockchip,grf = <&grf>;

#clock-cells = <1>;
#reset-cells = <1>;
};

5、UART使用CRU的例子:

uart0: serial@ff120000 {
compatible = "snps,dw-apb-uart";
reg = <0xff120000 0x100>;
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&cru SCLK_UART0>; 
};