U-Boot is totally in charge of starting up the hardware.
The parts of U-Boot specific to a particular CPU "knows" how to start it up. It usually only enables the things needed to get the Operating System loaded. If you have ADCs and PWM controllers, then they're the problem of the OS Drivers if they're not essential for booting.
If you have custom hardware on your board that needs to be initialised before the OS comes up, then that's 100% your responsibility to design a proper startup sequence, and to add that to the "Board Support" part of the U-Boot sources for your board.
Tom