mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-05-04 09:31:26 +02:00
realtek: support configurable LED interface mode on RTL930x
Add support for changing the LED mode via the device tree. Currently it always defaults to SERIAL mode. With this change, one can also use the SINGLE_COLOR_SCAN and BI_COLOR_SCAN modes. Signed-off-by: Manuel Stocker <mensi@mensi.ch> Link: https://github.com/openwrt/openwrt/pull/23160 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
07e91bc11a
commit
79a6d2aab2
@ -70,7 +70,7 @@
|
||||
managed = "in-band-status"; \
|
||||
};
|
||||
|
||||
// LED Set mode definitions
|
||||
/* LED Set mode definitions */
|
||||
#define RTL93XX_LED_SET_NONE (0)
|
||||
#define RTL93XX_LED_SET_10G (1 << 0)
|
||||
#define RTL93XX_LED_SET_5G (1 << 1)
|
||||
@ -85,3 +85,8 @@
|
||||
#define RTL93XX_LED_SET_TX (1 << 13)
|
||||
#define RTL93XX_LED_SET_COLLISION (1 << 14)
|
||||
#define RTL93XX_LED_SET_DUPLEX (1 << 15)
|
||||
|
||||
/* LED Interface modes */
|
||||
#define RTL93XX_LED_MODE_SERIAL 1
|
||||
#define RTL93XX_LED_MODE_SINGLE_COLOR_SCAN 2
|
||||
#define RTL93XX_LED_MODE_BI_COLOR_SCAN 3
|
||||
|
||||
@ -2610,6 +2610,7 @@ static void rtl930x_led_init(struct rtl838x_switch_priv *priv)
|
||||
struct device_node *node;
|
||||
struct device *dev = priv->dev;
|
||||
u8 leds_in_set[4] = {};
|
||||
u32 led_mode = 1;
|
||||
u32 pm = 0;
|
||||
|
||||
node = of_find_compatible_node(NULL, NULL, "realtek,rtl9300-leds");
|
||||
@ -2683,8 +2684,9 @@ static void rtl930x_led_init(struct rtl838x_switch_priv *priv)
|
||||
sw_w32_mask(0, set << pos, RTL930X_LED_PORT_FIB_SET_SEL_CTRL(i));
|
||||
}
|
||||
|
||||
/* Set LED mode to serial (0x1) */
|
||||
sw_w32_mask(0x3, 0x1, RTL930X_LED_GLB_CTRL);
|
||||
/* Set LED mode */
|
||||
of_property_read_u32(node, "realtek,led-mode", &led_mode);
|
||||
sw_w32_mask(0x3, led_mode & 0x3, RTL930X_LED_GLB_CTRL);
|
||||
|
||||
/* Set LED active state */
|
||||
if (of_property_read_bool(node, "active-low"))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user