leds: aw200xx: Add support for aw20108 device
authorGeorge Stark <gnstark@salutedevices.com>
Sat, 25 Nov 2023 20:05:17 +0000 (23:05 +0300)
committerLee Jones <lee@kernel.org>
Wed, 13 Dec 2023 11:29:01 +0000 (11:29 +0000)
Add support for the Awinic aw20108 device, which belongs to the same LED
drivers family. The new device supports 108 LEDs using a matrix of 12x9
outputs."

Signed-off-by: George Stark <gnstark@salutedevices.com>
Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
Link: https://lore.kernel.org/r/20231125200519.1750-10-ddrokosov@salutedevices.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/leds/Kconfig
drivers/leds/leds-aw200xx.c

index bfa11e7b157f205a64af78d9a84706488709708f..a2a4689e050202a246ea32b7ec5f266c3c1564f0 100644 (file)
@@ -95,14 +95,18 @@ config LEDS_ARIEL
          Say Y to if your machine is a Dell Wyse 3020 thin client.
 
 config LEDS_AW200XX
-       tristate "LED support for Awinic AW20036/AW20054/AW20072"
+       tristate "LED support for Awinic AW20036/AW20054/AW20072/AW20108"
        depends on LEDS_CLASS
        depends on I2C
        help
-         This option enables support for the AW20036/AW20054/AW20072 LED driver.
-         It is a 3x12/6x9/6x12 matrix LED driver programmed via
-         an I2C interface, up to 36/54/72 LEDs or 12/18/24 RGBs,
-         3 pattern controllers for auto breathing or group dimming control.
+         This option enables support for the Awinic AW200XX LED controllers.
+         It is a matrix LED driver programmed via an I2C interface. Devices have
+         a set of individually controlled LEDs and support 3 pattern controllers
+         for auto breathing or group dimming control. Supported devices:
+           - AW20036 (3x12) 36 LEDs
+           - AW20054 (6x9)  54 LEDs
+           - AW20072 (6x12) 72 LEDs
+           - AW20108 (9x12) 108 LEDs
 
          To compile this driver as a module, choose M here: the module
          will be called leds-aw200xx.
index fe9b1565cef00a45beb49b78dadc877fc4f518f6..f584a7f98fc5b8811fc449e8709449ec56e16cb7 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * Awinic AW20036/AW20054/AW20072 LED driver
+ * Awinic AW20036/AW20054/AW20072/AW20108 LED driver
  *
  * Copyright (c) 2023, SberDevices. All Rights Reserved.
  *
@@ -622,10 +622,17 @@ static const struct aw200xx_chipdef aw20072_cdef = {
        .display_size_columns = 12,
 };
 
+static const struct aw200xx_chipdef aw20108_cdef = {
+       .channels = 108,
+       .display_size_rows_max = 9,
+       .display_size_columns = 12,
+};
+
 static const struct i2c_device_id aw200xx_id[] = {
        { "aw20036" },
        { "aw20054" },
        { "aw20072" },
+       { "aw20108" },
        {}
 };
 MODULE_DEVICE_TABLE(i2c, aw200xx_id);
@@ -634,6 +641,7 @@ static const struct of_device_id aw200xx_match_table[] = {
        { .compatible = "awinic,aw20036", .data = &aw20036_cdef, },
        { .compatible = "awinic,aw20054", .data = &aw20054_cdef, },
        { .compatible = "awinic,aw20072", .data = &aw20072_cdef, },
+       { .compatible = "awinic,aw20108", .data = &aw20108_cdef, },
        {}
 };
 MODULE_DEVICE_TABLE(of, aw200xx_match_table);