Hans de Goede
9ed55e9ac5
mfd: arizona-spi: Add Android board ACPI table handling
...
x86/ACPI boards with an arizona WM5102 codec ship with either Windows or
Android as factory installed OS.
The ACPI fwnode for the codec on Android boards misses 2 things compared
to the Windows boards (this is hardcoded in the Android board kernels):
1. There is no CLKE ACPI method to enabe the 32 KHz clock the codec needs
for jack-detection.
2. The GPIOs used by the codec are not listed in the fwnode for the codec.
The ACPI tables on x86/ACPI boards shipped with Android being incomplete
happens a lot. The special drivers/platform/x86/x86-android-tablets.c
module contains DMI based per model handling to compensate for this.
This module will enable the 32KHz clock through the pinctrl framework
to fix 1. and it will also register a gpio-lookup table for all GPIOs
needed by the codec + machine driver, including the GPIOs coming from
the codec itself.
Add an arizona_spi_acpi_android_probe() function which waits for the
x86-android-tablets to have set things up before continue with probing
the arizona WM5102 codec.
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220307173844.199135-2-hdegoede@redhat.com
2022-03-23 14:51:51 +00:00
..
2019-06-19 17:09:55 +02:00
2021-06-02 10:51:19 +01:00
2021-06-02 10:51:19 +01:00
2020-11-19 08:34:21 +00:00
2019-06-19 17:09:55 +02:00
2020-03-30 07:35:28 +01:00
2022-03-08 09:44:06 +00:00
2019-05-30 11:29:22 -07:00
2019-05-30 11:29:22 -07:00
2019-06-19 17:09:55 +02:00
2021-02-08 13:54:22 +00:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:25:18 -07:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2022-03-08 09:44:05 +00:00
2021-04-14 16:06:40 +01:00
2022-03-23 14:51:51 +00:00
2021-11-05 14:40:26 +00:00
2019-06-05 17:37:04 +02:00
2021-06-02 10:51:19 +01:00
2022-03-23 14:51:50 +00:00
2020-11-19 08:34:22 +00:00
2021-03-10 11:10:23 +00:00
2021-04-14 16:06:15 +01:00
2022-03-23 14:51:38 +00:00
2020-01-07 10:08:58 +00:00
2020-07-06 08:31:59 +01:00
2021-01-15 13:23:36 +00:00
2021-01-15 13:23:36 +00:00
2021-08-05 14:11:04 +01:00
2020-11-27 08:00:47 +00:00
2019-01-09 16:55:09 +01:00
2021-01-14 13:05:55 +00:00
2021-11-10 11:36:43 -08:00
2020-01-24 07:33:58 +00:00
2019-06-19 17:09:55 +02:00
2019-07-02 12:11:31 +01:00
2019-07-02 12:11:31 +01:00
2019-07-02 12:11:31 +01:00
2019-07-02 12:11:31 +01:00
2019-11-11 08:45:03 +00:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2021-06-02 10:51:17 +01:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2021-06-02 10:51:19 +01:00
2020-11-27 08:00:56 +00:00
2021-11-29 13:17:00 +00:00
2020-11-19 08:34:21 +00:00
2021-11-05 14:40:05 +00:00
2019-05-14 08:13:26 +01:00
2020-11-27 08:01:20 +00:00
2019-07-25 14:21:43 +01:00
2021-08-05 14:19:59 +01:00
2021-11-01 20:18:09 +01:00
2021-11-05 14:40:27 +00:00
2020-09-30 16:25:03 +01:00
2021-04-14 16:03:30 +01:00
2022-03-08 09:44:06 +00:00
2019-09-02 11:05:37 +01:00
2021-08-12 11:39:39 +01:00
2021-02-08 13:54:14 +00:00
2021-06-02 10:50:04 +01:00
2020-08-13 07:50:59 +01:00
2021-10-05 08:56:08 +01:00
2020-11-19 08:34:22 +00:00
2019-06-05 17:37:17 +02:00
2020-04-24 11:18:44 +01:00
2021-08-11 16:00:53 +03:00
2021-06-15 13:14:45 +01:00
2020-11-19 08:34:21 +00:00
2020-11-19 08:34:21 +00:00
2022-03-08 09:44:04 +00:00
2018-10-23 08:58:34 +01:00
2022-03-08 09:44:04 +00:00
2020-08-13 07:50:05 +01:00
2022-03-23 14:51:44 +00:00
2022-03-08 09:44:06 +00:00
2021-12-29 13:17:01 +00:00
2021-12-29 13:17:01 +00:00
2021-07-16 08:55:32 +01:00
2021-08-12 11:39:39 +01:00
2019-11-11 08:45:01 +00:00
2022-02-14 13:07:22 +00:00
2021-11-05 14:40:27 +00:00
2022-03-08 09:44:06 +00:00
2021-06-15 13:13:54 +01:00
2020-09-30 16:24:50 +01:00
2021-04-14 16:03:35 +01:00
2020-07-01 14:54:29 +01:00
2019-02-07 10:44:00 +00:00
2020-08-13 07:50:59 +01:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2020-11-19 08:34:21 +00:00
2021-06-02 10:50:00 +01:00
2021-07-20 15:46:51 +01:00
2021-09-07 08:44:07 +01:00
2020-11-19 08:34:22 +00:00
2020-06-18 11:23:15 +01:00
2019-07-02 12:11:31 +01:00
2019-07-15 20:18:40 -07:00
2022-03-08 09:44:06 +00:00
2021-06-15 13:18:58 +01:00
2020-11-19 08:34:21 +00:00
2019-08-12 08:54:10 +01:00
2018-10-23 08:58:34 +01:00
2021-06-02 10:51:17 +01:00
2018-10-23 08:58:34 +01:00
2021-06-02 10:51:17 +01:00
2021-11-05 14:40:06 +00:00
2020-05-26 10:51:21 +01:00
2020-11-27 08:01:46 +00:00
2022-03-07 13:54:24 +00:00
2021-11-05 14:40:06 +00:00
2022-03-07 13:54:44 +00:00
2019-08-12 08:54:05 +01:00
2022-03-07 14:00:27 +00:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2021-07-21 11:53:42 +02:00
2021-02-08 13:54:10 +00:00
2020-11-19 12:50:12 +01:00
2019-05-30 11:26:32 -07:00
2021-11-05 14:40:25 +00:00
2021-11-05 14:40:25 +00:00
2020-05-26 10:41:40 +01:00
2022-03-07 14:59:44 +00:00
2021-07-16 09:00:45 +01:00
2021-06-02 10:49:59 +01:00
2020-05-21 08:54:40 +01:00
2020-08-23 17:36:59 -05:00
2021-04-14 16:06:29 +01:00
2021-06-02 10:50:03 +01:00
2021-06-02 10:50:03 +01:00
2019-08-12 08:54:16 +01:00
2019-05-30 11:26:32 -07:00
2021-06-15 13:03:21 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-08-12 11:29:47 +01:00
2021-11-05 14:40:25 +00:00
2021-06-02 10:51:17 +01:00
2021-11-05 14:40:27 +00:00
2020-08-23 17:36:59 -05:00
2019-05-30 11:29:52 -07:00
2019-05-30 11:29:52 -07:00
2020-11-19 08:34:21 +00:00
2020-11-19 08:34:21 +00:00
2022-03-08 09:44:05 +00:00
2021-06-02 10:50:00 +01:00
2021-04-14 10:17:53 +01:00
2021-03-10 10:58:33 +00:00
2021-04-14 10:19:08 +01:00
2021-07-13 12:20:44 +01:00
2021-07-13 12:20:44 +01:00
2021-07-13 12:20:44 +01:00
2021-07-13 12:20:44 +01:00
2021-06-02 10:50:01 +01:00
2020-11-27 08:02:02 +00:00
2021-06-02 10:51:18 +01:00
2021-11-05 14:40:06 +00:00
2021-06-02 10:50:04 +01:00
2021-06-02 10:50:04 +01:00
2019-06-05 17:36:37 +02:00
2022-02-08 09:27:22 +00:00
2021-08-16 13:45:34 +01:00
2020-07-01 10:40:11 +01:00
2021-06-15 13:02:53 +01:00
2021-11-05 14:40:25 +00:00
2019-06-05 17:36:37 +02:00
2022-03-08 09:44:05 +00:00
2020-06-18 11:19:49 +01:00
2021-04-14 16:06:26 +01:00
2022-03-08 09:44:05 +00:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2021-11-29 13:17:00 +00:00
2021-11-05 14:40:26 +00:00
2020-05-26 10:51:20 +01:00
2019-05-30 11:29:22 -07:00
2020-11-27 08:02:27 +00:00
2021-06-02 10:51:19 +01:00
2021-09-07 08:34:08 +01:00
2021-06-02 10:51:19 +01:00
2021-08-05 12:41:06 +01:00
2020-11-19 08:34:21 +00:00
2020-11-19 08:34:21 +00:00
2021-11-05 14:40:02 +00:00
2019-07-09 08:59:39 -07:00
2021-06-15 13:02:18 +01:00
2019-05-30 11:29:19 -07:00
2019-06-19 17:09:55 +02:00
2019-11-20 17:10:36 +00:00
2020-11-19 08:34:21 +00:00
2020-07-06 08:32:02 +01:00
2021-08-16 13:40:54 +01:00
2020-11-19 08:34:21 +00:00
2020-11-19 08:34:21 +00:00
2020-08-13 07:50:59 +01:00
2021-12-29 13:36:16 +00:00
2020-11-19 08:34:22 +00:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2021-11-05 14:40:26 +00:00
2021-08-16 13:50:12 +01:00
2019-06-05 17:37:07 +02:00
2020-07-06 08:31:53 +01:00
2020-11-27 08:02:52 +00:00
2019-06-05 17:37:07 +02:00
2021-06-02 10:50:03 +01:00
2021-06-15 13:02:01 +01:00
2019-05-30 11:29:19 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2020-05-13 12:42:46 -05:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2021-11-05 14:40:27 +00:00
2019-06-05 17:37:07 +02:00
2019-05-30 11:26:32 -07:00
2021-02-08 13:54:40 +00:00
2021-06-15 12:53:38 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2021-06-15 13:01:45 +01:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2020-07-06 08:31:57 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2020-07-06 08:31:56 +01:00
2020-11-27 08:02:35 +00:00
2021-08-05 12:41:06 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-11-11 08:45:02 +00:00