Hi, DTB says that AXP805 is AXP806 compatible, but axppmic(4) does not use OF_is_compatible() so we need to add AXP805 entry to code like this.
Index: axppmic.c =================================================================== RCS file: /cvs/src/sys/dev/fdt/axppmic.c,v retrieving revision 1.9 diff -u -p -r1.9 axppmic.c --- axppmic.c 23 Jan 2020 10:01:41 -0000 1.9 +++ axppmic.c 6 Feb 2021 20:23:15 -0000 @@ -293,6 +293,7 @@ struct axppmic_device axppmic_devices[] { "x-powers,axp221", "AXP221", axp221_regdata, axp221_sensdata }, { "x-powers,axp223", "AXP223", axp221_regdata, axp221_sensdata }, { "x-powers,axp803", "AXP803", axp803_regdata, axp803_sensdata }, + { "x-powers,axp805", "AXP805", axp806_regdata }, { "x-powers,axp806", "AXP806", axp806_regdata }, { "x-powers,axp809", "AXP809", axp809_regdata, axp221_sensdata } }; @@ -491,7 +492,8 @@ axppmic_attach_common(struct axppmic_sof sc->sc_sensdata = device->sensdata; /* Switch AXP806 into master or slave mode. */ - if (strcmp(name, "x-powers,axp806") == 0) { + if (strcmp(name, "x-powers,axp805") == 0 || + strcmp(name, "x-powers,axp806") == 0) { if (OF_getproplen(node, "x-powers,master-mode") == 0) { axppmic_write_reg(sc, AXP806_REG_ADDR_EXT, AXP806_REG_ADDR_EXT_MASTER_MODE); but on OrangePi One Plus (Allwinner H6), there is something misconfiguration so currently AXP805 is not working with errors. sxitwi0 at simplebus0 iic0 at sxitwi0 axppmic0 at iic0 addr 0x36: AXP805 axppmic0: SMBus write byte to 0xff failed axppmic0: SMBus read byte from 0x17 failed (many errors continues...) -- SASANO Takayoshi (JG1UAA) <u...@mx5.nisiq.net>