[PATCH 05/12] dt-bindings: soc: rockchip: grf: Add RV1106 compatibles

Jonas Karlman jonas at kwiboo.se
Fri Jul 10 13:00:09 PDT 2026


Hi Simon,

On 7/6/2026 9:58 PM, Simon Glass wrote:
> Add the compatibles for the general register files of the Rockchip
> RV1106: the main GRF with its clock-controller child, which provides
> the MMC drive and sample phase clocks, and the IOC and PMU IOC blocks
> used by the pin controller.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  .../devicetree/bindings/soc/rockchip/grf.yaml | 30 +++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> index 2cc43742b8e3..349fd3393ac4 100644
> --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> @@ -64,6 +64,8 @@ properties:
>                - rockchip,rk3588-vo1-grf
>                - rockchip,rk3588-vop-grf
>                - rockchip,rv1103b-ioc
> +              - rockchip,rv1106-ioc

Do we possible need a different compatible for each GPIO IOC?

GRF address mapping table over all different GRF regs used by this SoC:

  Name		Address Base 
  PERI_GRF	0xFF000000 
  VENC_GRF	0xFF010000 
  NPU_GRF	0xFF018000 
  PMU_GRF	0xFF020000 
  DDR_GRF	0xFF030000 
  CORE_GRF	0xFF040000 
  VI_GRF	0xFF050000 
  VO_GRF	0xFF060000 
  GPIO0_IOC	0xFF388000 
  GPIO1_IOC	0xFF538000 
  GPIO2_IOC	0xFF548000 
  GPIO3_IOC	0xFF558000 
  GPIO4_IOC	0xFF568000 

> +              - rockchip,rv1106-pmuioc
>                - rockchip,rv1108-usbgrf
>            - const: syscon
>        - items:
> @@ -100,6 +102,7 @@ properties:
>                - rockchip,rk3576-usb2phy-grf
>                - rockchip,rk3588-usb2phy-grf
>                - rockchip,rv1103b-pmu-grf
> +              - rockchip,rv1106-grf

What GRF in the table above is this referring to?

Vendor kernel went the easy route and declared a single mega GRF block.
Mainline should probably declare each GRF individually to correctly
describe HW?

>                - rockchip,rv1108-grf
>                - rockchip,rv1108-pmugrf
>                - rockchip,rv1126-grf
> @@ -244,6 +247,33 @@ allOf:
>  
>            unevaluatedProperties: false
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: rockchip,rv1106-grf
> +
> +    then:
> +      properties:
> +        clock-controller:
> +          type: object
> +          additionalProperties: false
> +
> +          properties:
> +            compatible:
> +              const: rockchip,rv1106-grf-cru
> +
> +            "#clock-cells":
> +              const: 1
> +
> +          required:
> +            - compatible
> +            - "#clock-cells"
> +
> +          description:
> +            Clock provider for the MMC drive and sample phase clocks,
> +            whose control registers live in the GRF region.

As mentioned in CRU patch, please take a look at RK3528, it exposes
similar similar 'GRF' clocks from the CRU. Do not blindly follow what
has been done in the vendor kernel.

Regards,
Jonas

> +
>    - if:
>        properties:
>          compatible:




More information about the Linux-rockchip mailing list