On Wed, Dec 27, 2017 at 09:37:12AM +0800, Kevin Lo wrote: > On Tue, Dec 26, 2017 at 06:20:59PM +0100, Mark Kettenis wrote: > > > > > Date: Tue, 26 Dec 2017 22:51:38 +0800 > > > From: Kevin Lo <ke...@openbsd.org> > > > > > > > Shouldn't be too difficult to add support for that one to axppmic(4). > > > > Do you want me to create a diff for you to test? > > > > > > That'd be great, thanks. Testing is easier than writing code :) > > > > Here's a diff. Should give you a couple of sensors and working > > regulators. That might make the on-board eMMC work. > > > > Thanks, but I keep getting these messages: > > axppmic0 at sxirsb0 addr 0x3a3: AXP223 > sxirsb0: RD8 failed for run-time address 0x2d > sxirsb0: RD8 failed for run-time address 0x2d > sxirsb0: WR8 failed for run-time address 0x2d > sxirsb0: RD8 failed for run-time address 0x2d > sxirsb0: RD8 failed for run-time address 0x2d > ... >
Hi, did you try adding anything like in the diff below? the output might help kettenis@ to help you:) -Artturi diff --git a/sys/dev/fdt/sxirsb.c b/sys/dev/fdt/sxirsb.c index 6136e2a4359..8ab54923a4a 100644 --- a/sys/dev/fdt/sxirsb.c +++ b/sys/dev/fdt/sxirsb.c @@ -267,8 +267,8 @@ rsb_read_1(void *cookie, uint8_t rta, uint8_t addr) HWRITE4(sc, RSB_AR, addr); if (sxirsb_do_trans(sc)) { - printf("%s: RD8 failed for run-time address 0x%02x\n", - sc->sc_dev.dv_xname, rta); + printf("%s: RD8 failed for run-time address 0x%02x " + "addr 0x%02x\n", sc->sc_dev.dv_xname, rta, addr); return 0xff; } @@ -285,8 +285,8 @@ rsb_read_2(void *cookie, uint8_t rta, uint8_t addr) HWRITE4(sc, RSB_AR, addr); if (sxirsb_do_trans(sc)) { - printf("%s: RD16 failed for run-time address 0x%02x\n", - sc->sc_dev.dv_xname, rta); + printf("%s: RD16 failed for run-time address 0x%02x " + "addr 0x%02x\n", sc->sc_dev.dv_xname, rta, addr); return 0xff; } @@ -304,8 +304,8 @@ rsb_write_1(void *cookie, uint8_t rta, uint8_t addr, uint8_t data) HWRITE4(sc, RSB_DATA, data); if (sxirsb_do_trans(sc)) { - printf("%s: WR8 failed for run-time address 0x%02x\n", - sc->sc_dev.dv_xname, rta); + printf("%s: WR8 failed for run-time address 0x%02x " + "addr 0x%02x\n", sc->sc_dev.dv_xname, rta, addr); return; } } @@ -321,8 +321,8 @@ rsb_write_2(void *cookie, uint8_t rta, uint8_t addr, uint16_t data) HWRITE4(sc, RSB_DATA, data); if (sxirsb_do_trans(sc)) { - printf("%s: WR16 failed for run-time address 0x%02x\n", - sc->sc_dev.dv_xname, rta); + printf("%s: WR16 failed for run-time address 0x%02x " + "addr 0x%02x\n", sc->sc_dev.dv_xname, rta, addr); return; } }