From: Mark Kettenis Subject: Re: fanpwr: add rk8600 To: Jonathan Matthew Cc: tech@openbsd.org, kettenis@openbsd.org Date: Thu, 21 May 2026 00:11:26 +0200 > Date: Thu, 21 May 2026 07:57:19 +1000 > From: Jonathan Matthew > > This FAN53555 clone only seems to be used on the Radxa Zero 3 boards. > According to the linux driver, it works just like the FAN53555 except > it has the same voltage base and step as the Silergy clones. > This makes cpu frequency adjustment work on the zero 3w. > > ok? ok kettenis@ > Index: fanpwr.c > =================================================================== > RCS file: /cvs/src/sys/dev/fdt/fanpwr.c,v > diff -u -p -r1.10 fanpwr.c > --- fanpwr.c 26 May 2024 22:04:52 -0000 1.10 > +++ fanpwr.c 20 May 2026 12:15:46 -0000 > @@ -51,6 +51,7 @@ > /* Distinguish between Fairchild original and Silergy clones. */ > enum fanpwr_id { > FANPWR_FAN53555, /* Fairchild FAN53555 */ > + FANPWR_RK8600, /* Rockchip RK8600 */ > FANPWR_RK8602, /* Rockchip RK8602 */ > FANPWR_SYR827, /* Silergy SYR827 */ > FANPWR_SYR828, /* Silergy SYR828 */ > @@ -93,6 +94,7 @@ fanpwr_match(struct device *parent, void > struct i2c_attach_args *ia = aux; > > return (strcmp(ia->ia_name, "fcs,fan53555") == 0 || > + strcmp(ia->ia_name, "rockchip,rk8600") == 0 || > strcmp(ia->ia_name, "rockchip,rk8602") == 0 || > strcmp(ia->ia_name, "rockchip,rk8603") == 0 || > strcmp(ia->ia_name, "silergy,syr827") == 0 || > @@ -114,7 +116,10 @@ fanpwr_attach(struct device *parent, str > sc->sc_tag = ia->ia_tag; > sc->sc_addr = ia->ia_addr; > > - if (OF_is_compatible(node, "rockchip,rk8602") || > + if (OF_is_compatible(node, "rockchip,rk8600")) { > + printf(": RK8600"); > + sc->sc_id = FANPWR_RK8600; > + } else if (OF_is_compatible(node, "rockchip,rk8602") || > OF_is_compatible(node, "rockchip,rk8603")) { > printf(": RK8602"); > sc->sc_id = FANPWR_RK8602; > @@ -194,6 +199,7 @@ fanpwr_attach(struct device *parent, str > sc->sc_vbase = 500000; > sc->sc_vstep = 6250; > break; > + case FANPWR_RK8600: > case FANPWR_SYR827: > case FANPWR_SYR828: > sc->sc_vbase = 712500; > >