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