关键词: 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>; };