Add AXP15060 support.
authorkettenis <kettenis@openbsd.org>
Mon, 31 Jul 2023 12:23:35 +0000 (12:23 +0000)
committerkettenis <kettenis@openbsd.org>
Mon, 31 Jul 2023 12:23:35 +0000 (12:23 +0000)
ok uaa@

sys/dev/fdt/axppmic.c

index 2a2d9d9..e0311da 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: axppmic.c,v 1.18 2023/07/31 09:00:43 kettenis Exp $   */
+/*     $OpenBSD: axppmic.c,v 1.19 2023/07/31 12:23:35 kettenis Exp $   */
 /*
  * Copyright (c) 2017 Mark Kettenis <kettenis@openbsd.org>
  *
@@ -242,6 +242,53 @@ const struct axppmic_regdata axp809_regdata[] = {
        { NULL }
 };
 
+const struct axppmic_regdata axp15060_regdata[] = {
+       { "dcdc1", 0x10, (1 << 0), (1 << 0), (0 << 0),
+         0x13, 0x1f, 15000000, 100000, 20 },
+       { "dcdc2", 0x10, (1 << 1), (1 << 1), (0 << 1),
+         0x14, 0x7f, 500000, 10000, 71, 1220000, 20000, 17 },
+       { "dcdc3", 0x10, (1 << 2), (1 << 2), (0 << 2),
+         0x15, 0x7f, 500000, 10000, 71, 1220000, 20000, 17 },
+       { "dcdc4", 0x10, (1 << 3), (1 << 3), (0 << 3),
+         0x16, 0x7f, 500000, 10000, 71, 1220000, 20000, 17 },
+       { "dcdc5", 0x10, (1 << 4), (1 << 4), (0 << 4),
+         0x17, 0x7f, 800000, 10000, 33, 1140000, 20000, 36 },
+       { "dcdc6", 0x10, (1 << 5), (1 << 5), (0 << 5),
+         0x18, 0x1f, 500000, 100000, 30 },
+       { "aldo1", 0x11, (1 << 0), (1 << 0), (0 << 0),
+         0x19, 0x1f, 700000, 100000, 27 },
+       { "aldo2", 0x11, (1 << 1), (1 << 1), (0 << 1),
+         0x20, 0x1f, 700000, 100000, 27 },
+       { "aldo3", 0x11, (1 << 2), (1 << 2), (0 << 2),
+         0x21, 0x1f, 700000, 100000, 27 },
+       { "aldo4", 0x11, (1 << 3), (1 << 3), (0 << 3),
+         0x22, 0x1f, 700000, 100000, 27 },
+       { "aldo5", 0x11, (1 << 4), (1 << 4), (0 << 4),
+         0x23, 0x1f, 700000, 100000, 27 },
+       { "bldo1", 0x11, (1 << 5), (1 << 5), (0 << 5),
+         0x24, 0x1f, 700000, 100000, 27 },
+       { "bldo2", 0x11, (1 << 6), (1 << 6), (0 << 6),
+         0x25, 0x1f, 700000, 100000, 27 },
+       { "bldo3", 0x11, (1 << 7), (1 << 7), (0 << 7),
+         0x26, 0x1f, 700000, 100000, 27 },
+       { "bldo4", 0x12, (1 << 0), (1 << 0), (0 << 0),
+         0x27, 0x1f, 700000, 100000, 27 },
+       { "bldo5", 0x12, (1 << 1), (1 << 1), (0 << 1),
+         0x28, 0x1f, 700000, 100000, 27 },
+       { "cldo1", 0x12, (1 << 2), (1 << 2), (0 << 2),
+         0x29, 0x1f, 700000, 100000, 27 },
+       { "cldo2", 0x12, (1 << 3), (1 << 3), (0 << 3),
+         0x2a, 0x1f, 700000, 100000, 27 },
+       { "cldo3", 0x12, (1 << 4), (1 << 4), (0 << 4),
+         0x2b, 0x1f, 700000, 100000, 27 },
+       { "cldo4", 0x12, (1 << 5), (1 << 5), (0 << 5),
+         0x2d, 0x3f, 700000, 100000, 36 },
+       { "cpusldo", 0x12, (1 << 6), (1 << 6), (0 << 6),
+         0x2e, 0x0f, 700000, 50000, 15 },
+       { "sw", 0x12, (1 << 7), (1 << 7), (0 << 7) },
+       { NULL }
+};
+
 /* Sensors for AXP209 and AXP221/AXP809. */
 
 #define AXPPMIC_NSENSORS 12
@@ -310,7 +357,8 @@ const struct axppmic_device axppmic_devices[] = {
        { "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 }
+       { "x-powers,axp809", "AXP809", axp809_regdata, axp221_sensdata },
+       { "x-powers,axp15060", "AXP15060", axp15060_regdata },
 };
 
 const struct axppmic_device *