mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-27 00:51:50 +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;
|
gpio9 = &gpioj;
|
||||||
gpio10 = &gpiok;
|
gpio10 = &gpiok;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
led1 {
|
||||||
|
compatible = "st,led1";
|
||||||
|
led-gpio = <&gpioi 1 0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
button1 {
|
||||||
|
compatible = "st,button1";
|
||||||
|
button-gpio = <&gpioi 11 0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&clk_hse {
|
&clk_hse {
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <asm/arch/stm32_periph.h>
|
#include <asm/arch/stm32_periph.h>
|
||||||
#include <asm/arch/stm32_defs.h>
|
#include <asm/arch/stm32_defs.h>
|
||||||
#include <asm/arch/syscfg.h>
|
#include <asm/arch/syscfg.h>
|
||||||
|
#include <asm/gpio.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -72,6 +73,42 @@ u32 get_board_rev(void)
|
||||||
return 0;
|
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)
|
int board_init(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
|
gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
|
||||||
|
|
|
@ -75,4 +75,5 @@
|
||||||
|
|
||||||
#define CONFIG_CMD_MEM
|
#define CONFIG_CMD_MEM
|
||||||
#define CONFIG_CMD_CACHE
|
#define CONFIG_CMD_CACHE
|
||||||
|
#define CONFIG_BOARD_LATE_INIT
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue