• Geert Uytterhoeven's avatar
    pinctrl: sh-pfc: Validate pinmux tables at runtime when debugging · 6161b39a
    Geert Uytterhoeven authored
    Perform some basic sanity checks on all built-in pinmux tables when
    DEBUG is defined, to help catching bugs early.
    
    For now the following checks are included:
      - Check register and field widths in descriptors for config registers
        with variable-width fields,
      - Check relations between pin groups and functions:
          - All pin functions must refer to existing pin groups,
          - All pin groups must be referred to by a pin function,
          - Warn if a pin group is referred to by multiple pin functions
    	(which is OK for backwards-compatibility aliases),
      - Provide suggestions for reducing table sizes: reserved fields of
        more than 3 bits can better be split in smaller subfields, as the
        storage need is proportional to the square of the width of the
        (sub)field,
    
    Note that a dummy non-matching entry is added to the DT match table for
    checking r8a7795es1_pinmux_info, as R-Car H3 ES1.0 is matched using
    soc_device_match() in r8a7795_pinmux_init(), instead of by the DT match
    table.
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: default avatarSimon Horman <horms+renesas@verge.net.au>
    6161b39a
core.c 21.5 KB