MFC r341268, r342003-r342007, r342087-r342088, r342091
r341268 by manu:
arm64: allwinner: Add a dtbo to have cpu operating points
This enables cpufreq on A64 boards.
r342003 by manu:
Add a pwm subsystem so we can configure pwm controller from kernel and userland.
The pwm subsystem consist of API for PWM controllers, pwmbus to register them
and a pwm(8) utility to talk to them from userland.
Reviewed by: oshgobo (capsicum), bcr (manpage), 0mp (manpage)
Differential Revision: https://reviews.freebsd.org/D17938
r342004 by manu:
arm64: allwinner: Add pwm driver
Add a pwm driver for Allwinner PWM
Add pwm and aw_pwm to the GENERIC kernel
r342005 by manu:
arm64: allwinner: Add DTSO for pwm and r_pwm
Those are both dtso (overlays) for the two pwm controllers found on the A64.
r342006 by manu:
arm64: allwinner: Fix pwm dtso
Double patched files ended up in the tree
Reported by: kevans
r342007 by manu:
pwm: Fix some arches by using %ju and casting to uintmax_t
Reported by: ci.freebsd.org
r342087 by manu:
pwm: Convert period and duty to unsigned int
We don't need a 64 bits value to store nanoseconds
Discused with: ian, jhibbits
r342088 by manu:
pwm(8): Add percentage value support for duty cycle
r342091 by manu:
allwinner: aw_pwm: Read value at attach
The booloaded might have configured the pwm controller so read the values.