Patch from Cas-well to add support for
I think this mostly looks fine. Just have one suggestion.
I would actually suggest that you leave the gcs macros with their existing names and add new ones for pmc that have a comment like this:
/* NB: TCO version 3 devices use the gcs_reg resource for the PMC register. */ #define ichwd_read_pmc_4(sc, off) \ bus_read_4((sc)->gcs_res, (off))
And the same for ichwd_write_pmc_4(). I would then use the _gcs macros for TCO 2 devices and the _pmc macros for TCO 3 devices.