X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fstatus_led.h;h=5b3570166db5f23f0d8972cb1fffbc95a2a7efc3;hb=901af3e903c09c7681197a03367d82286f9f6e3f;hp=27f4bdfa8773b36233f7bdc57136c655d5908e5c;hpb=2ed3f9114300b1f11f1f30d9d2478146afc3af0e;p=u-boot diff --git a/include/status_led.h b/include/status_led.h index 27f4bdfa87..5b3570166d 100644 --- a/include/status_led.h +++ b/include/status_led.h @@ -1,8 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2000-2004 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * SPDX-License-Identifier: GPL-2.0+ */ /* @@ -17,104 +16,63 @@ #ifndef _STATUS_LED_H_ #define _STATUS_LED_H_ -#ifdef CONFIG_STATUS_LED - -#define STATUS_LED_OFF 0 -#define STATUS_LED_BLINKING 1 -#define STATUS_LED_ON 2 - +#ifdef CONFIG_LED_STATUS + +#define LED_STATUS_PERIOD (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ) +#ifdef CONFIG_LED_STATUS1 +#define LED_STATUS_PERIOD1 (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ1) +#endif /* CONFIG_LED_STATUS1 */ +#ifdef CONFIG_LED_STATUS2 +#define LED_STATUS_PERIOD2 (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ2) +#endif /* CONFIG_LED_STATUS2 */ +#ifdef CONFIG_LED_STATUS3 +#define LED_STATUS_PERIOD3 (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ3) +#endif /* CONFIG_LED_STATUS3 */ +#ifdef CONFIG_LED_STATUS4 +#define LED_STATUS_PERIOD4 (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ4) +#endif /* CONFIG_LED_STATUS4 */ +#ifdef CONFIG_LED_STATUS5 +#define LED_STATUS_PERIOD5 (CONFIG_SYS_HZ / CONFIG_LED_STATUS_FREQ5) +#endif /* CONFIG_LED_STATUS5 */ + +void status_led_init(void); void status_led_tick (unsigned long timestamp); void status_led_set (int led, int state); -/***** TQM8xxL ********************************************************/ -#if defined(CONFIG_TQM8xxL) -# define STATUS_LED_PAR im_cpm.cp_pbpar -# define STATUS_LED_DIR im_cpm.cp_pbdir -# define STATUS_LED_ODR im_cpm.cp_pbodr -# define STATUS_LED_DAT im_cpm.cp_pbdat - -# define STATUS_LED_BIT 0x00000001 -# define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) -# define STATUS_LED_STATE STATUS_LED_BLINKING - -# define STATUS_LED_ACTIVE 1 /* LED on for bit == 1 */ - -# define STATUS_LED_BOOT 0 /* LED 0 used for boot status */ - /***** MVS v1 **********************************************************/ -#elif (defined(CONFIG_MVS) && CONFIG_MVS < 2) +#if (defined(CONFIG_MVS) && CONFIG_MVS < 2) # define STATUS_LED_PAR im_ioport.iop_pdpar # define STATUS_LED_DIR im_ioport.iop_pddir # undef STATUS_LED_ODR # define STATUS_LED_DAT im_ioport.iop_pddat -# define STATUS_LED_BIT 0x00000001 -# define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) -# define STATUS_LED_STATE STATUS_LED_BLINKING - # define STATUS_LED_ACTIVE 1 /* LED on for bit == 1 */ -# define STATUS_LED_BOOT 0 /* LED 0 used for boot status */ - /***** Someone else defines these *************************************/ #elif defined(STATUS_LED_PAR) - /* * ADVICE: Define in your board configuration file rather than * filling this file up with lots of custom board stuff. */ -/***** CMI ********************************************************/ -#elif defined(CONFIG_CMI) -# define STATUS_LED_DIR im_mios.mios_mpiosm32ddr -# define STATUS_LED_DAT im_mios.mios_mpiosm32dr - -# define STATUS_LED_BIT 0x2000 /* Select one of the 16 possible*/ - /* MIOS outputs */ -# define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) /* Blinking periode is 500 ms */ -# define STATUS_LED_STATE STATUS_LED_BLINKING - -# define STATUS_LED_ACTIVE 1 /* LED on for bit == 0 */ -# define STATUS_LED_BOOT 0 /* LED 0 used for boot status */ - -#elif defined(CONFIG_V38B) - -# define STATUS_LED_BIT 0x0010 /* Timer7 GPIO */ -# define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2) -# define STATUS_LED_STATE STATUS_LED_BLINKING - -# define STATUS_LED_ACTIVE 0 /* LED on for bit == 0 */ -# define STATUS_LED_BOOT 0 /* LED 0 used for boot status */ - -#elif defined(CONFIG_MOTIONPRO) - -#define STATUS_LED_BIT ((vu_long *) MPC5XXX_GPT6_ENABLE) -#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 10) -#define STATUS_LED_STATE STATUS_LED_BLINKING - -#define STATUS_LED_BIT1 ((vu_long *) MPC5XXX_GPT7_ENABLE) -#define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 10) -#define STATUS_LED_STATE1 STATUS_LED_OFF - -#define STATUS_LED_BOOT 0 /* LED 0 used for boot status */ - -#elif defined(CONFIG_BOARD_SPECIFIC_LED) +#elif defined(CONFIG_LED_STATUS_BOARD_SPECIFIC) /* led_id_t is unsigned long mask */ typedef unsigned long led_id_t; extern void __led_toggle (led_id_t mask); extern void __led_init (led_id_t mask, int state); extern void __led_set (led_id_t mask, int state); +void __led_blink(led_id_t mask, int freq); #else # error Status LED configuration missing #endif /************************************************************************/ -#ifndef CONFIG_BOARD_SPECIFIC_LED +#ifndef CONFIG_LED_STATUS_BOARD_SPECIFIC # include #endif -#endif /* CONFIG_STATUS_LED */ +#endif /* CONFIG_LED_STATUS */ /* * Coloured LEDs API