mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-18 06:15:12 +00:00
soc: arm code changes for 6.10
The code changes are fairly minimal, there is a bit of conversion of the old orion5x platform to modern gpio descriptors, the Kconfig entry for the added EN7581 platform and a sysfs change for the i.MX PMU device. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY+NV8ACgkQYKtH/8kJ UifY2RAAqvYWec0uzJDgUPuJCh3OL7XnpV8UvdUdc9IK4JBbXl/KPRj0m3qY1c+G uhRJ9lDYsEUd0bs3KI/qSSZ2sFmkO4TxpBEbaENCRSolW1hRWzO6a9Opiqfvyvnq 5u1hBJ2QNuVovfcAtdLkS63mafIn5m+RzuQELwcbSllCxWlfUJDnOF1ABDr6JhZ2 YF7bzdJCpTP6NGUuiG0fOk9/k573Y4xJw99h/B2+qSNA/MQrVwEZ6AcVGogRsYf+ ySpFX7itMqUCne77ULKUdP3T29+H+0y3oBln+5lxeqKpDrFBLXov5+JhRpUuhYza FNwbf9FzGpO1hTpO/pXj+IjvUj9CLn9FB/papTSh+Hnm4VNWfYEU3AG4yUlhDIdt 8ANZKL9hw4kevYFTUpP4aG/5sRu4iFLdXtMUaASSJrr9D+UH0ZEs28rqpSdnKb7D UMi7r9/yXHxIpSqLbB7RntyRZdD0Nmq78TvKRYIzZSfVb0L48YEInYS32RC1BvKY kNL5F48QHHqCktA144QaR1t0m1YAx35BignTGDZ7oL5qMvlcQvbDKL/3BzqEfqBt CnGrsErOsTrH4/jdlTn7EMrtHag/ksJqbWkh/09kQZYyaQUOpm/1SL6Pgdb/7RqN 1jmlBAZrKFDEccjetMFnXIhaxuWOR1saWrjLgTuwctZKfEUBdmk= =zzwg -----END PGP SIGNATURE----- Merge tag 'soc-arm-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM SoC code changes from Arnd Bergmann: "The code changes are fairly minimal, there is a bit of conversion of the old orion5x platform to modern gpio descriptors, the Kconfig entry for the added EN7581 platform and a sysfs change for the i.MX PMU device" * tag 'soc-arm-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: arm64: add Airoha EN7581 platform ARM: orion5x: Convert TS409 board to GPIO descriptors for LEDs ARM: orion5x: Convert Net2big board to GPIO descriptors for LEDs ARM: orion5x: Convert MV2120 board to GPIO descriptors for LEDs ARM: orion5x: Convert DNS323 board to GPIO descriptors for LEDs ARM: orion5x: Convert D2Net board to GPIO descriptors for LEDs ARM: imx: Assign parents for mmdc event_source devices
This commit is contained in:
commit
0c2212926d
@ -437,6 +437,7 @@ static int mmdc_pmu_init(struct mmdc_pmu *pmu_mmdc,
|
||||
{
|
||||
*pmu_mmdc = (struct mmdc_pmu) {
|
||||
.pmu = (struct pmu) {
|
||||
.parent = dev,
|
||||
.task_ctx_nr = perf_invalid_context,
|
||||
.attr_groups = attr_groups,
|
||||
.event_init = mmdc_pmu_event_init,
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include <linux/irq.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/pci.h>
|
||||
@ -55,12 +56,9 @@ static struct gpio_led d2net_leds[] = {
|
||||
{
|
||||
.name = "d2net:blue:sata",
|
||||
.default_trigger = "default-on",
|
||||
.gpio = D2NET_GPIO_BLUE_LED_OFF,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
.name = "d2net:red:fail",
|
||||
.gpio = D2NET_GPIO_RED_LED,
|
||||
},
|
||||
};
|
||||
|
||||
@ -77,6 +75,17 @@ static struct platform_device d2net_gpio_leds = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table d2net_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", D2NET_GPIO_BLUE_LED_OFF, NULL,
|
||||
0, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", D2NET_GPIO_RED_LED, NULL,
|
||||
1, GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static void __init d2net_gpio_leds_init(void)
|
||||
{
|
||||
int err;
|
||||
@ -91,6 +100,7 @@ static void __init d2net_gpio_leds_init(void)
|
||||
if (err)
|
||||
pr_err("d2net: failed to configure blue LED blink GPIO\n");
|
||||
|
||||
gpiod_add_lookup_table(&d2net_leds_gpio_table);
|
||||
platform_device_register(&d2net_gpio_leds);
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
*
|
||||
*/
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/delay.h>
|
||||
@ -254,37 +255,64 @@ error_fail:
|
||||
static struct gpio_led dns323ab_leds[] = {
|
||||
{
|
||||
.name = "power:blue",
|
||||
.gpio = DNS323_GPIO_LED_POWER2,
|
||||
.default_trigger = "default-on",
|
||||
}, {
|
||||
.name = "right:amber",
|
||||
.gpio = DNS323_GPIO_LED_RIGHT_AMBER,
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.name = "left:amber",
|
||||
.gpio = DNS323_GPIO_LED_LEFT_AMBER,
|
||||
.active_low = 1,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table dns323a1_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323_GPIO_LED_POWER2, NULL,
|
||||
0, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323_GPIO_LED_RIGHT_AMBER, NULL,
|
||||
1, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323_GPIO_LED_LEFT_AMBER, NULL,
|
||||
2, GPIO_ACTIVE_LOW),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
/* B1 is the same but power LED is active high */
|
||||
static struct gpiod_lookup_table dns323b1_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323_GPIO_LED_POWER2, NULL,
|
||||
0, GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323_GPIO_LED_RIGHT_AMBER, NULL,
|
||||
1, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323_GPIO_LED_LEFT_AMBER, NULL,
|
||||
2, GPIO_ACTIVE_LOW),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpio_led dns323c_leds[] = {
|
||||
{
|
||||
.name = "power:blue",
|
||||
.gpio = DNS323C_GPIO_LED_POWER,
|
||||
.default_trigger = "timer",
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.name = "right:amber",
|
||||
.gpio = DNS323C_GPIO_LED_RIGHT_AMBER,
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.name = "left:amber",
|
||||
.gpio = DNS323C_GPIO_LED_LEFT_AMBER,
|
||||
.active_low = 1,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table dns323c_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323C_GPIO_LED_POWER, NULL,
|
||||
0, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323C_GPIO_LED_RIGHT_AMBER, NULL,
|
||||
1, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", DNS323C_GPIO_LED_LEFT_AMBER, NULL,
|
||||
2, GPIO_ACTIVE_LOW),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpio_led_platform_data dns323ab_led_data = {
|
||||
.num_leds = ARRAY_SIZE(dns323ab_leds),
|
||||
@ -621,16 +649,21 @@ static void __init dns323_init(void)
|
||||
/* The 5181 power LED is active low and requires
|
||||
* DNS323_GPIO_LED_POWER1 to also be low.
|
||||
*/
|
||||
dns323ab_leds[0].active_low = 1;
|
||||
gpio_request(DNS323_GPIO_LED_POWER1, "Power Led Enable");
|
||||
gpio_direction_output(DNS323_GPIO_LED_POWER1, 0);
|
||||
fallthrough;
|
||||
gpiod_add_lookup_table(&dns323a1_leds_gpio_table);
|
||||
gpio_request(DNS323_GPIO_LED_POWER1, "Power Led Enable");
|
||||
gpio_direction_output(DNS323_GPIO_LED_POWER1, 0);
|
||||
i2c_register_board_info(0, dns323ab_i2c_devices,
|
||||
ARRAY_SIZE(dns323ab_i2c_devices));
|
||||
|
||||
break;
|
||||
case DNS323_REV_B1:
|
||||
gpiod_add_lookup_table(&dns323b1_leds_gpio_table);
|
||||
i2c_register_board_info(0, dns323ab_i2c_devices,
|
||||
ARRAY_SIZE(dns323ab_i2c_devices));
|
||||
break;
|
||||
case DNS323_REV_C1:
|
||||
/* Hookup LEDs & Buttons */
|
||||
gpiod_add_lookup_table(&dns323c_leds_gpio_table);
|
||||
dns323_gpio_leds.dev.platform_data = &dns323c_led_data;
|
||||
dns323_button_device.dev.platform_data = &dns323c_button_data;
|
||||
|
||||
|
@ -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>
|
||||
@ -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),
|
||||
@ -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 */
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/ata_platform.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <linux/delay.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@ -214,19 +215,30 @@ err_free_1:
|
||||
static struct gpio_led net2big_leds[] = {
|
||||
{
|
||||
.name = "net2big:red:power",
|
||||
.gpio = NET2BIG_GPIO_PWR_RED_LED,
|
||||
},
|
||||
{
|
||||
.name = "net2big:blue:power",
|
||||
.gpio = NET2BIG_GPIO_PWR_BLUE_LED,
|
||||
},
|
||||
{
|
||||
.name = "net2big:red:sata0",
|
||||
.gpio = NET2BIG_GPIO_SATA0_RED_LED,
|
||||
},
|
||||
{
|
||||
.name = "net2big:red:sata1",
|
||||
.gpio = NET2BIG_GPIO_SATA1_RED_LED,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table net2big_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", NET2BIG_GPIO_PWR_RED_LED, NULL,
|
||||
0, GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", NET2BIG_GPIO_PWR_BLUE_LED, NULL,
|
||||
1, GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", NET2BIG_GPIO_SATA0_RED_LED, NULL,
|
||||
2, GPIO_ACTIVE_HIGH),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", NET2BIG_GPIO_SATA1_RED_LED, NULL,
|
||||
3, GPIO_ACTIVE_HIGH),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
@ -282,6 +294,7 @@ static void __init net2big_gpio_leds_init(void)
|
||||
if (err)
|
||||
pr_err("net2big: failed to setup SATA1 blue LED GPIO\n");
|
||||
|
||||
gpiod_add_lookup_table(&net2big_leds_gpio_table);
|
||||
platform_device_register(&net2big_gpio_leds);
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
* Copyright (C) 2008 Martin Michlmayr <tbm@cyrius.com>
|
||||
*/
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
@ -168,20 +169,27 @@ static struct i2c_board_info __initdata qnap_ts409_i2c_rtc = {
|
||||
static struct gpio_led ts409_led_pins[] = {
|
||||
{
|
||||
.name = "ts409:red:sata1",
|
||||
.gpio = 4,
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.name = "ts409:red:sata2",
|
||||
.gpio = 5,
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.name = "ts409:red:sata3",
|
||||
.gpio = 6,
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.name = "ts409:red:sata4",
|
||||
.gpio = 7,
|
||||
.active_low = 1,
|
||||
},
|
||||
};
|
||||
|
||||
static struct gpiod_lookup_table ts409_leds_gpio_table = {
|
||||
.dev_id = "leds-gpio",
|
||||
.table = {
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", 4, NULL,
|
||||
0, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", 5, NULL,
|
||||
1, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", 6, NULL,
|
||||
2, GPIO_ACTIVE_LOW),
|
||||
GPIO_LOOKUP_IDX("orion_gpio0", 7, NULL,
|
||||
3, GPIO_ACTIVE_LOW),
|
||||
{ },
|
||||
},
|
||||
};
|
||||
|
||||
@ -300,6 +308,7 @@ static void __init qnap_ts409_init(void)
|
||||
if (qnap_ts409_i2c_rtc.irq == 0)
|
||||
pr_warn("qnap_ts409_init: failed to get RTC IRQ\n");
|
||||
i2c_register_board_info(0, &qnap_ts409_i2c_rtc, 1);
|
||||
gpiod_add_lookup_table(&ts409_leds_gpio_table);
|
||||
platform_device_register(&ts409_leds);
|
||||
|
||||
/* register tsx09 specific power-off method */
|
||||
|
@ -8,6 +8,13 @@ config ARCH_ACTIONS
|
||||
help
|
||||
This enables support for the Actions Semiconductor S900 SoC family.
|
||||
|
||||
config ARCH_AIROHA
|
||||
bool "Airoha SoC Support"
|
||||
select ARM_PSCI
|
||||
select HAVE_ARM_ARCH_TIMER
|
||||
help
|
||||
This enables support for the ARM64 based Airoha SoCs.
|
||||
|
||||
config ARCH_SUNXI
|
||||
bool "Allwinner sunxi 64-bit SoC Family"
|
||||
select ARCH_HAS_RESET_CONTROLLER
|
||||
|
Loading…
x
Reference in New Issue
Block a user