18c2ecf20Sopenharmony_ci* Rockchip General Register Files (GRF)
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe general register file will be used to do static set by software, which
48c2ecf20Sopenharmony_ciis composed of many registers for system control.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciFrom RK3368 SoCs, the GRF is divided into two sections,
78c2ecf20Sopenharmony_ci- GRF, used for general non-secure system,
88c2ecf20Sopenharmony_ci- SGRF, used for general secure system,
98c2ecf20Sopenharmony_ci- PMUGRF, used for always on system
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciOn RK3328 SoCs, the GRF adds a section for USB2PHYGRF,
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciON RK3308 SoC, the GRF is divided into four sections:
148c2ecf20Sopenharmony_ci- GRF, used for general non-secure system,
158c2ecf20Sopenharmony_ci- SGRF, used for general secure system,
168c2ecf20Sopenharmony_ci- DETECTGRF, used for audio codec system,
178c2ecf20Sopenharmony_ci- COREGRF, used for pvtm,
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciRequired Properties:
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci- compatible: GRF should be one of the following:
228c2ecf20Sopenharmony_ci   - "rockchip,px30-grf", "syscon": for px30
238c2ecf20Sopenharmony_ci   - "rockchip,rk3036-grf", "syscon": for rk3036
248c2ecf20Sopenharmony_ci   - "rockchip,rk3066-grf", "syscon": for rk3066
258c2ecf20Sopenharmony_ci   - "rockchip,rk3188-grf", "syscon": for rk3188
268c2ecf20Sopenharmony_ci   - "rockchip,rk3228-grf", "syscon": for rk3228
278c2ecf20Sopenharmony_ci   - "rockchip,rk3288-grf", "syscon": for rk3288
288c2ecf20Sopenharmony_ci   - "rockchip,rk3308-grf", "syscon": for rk3308
298c2ecf20Sopenharmony_ci   - "rockchip,rk3328-grf", "syscon": for rk3328
308c2ecf20Sopenharmony_ci   - "rockchip,rk3368-grf", "syscon": for rk3368
318c2ecf20Sopenharmony_ci   - "rockchip,rk3399-grf", "syscon": for rk3399
328c2ecf20Sopenharmony_ci   - "rockchip,rv1108-grf", "syscon": for rv1108
338c2ecf20Sopenharmony_ci- compatible: DETECTGRF should be one of the following:
348c2ecf20Sopenharmony_ci   - "rockchip,rk3308-detect-grf", "syscon": for rk3308
358c2ecf20Sopenharmony_ci- compatilbe: COREGRF should be one of the following:
368c2ecf20Sopenharmony_ci   - "rockchip,rk3308-core-grf", "syscon": for rk3308
378c2ecf20Sopenharmony_ci- compatible: PMUGRF should be one of the following:
388c2ecf20Sopenharmony_ci   - "rockchip,px30-pmugrf", "syscon": for px30
398c2ecf20Sopenharmony_ci   - "rockchip,rk3368-pmugrf", "syscon": for rk3368
408c2ecf20Sopenharmony_ci   - "rockchip,rk3399-pmugrf", "syscon": for rk3399
418c2ecf20Sopenharmony_ci- compatible: SGRF should be one of the following:
428c2ecf20Sopenharmony_ci   - "rockchip,rk3288-sgrf", "syscon": for rk3288
438c2ecf20Sopenharmony_ci- compatible: USB2PHYGRF should be one of the following:
448c2ecf20Sopenharmony_ci   - "rockchip,px30-usb2phy-grf", "syscon": for px30
458c2ecf20Sopenharmony_ci   - "rockchip,rk3328-usb2phy-grf", "syscon": for rk3328
468c2ecf20Sopenharmony_ci- compatible: USBGRF should be one of the following:
478c2ecf20Sopenharmony_ci   - "rockchip,rv1108-usbgrf", "syscon": for rv1108
488c2ecf20Sopenharmony_ci- reg: physical base address of the controller and length of memory mapped
498c2ecf20Sopenharmony_ci  region.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciExample: GRF and PMUGRF of RK3399 SoCs
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	pmugrf: syscon@ff320000 {
548c2ecf20Sopenharmony_ci		compatible = "rockchip,rk3399-pmugrf", "syscon";
558c2ecf20Sopenharmony_ci		reg = <0x0 0xff320000 0x0 0x1000>;
568c2ecf20Sopenharmony_ci	};
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	grf: syscon@ff770000 {
598c2ecf20Sopenharmony_ci		compatible = "rockchip,rk3399-grf", "syscon";
608c2ecf20Sopenharmony_ci		reg = <0x0 0xff770000 0x0 0x10000>;
618c2ecf20Sopenharmony_ci	};
62