mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
stm32f746: to switch on user LED1 & read user button
All discovery boards have one user button & one user LED. Here we are just reading the button status & switching ON the user LED. Signed-off-by: Vikas Manocha <vikas.manocha@st.com> cc: Christophe KERELLO <christophe.kerello@st.com>
This commit is contained in:
parent
280057bd7d
commit
2f80a9f72e
3 changed files with 48 additions and 0 deletions
|
@ -78,6 +78,16 @@
|
|||
gpio9 = &gpioj;
|
||||
gpio10 = &gpiok;
|
||||
};
|
||||
|
||||
led1 {
|
||||
compatible = "st,led1";
|
||||
led-gpio = <&gpioi 1 0>;
|
||||
};
|
||||
|
||||
button1 {
|
||||
compatible = "st,button1";
|
||||
button-gpio = <&gpioi 11 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&clk_hse {
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <asm/arch/stm32_periph.h>
|
||||
#include <asm/arch/stm32_defs.h>
|
||||
#include <asm/arch/syscfg.h>
|
||||
#include <asm/gpio.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
|
@ -72,6 +73,42 @@ u32 get_board_rev(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int board_late_init(void)
|
||||
{
|
||||
struct gpio_desc gpio = {};
|
||||
int node;
|
||||
|
||||
node = fdt_node_offset_by_compatible(gd->fdt_blob, 0, "st,led1");
|
||||
if (node < 0)
|
||||
return -1;
|
||||
|
||||
gpio_request_by_name_nodev(gd->fdt_blob, node, "led-gpio", 0, &gpio,
|
||||
GPIOD_IS_OUT);
|
||||
|
||||
if (dm_gpio_is_valid(&gpio)) {
|
||||
dm_gpio_set_value(&gpio, 0);
|
||||
mdelay(10);
|
||||
dm_gpio_set_value(&gpio, 1);
|
||||
}
|
||||
|
||||
/* read button 1*/
|
||||
node = fdt_node_offset_by_compatible(gd->fdt_blob, 0, "st,button1");
|
||||
if (node < 0)
|
||||
return -1;
|
||||
|
||||
gpio_request_by_name_nodev(gd->fdt_blob, node, "button-gpio", 0, &gpio,
|
||||
GPIOD_IS_IN);
|
||||
|
||||
if (dm_gpio_is_valid(&gpio)) {
|
||||
if (dm_gpio_get_value(&gpio))
|
||||
puts("usr button is at HIGH LEVEL\n");
|
||||
else
|
||||
puts("usr button is at LOW LEVEL\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
|
||||
|
|
|
@ -75,4 +75,5 @@
|
|||
|
||||
#define CONFIG_CMD_MEM
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_BOARD_LATE_INIT
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
Loading…
Reference in a new issue