xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/soc/rockchip/grf.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Rockchip General Register Files (GRF)
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThe general register file will be used to do static set by software, which
4*4882a593Smuzhiyunis composed of many registers for system control.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunFrom RK3368 SoCs, the GRF is divided into two sections,
7*4882a593Smuzhiyun- GRF, used for general non-secure system,
8*4882a593Smuzhiyun- SGRF, used for general secure system,
9*4882a593Smuzhiyun- PMUGRF, used for always on system
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunOn RK3328 SoCs, the GRF adds a section for USB2PHYGRF,
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunON RK3308 SoC, the GRF is divided into four sections:
14*4882a593Smuzhiyun- GRF, used for general non-secure system,
15*4882a593Smuzhiyun- SGRF, used for general secure system,
16*4882a593Smuzhiyun- DETECTGRF, used for audio codec system,
17*4882a593Smuzhiyun- COREGRF, used for pvtm,
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunRequired Properties:
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun- compatible: GRF should be one of the following:
22*4882a593Smuzhiyun   - "rockchip,px30-grf", "syscon": for px30
23*4882a593Smuzhiyun   - "rockchip,rk3036-grf", "syscon": for rk3036
24*4882a593Smuzhiyun   - "rockchip,rk3066-grf", "syscon": for rk3066
25*4882a593Smuzhiyun   - "rockchip,rk3188-grf", "syscon": for rk3188
26*4882a593Smuzhiyun   - "rockchip,rk3228-grf", "syscon": for rk3228
27*4882a593Smuzhiyun   - "rockchip,rk3288-grf", "syscon": for rk3288
28*4882a593Smuzhiyun   - "rockchip,rk3308-grf", "syscon": for rk3308
29*4882a593Smuzhiyun   - "rockchip,rk3328-grf", "syscon": for rk3328
30*4882a593Smuzhiyun   - "rockchip,rk3368-grf", "syscon": for rk3368
31*4882a593Smuzhiyun   - "rockchip,rk3399-grf", "syscon": for rk3399
32*4882a593Smuzhiyun   - "rockchip,rv1108-grf", "syscon": for rv1108
33*4882a593Smuzhiyun- compatible: DETECTGRF should be one of the following:
34*4882a593Smuzhiyun   - "rockchip,rk3308-detect-grf", "syscon": for rk3308
35*4882a593Smuzhiyun- compatilbe: COREGRF should be one of the following:
36*4882a593Smuzhiyun   - "rockchip,rk3308-core-grf", "syscon": for rk3308
37*4882a593Smuzhiyun- compatible: PMUGRF should be one of the following:
38*4882a593Smuzhiyun   - "rockchip,px30-pmugrf", "syscon": for px30
39*4882a593Smuzhiyun   - "rockchip,rk3368-pmugrf", "syscon": for rk3368
40*4882a593Smuzhiyun   - "rockchip,rk3399-pmugrf", "syscon": for rk3399
41*4882a593Smuzhiyun- compatible: SGRF should be one of the following:
42*4882a593Smuzhiyun   - "rockchip,rk3288-sgrf", "syscon": for rk3288
43*4882a593Smuzhiyun- compatible: USB2PHYGRF should be one of the following:
44*4882a593Smuzhiyun   - "rockchip,px30-usb2phy-grf", "syscon": for px30
45*4882a593Smuzhiyun   - "rockchip,rk3328-usb2phy-grf", "syscon": for rk3328
46*4882a593Smuzhiyun- compatible: USBGRF should be one of the following:
47*4882a593Smuzhiyun   - "rockchip,rv1108-usbgrf", "syscon": for rv1108
48*4882a593Smuzhiyun- reg: physical base address of the controller and length of memory mapped
49*4882a593Smuzhiyun  region.
50*4882a593Smuzhiyun
51*4882a593SmuzhiyunExample: GRF and PMUGRF of RK3399 SoCs
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	pmugrf: syscon@ff320000 {
54*4882a593Smuzhiyun		compatible = "rockchip,rk3399-pmugrf", "syscon";
55*4882a593Smuzhiyun		reg = <0x0 0xff320000 0x0 0x1000>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	grf: syscon@ff770000 {
59*4882a593Smuzhiyun		compatible = "rockchip,rk3399-grf", "syscon";
60*4882a593Smuzhiyun		reg = <0x0 0xff770000 0x0 0x10000>;
61*4882a593Smuzhiyun	};
62