Geert Uytterhoeven 6161b39a14 pinctrl: sh-pfc: Validate pinmux tables at runtime when debugging
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: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
2019-04-02 09:57:50 +02:00
..
2019-03-16 13:05:32 -07:00
2019-03-09 16:53:47 -08:00
2019-03-16 13:05:32 -07:00
2019-03-16 12:36:39 -07:00
2019-03-06 09:41:12 -08:00
2019-03-16 13:05:32 -07:00
2019-03-14 09:11:54 -07:00
2019-03-09 14:57:08 -08:00
2019-03-06 14:18:59 -08:00
2019-03-15 14:37:46 -07:00
2019-03-08 10:02:58 -08:00
2019-03-11 20:06:18 -07:00
2019-03-15 14:41:30 -07:00
2019-03-10 10:17:23 -07:00
2019-03-10 13:16:37 -07:00
2019-03-07 08:59:26 -07:00
2019-03-16 12:36:39 -07:00
2019-03-10 11:54:48 -07:00
2019-03-10 11:54:48 -07:00
2019-03-09 15:53:03 -08:00
2019-03-08 14:12:17 -08:00
2019-03-16 13:05:32 -07:00
2019-03-16 12:36:39 -07:00
2019-03-10 11:54:48 -07:00
2019-03-10 12:29:52 -07:00
2019-03-10 10:17:23 -07:00
2019-03-08 08:23:15 -08:00
2019-03-12 09:46:32 -07:00
2019-03-14 09:00:06 -07:00
2019-03-12 09:46:32 -07:00
2019-03-16 12:51:50 -07:00
2019-03-06 09:41:12 -08:00
2019-03-09 14:57:08 -08:00
2019-03-09 14:45:54 -08:00
2019-03-16 12:51:50 -07:00
2019-03-06 09:41:12 -08:00
2019-03-14 09:11:54 -07:00
2019-03-07 12:56:26 -08:00
2019-03-10 12:47:57 -07:00
2019-03-15 14:22:59 -07:00
2019-03-11 11:22:15 -07:00
2019-03-10 12:29:52 -07:00