On Mon, Jul 05, 2021 at 06:04:57PM +0200, Michael Riesch wrote: > The RK3568 EVB uses a voltage divider to determine the hardware ID of > the board. At the moment, the voltage levels for seven EVB variants are > defined. This commit adds a late_initcall to the board code that reads > out the voltage and populates the hardware ID as environment variable. > > Signed-off-by: Michael Riesch <michael.riesch@xxxxxxxxxxxxxx> > --- > v2: > - add compatible check > - return early in case the voltage cannot be read > - populate hardware ID as environment variable > > arch/arm/boards/rockchip-rk3568-evb/board.c | 56 +++++++++++++++++++++ > 1 file changed, 56 insertions(+) > > diff --git a/arch/arm/boards/rockchip-rk3568-evb/board.c b/arch/arm/boards/rockchip-rk3568-evb/board.c > index 57c24ed3c..f8b257e57 100644 > --- a/arch/arm/boards/rockchip-rk3568-evb/board.c > +++ b/arch/arm/boards/rockchip-rk3568-evb/board.c > @@ -2,7 +2,13 @@ > #include <common.h> > #include <init.h> > #include <mach/bbu.h> > +#include <aiodev.h> > #include <bootsource.h> > +#include <environment.h> > +#include <globalvar.h> > +#include <magicvar.h> > + > +static bool machine_is_rk3568_evb = false; > > static int rk3568_evb_probe(struct device_d *dev) > { > @@ -11,6 +17,7 @@ static int rk3568_evb_probe(struct device_d *dev) > > barebox_set_model("Rockchip RK3568 EVB"); > barebox_set_hostname("rk3568-evb"); > + machine_is_rk3568_evb = true; > > if (bootsource == BOOTSOURCE_MMC && instance == 1) > of_device_enable_path("/chosen/environment-sd"); > @@ -34,3 +41,52 @@ static struct driver_d rk3568_evb_board_driver = { > .of_compatible = rk3568_evb_of_match, > }; > coredevice_platform_driver(rk3568_evb_board_driver); > + > +static int rk3568_evb_detect_hwid(void) > +{ > + int ret; > + int evb_hwid_voltage; > + struct aiochannel *evb_hwid_chan; > + char *evb_hwid; > + > + if (!machine_is_rk3568_evb) > + return 0; > + > + evb_hwid_chan = aiochannel_by_name("aiodev0.in_value1_mV"); This fails to link when CONFIG_AIODEV is disabled. I added an early return at the top of this function to fix that. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox