@ -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 ;