uboot/include/status_led.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2000-2004
   3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   4 *
   5 * SPDX-License-Identifier:     GPL-2.0+
   6 */
   7
   8/*
   9 * The purpose of this code is to signal the operational status of a
  10 * target which usually boots over the network; while running in
  11 * PCBoot, a status LED is blinking. As soon as a valid BOOTP reply
  12 * message has been received, the LED is turned off. The Linux
  13 * kernel, once it is running, will start blinking the LED again,
  14 * with another frequency.
  15 */
  16
  17#ifndef _STATUS_LED_H_
  18#define _STATUS_LED_H_
  19
  20#ifdef CONFIG_STATUS_LED
  21
  22#define STATUS_LED_OFF          0
  23#define STATUS_LED_BLINKING     1
  24#define STATUS_LED_ON           2
  25
  26void status_led_init(void);
  27void status_led_tick (unsigned long timestamp);
  28void status_led_set  (int led, int state);
  29
  30/*****  TQM8xxL  ********************************************************/
  31#if defined(CONFIG_TQM8xxL)
  32# define STATUS_LED_PAR         im_cpm.cp_pbpar
  33# define STATUS_LED_DIR         im_cpm.cp_pbdir
  34# define STATUS_LED_ODR         im_cpm.cp_pbodr
  35# define STATUS_LED_DAT         im_cpm.cp_pbdat
  36
  37# define STATUS_LED_BIT         0x00000001
  38# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
  39# define STATUS_LED_STATE       STATUS_LED_BLINKING
  40
  41# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
  42
  43# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
  44
  45/*****  MVS v1  **********************************************************/
  46#elif (defined(CONFIG_MVS) && CONFIG_MVS < 2)
  47# define STATUS_LED_PAR         im_ioport.iop_pdpar
  48# define STATUS_LED_DIR         im_ioport.iop_pddir
  49# undef  STATUS_LED_ODR
  50# define STATUS_LED_DAT         im_ioport.iop_pddat
  51
  52# define STATUS_LED_BIT         0x00000001
  53# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
  54# define STATUS_LED_STATE       STATUS_LED_BLINKING
  55
  56# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
  57
  58# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
  59
  60/*****  Someone else defines these  *************************************/
  61#elif defined(STATUS_LED_PAR)
  62
  63  /*
  64   * ADVICE: Define in your board configuration file rather than
  65   * filling this file up with lots of custom board stuff.
  66   */
  67
  68#elif defined(CONFIG_V38B)
  69
  70# define STATUS_LED_BIT         0x0010                  /* Timer7 GPIO */
  71# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
  72# define STATUS_LED_STATE       STATUS_LED_BLINKING
  73
  74# define STATUS_LED_ACTIVE      0               /* LED on for bit == 0 */
  75# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
  76
  77#elif defined(CONFIG_MOTIONPRO)
  78
  79#define STATUS_LED_BIT          ((vu_long *) MPC5XXX_GPT6_ENABLE)
  80#define STATUS_LED_PERIOD       (CONFIG_SYS_HZ / 10)
  81#define STATUS_LED_STATE        STATUS_LED_BLINKING
  82
  83#define STATUS_LED_BIT1         ((vu_long *) MPC5XXX_GPT7_ENABLE)
  84#define STATUS_LED_PERIOD1      (CONFIG_SYS_HZ / 10)
  85#define STATUS_LED_STATE1       STATUS_LED_OFF
  86
  87#define STATUS_LED_BOOT         0       /* LED 0 used for boot status */
  88
  89#elif defined(CONFIG_BOARD_SPECIFIC_LED)
  90/* led_id_t is unsigned long mask */
  91typedef unsigned long led_id_t;
  92
  93extern void __led_toggle (led_id_t mask);
  94extern void __led_init (led_id_t mask, int state);
  95extern void __led_set (led_id_t mask, int state);
  96void __led_blink(led_id_t mask, int freq);
  97#else
  98# error Status LED configuration missing
  99#endif
 100/************************************************************************/
 101
 102#ifndef CONFIG_BOARD_SPECIFIC_LED
 103# include <asm/status_led.h>
 104#endif
 105
 106#endif  /* CONFIG_STATUS_LED    */
 107
 108/*
 109 * Coloured LEDs API
 110 */
 111#ifndef __ASSEMBLY__
 112void coloured_LED_init(void);
 113void red_led_on(void);
 114void red_led_off(void);
 115void green_led_on(void);
 116void green_led_off(void);
 117void yellow_led_on(void);
 118void yellow_led_off(void);
 119void blue_led_on(void);
 120void blue_led_off(void);
 121#else
 122        .extern LED_init
 123        .extern red_led_on
 124        .extern red_led_off
 125        .extern yellow_led_on
 126        .extern yellow_led_off
 127        .extern green_led_on
 128        .extern green_led_off
 129        .extern blue_led_on
 130        .extern blue_led_off
 131#endif
 132
 133#endif  /* _STATUS_LED_H_       */
 134