
Hi Alexander,
On 8/9/23 17:16, Alexander Dahl wrote:
Copied dts pieces from Linux Kernel. Support is optional for now, to make it work the following options have to be enabled: CONFIG_LED, CONFIG_LED_GPIO, CONFIG_CMD_LED.
Signed-off-by: Alexander Dahl ada@thorsis.com
.../dts/at91-sam9x60_curiosity-u-boot.dtsi | 18 +++++++++++ arch/arm/dts/at91-sam9x60_curiosity.dts | 30 +++++++++++++++++++ .../sam9x60_curiosity/sam9x60_curiosity.c | 18 +++++++++++
Can you please split the DT changes from the C file changes, namely if you bring changes from Linux, add them in a sync commit indicating the commit from Linux, and the changes to the board in a separate patch.
Thanks !
3 files changed, 66 insertions(+)
diff --git a/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi b/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi index a1b76e94d1..dd4623311c 100644 --- a/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi +++ b/arch/arm/dts/at91-sam9x60_curiosity-u-boot.dtsi @@ -20,6 +20,24 @@ chosen { bootph-all; };
config {
u-boot,boot-led = "blue";
};
leds {
led-red {
default-state = "off";
};
led-green {
default-state = "off";
};
led-blue {
default-state = "off";
};
}; };
&clk32 {
diff --git a/arch/arm/dts/at91-sam9x60_curiosity.dts b/arch/arm/dts/at91-sam9x60_curiosity.dts index 2547b4527c..244cacfe1b 100644 --- a/arch/arm/dts/at91-sam9x60_curiosity.dts +++ b/arch/arm/dts/at91-sam9x60_curiosity.dts @@ -33,6 +33,28 @@ }; };
- leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_leds>;
led-red {
label = "red";
gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
};
led-green {
label = "green";
gpios = <&pioD 19 GPIO_ACTIVE_HIGH>;
};
led-blue {
label = "blue";
gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
- };
- onewire_tm: onewire { gpios = <&pioD 14 GPIO_ACTIVE_HIGH>; pinctrl-names = "default";
@@ -167,6 +189,14 @@ }; };
- leds {
pinctrl_gpio_leds: gpio-leds {
atmel,pins = <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
};
- };
- nand { pinctrl_nand_oe_we: nand-oe-we-0 { atmel,pins =
diff --git a/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c b/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c index 0fe0de9fde..f53d359404 100644 --- a/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c +++ b/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c @@ -9,6 +9,7 @@ #include <debug_uart.h> #include <fdtdec.h> #include <init.h> +#include <led.h> #include <asm/arch/at91_common.h> #include <asm/arch/at91_rstc.h> #include <asm/arch/at91_sfr.h> @@ -18,6 +19,7 @@ #include <asm/global_data.h> #include <asm/io.h> #include <asm/mach-types.h> +#include <dm/ofnode.h>
extern void at91_pda_detect(void);
@@ -27,9 +29,25 @@ void at91_prepare_cpu_var(void);
static void board_leds_init(void) { +#if CONFIG_IS_ENABLED(LED)
- const char *led_name;
- struct udevice *dev;
- int ret;
- led_name = ofnode_conf_read_str("u-boot,boot-led");
- if (!led_name)
return;
- ret = led_get_by_label(led_name, &dev);
- if (ret)
return;
- led_set_state(dev, LEDST_ON);
+#else at91_set_pio_output(AT91_PIO_PORTD, 17, 0); /* LED RED */ at91_set_pio_output(AT91_PIO_PORTD, 19, 0); /* LED GREEN */ at91_set_pio_output(AT91_PIO_PORTD, 21, 1); /* LED BLUE */ +#endif }
int board_late_init(void)