Skip to content

Commit

Permalink
ARM: orion5x: Convert MV2120 board to GPIO descriptors for LEDs
Browse files Browse the repository at this point in the history
This makes the LEDs on the MV2120 Orion5x board use GPIO
descriptors instead of hardcoded GPIOs from the global
numberspace.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
  • Loading branch information
Linus Walleij authored and Gregory CLEMENT committed May 5, 2024
1 parent ef48d08 commit 948d1a9
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions arch/arm/mach-orion5x/mv2120-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* License, or (at your option) any later version.
*/
#include <linux/gpio.h>
#include <linux/gpio/machine.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
Expand Down Expand Up @@ -139,34 +140,45 @@ static struct i2c_board_info __initdata mv2120_i2c_rtc = {
static struct gpio_led mv2120_led_pins[] = {
{
.name = "mv2120:blue:health",
.gpio = 0,
},
{
.name = "mv2120:red:health",
.gpio = 1,
},
{
.name = "mv2120:led:bright",
.gpio = 4,
.default_trigger = "default-on",
},
{
.name = "mv2120:led:dimmed",
.gpio = 5,
},
{
.name = "mv2120:red:sata0",
.gpio = 8,
.active_low = 1,
},
{
.name = "mv2120:red:sata1",
.gpio = 9,
.active_low = 1,
},

};

static struct gpiod_lookup_table mv2120_leds_gpio_table = {
.dev_id = "leds-gpio",
.table = {
GPIO_LOOKUP_IDX("orion_gpio0", 0, NULL,
0, GPIO_ACTIVE_HIGH),
GPIO_LOOKUP_IDX("orion_gpio0", 1, NULL,
1, GPIO_ACTIVE_HIGH),
GPIO_LOOKUP_IDX("orion_gpio0", 4, NULL,
2, GPIO_ACTIVE_HIGH),
GPIO_LOOKUP_IDX("orion_gpio0", 5, NULL,
3, GPIO_ACTIVE_HIGH),
GPIO_LOOKUP_IDX("orion_gpio0", 8, NULL,
4, GPIO_ACTIVE_LOW),
GPIO_LOOKUP_IDX("orion_gpio0", 9, NULL,
5, GPIO_ACTIVE_LOW),
{ },
},
};

static struct gpio_led_platform_data mv2120_led_data = {
.leds = mv2120_led_pins,
.num_leds = ARRAY_SIZE(mv2120_led_pins),
Expand Down Expand Up @@ -219,6 +231,7 @@ static void __init mv2120_init(void)
gpio_free(MV2120_GPIO_RTC_IRQ);
}
i2c_register_board_info(0, &mv2120_i2c_rtc, 1);
gpiod_add_lookup_table(&mv2120_leds_gpio_table);
platform_device_register(&mv2120_leds);

/* register mv2120 specific power-off method */
Expand Down

0 comments on commit 948d1a9

Please sign in to comment.