nios-32 arch was removed back in 2010 (1117cbf
). Code depending on
its headers (nios.h, nios-io.h) can't possibly compile since then.
As it wasn't fixed till now it is safe to remove.
Signed-off-by: Vasili Galka <vvv444@gmail.com>
master
parent
7fae9e2493
commit
5c45f55060
@ -1,204 +0,0 @@ |
||||
/*
|
||||
* (C) Copyright 2003, Li-Pro.Net <www.li-pro.net> |
||||
* Stephan Linz <linz@li-pro.net> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
* |
||||
* common/sevenseg.c |
||||
* |
||||
* NIOS PIO based seven segment led support functions |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <nios-io.h> |
||||
|
||||
#ifdef CONFIG_SEVENSEG |
||||
|
||||
#define SEVENDEG_MASK_DP ((SEVENSEG_DIGIT_DP << 8) | SEVENSEG_DIGIT_DP) |
||||
|
||||
#ifdef SEVENSEG_WRONLY /* emulate read access */ |
||||
#if (SEVENSEG_ACTIVE == 0) |
||||
static unsigned int sevenseg_portval = ~0; |
||||
#else |
||||
static unsigned int sevenseg_portval = 0; |
||||
#endif |
||||
#endif |
||||
|
||||
static int sevenseg_init_done = 0; |
||||
|
||||
static inline void __sevenseg_set_masked (unsigned int mask, int value) |
||||
{ |
||||
nios_pio_t *piop __attribute__((unused)) = (nios_pio_t*)SEVENSEG_BASE; |
||||
|
||||
#ifdef SEVENSEG_WRONLY /* emulate read access */ |
||||
|
||||
#if (SEVENSEG_ACTIVE == 0) |
||||
if (value) |
||||
sevenseg_portval &= ~mask; |
||||
else |
||||
sevenseg_portval |= mask; |
||||
#else |
||||
if (value) |
||||
sevenseg_portval |= mask; |
||||
else |
||||
sevenseg_portval &= ~mask; |
||||
#endif |
||||
|
||||
piop->data = sevenseg_portval; |
||||
|
||||
#else /* !SEVENSEG_WRONLY */ |
||||
|
||||
#if (SEVENSEG_ACTIVE == 0) |
||||
if (value) |
||||
piop->data &= ~mask; |
||||
else |
||||
piop->data |= mask; |
||||
#else |
||||
if (value) |
||||
piop->data |= mask; |
||||
else |
||||
piop->data &= ~mask; |
||||
#endif |
||||
|
||||
#endif /* SEVENSEG_WRONLY */ |
||||
} |
||||
|
||||
static inline void __sevenseg_toggle_masked (unsigned int mask) |
||||
{ |
||||
nios_pio_t *piop = (nios_pio_t*)SEVENSEG_BASE; |
||||
|
||||
#ifdef SEVENSEG_WRONLY /* emulate read access */ |
||||
|
||||
sevenseg_portval ^= mask; |
||||
piop->data = sevenseg_portval; |
||||
|
||||
#else /* !SEVENSEG_WRONLY */ |
||||
|
||||
piop->data ^= mask; |
||||
|
||||
#endif /* SEVENSEG_WRONLY */ |
||||
} |
||||
|
||||
static inline void __sevenseg_set (unsigned int value) |
||||
{ |
||||
nios_pio_t *piop __attribute__((unused)) = (nios_pio_t*)SEVENSEG_BASE; |
||||
|
||||
#ifdef SEVENSEG_WRONLY /* emulate read access */ |
||||
|
||||
#if (SEVENSEG_ACTIVE == 0) |
||||
sevenseg_portval = (sevenseg_portval & SEVENDEG_MASK_DP) |
||||
| ((~value) & (~SEVENDEG_MASK_DP)); |
||||
#else |
||||
sevenseg_portval = (sevenseg_portval & SEVENDEG_MASK_DP) |
||||
| (value); |
||||
#endif |
||||
|
||||
piop->data = sevenseg_portval; |
||||
|
||||
#else /* !SEVENSEG_WRONLY */ |
||||
|
||||
#if (SEVENSEG_ACTIVE == 0) |
||||
piop->data = (piop->data & SEVENDEG_MASK_DP) |
||||
| ((~value) & (~SEVENDEG_MASK_DP)); |
||||
#else |
||||
piop->data = (piop->data & SEVENDEG_MASK_DP) |
||||
| (value); |
||||
#endif |
||||
|
||||
#endif /* SEVENSEG_WRONLY */ |
||||
} |
||||
|
||||
static inline void __sevenseg_init (void) |
||||
{ |
||||
nios_pio_t *piop __attribute__((unused)) = (nios_pio_t*)SEVENSEG_BASE; |
||||
|
||||
__sevenseg_set(0); |
||||
|
||||
#ifndef SEVENSEG_WRONLY /* setup direction */ |
||||
|
||||
piop->direction |= mask; |
||||
|
||||
#endif /* SEVENSEG_WRONLY */ |
||||
} |
||||
|
||||
|
||||
void sevenseg_set(int value) |
||||
{ |
||||
unsigned char digits[] = { |
||||
SEVENSEG_DIGITS_0, |
||||
SEVENSEG_DIGITS_1, |
||||
SEVENSEG_DIGITS_2, |
||||
SEVENSEG_DIGITS_3, |
||||
SEVENSEG_DIGITS_4, |
||||
SEVENSEG_DIGITS_5, |
||||
SEVENSEG_DIGITS_6, |
||||
SEVENSEG_DIGITS_7, |
||||
SEVENSEG_DIGITS_8, |
||||
SEVENSEG_DIGITS_9, |
||||
SEVENSEG_DIGITS_A, |
||||
SEVENSEG_DIGITS_B, |
||||
SEVENSEG_DIGITS_C, |
||||
SEVENSEG_DIGITS_D, |
||||
SEVENSEG_DIGITS_E, |
||||
SEVENSEG_DIGITS_F |
||||
}; |
||||
|
||||
if (!sevenseg_init_done) { |
||||
__sevenseg_init(); |
||||
sevenseg_init_done++; |
||||
} |
||||
|
||||
switch (value & SEVENSEG_MASK_CTRL) { |
||||
|
||||
case SEVENSEG_RAW: |
||||
__sevenseg_set( ( |
||||
(digits[((value & SEVENSEG_MASK_VAL) >> 4)] << 8) | |
||||
digits[((value & SEVENSEG_MASK_VAL) & 0xf)] ) ); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_OFF: |
||||
__sevenseg_set(0); |
||||
__sevenseg_set_masked(SEVENDEG_MASK_DP, 0); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_SET_DPL: |
||||
__sevenseg_set_masked(SEVENSEG_DIGIT_DP, 1); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_SET_DPH: |
||||
__sevenseg_set_masked((SEVENSEG_DIGIT_DP << 8), 1); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_RES_DPL: |
||||
__sevenseg_set_masked(SEVENSEG_DIGIT_DP, 0); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_RES_DPH: |
||||
__sevenseg_set_masked((SEVENSEG_DIGIT_DP << 8), 0); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_TOG_DPL: |
||||
__sevenseg_toggle_masked(SEVENSEG_DIGIT_DP); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_TOG_DPH: |
||||
__sevenseg_toggle_masked((SEVENSEG_DIGIT_DP << 8)); |
||||
return; |
||||
break; /* paranoia */ |
||||
|
||||
case SEVENSEG_LO: |
||||
case SEVENSEG_HI: |
||||
case SEVENSEG_STR: |
||||
default: |
||||
break; |
||||
} |
||||
} |
||||
|
||||
#endif /* CONFIG_SEVENSEG */ |
@ -1,126 +0,0 @@ |
||||
/*
|
||||
* (C) Copyright 2003, Li-Pro.Net <www.li-pro.net> |
||||
* Stephan Linz <linz@li-pro.net> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
* |
||||
* common/sevenseg.h |
||||
* |
||||
* NIOS PIO based seven segment led support functions |
||||
*/ |
||||
|
||||
#ifndef __DK1S10_SEVENSEG_H__ |
||||
#define __DK1S10_SEVENSEG_H__ |
||||
|
||||
#ifdef CONFIG_SEVENSEG |
||||
|
||||
/*
|
||||
* 15 8 7 0 |
||||
* |-----------------------|--------| |
||||
* | controll value | value | |
||||
* ---------------------------------- |
||||
*/ |
||||
#define SEVENSEG_RAW (int)(0) /* write out byte value (hex) */ |
||||
#define SEVENSEG_OFF (int)( 1 << 8) /* display switch off */ |
||||
#define SEVENSEG_SET_DPL (int)( 2 << 8) /* set dp low nibble */ |
||||
#define SEVENSEG_SET_DPH (int)( 3 << 8) /* set dp high nibble */ |
||||
#define SEVENSEG_RES_DPL (int)( 4 << 8) /* reset dp low nibble */ |
||||
#define SEVENSEG_RES_DPH (int)( 5 << 8) /* reset dp high nibble */ |
||||
#define SEVENSEG_TOG_DPL (int)( 6 << 8) /* toggle dp low nibble */ |
||||
#define SEVENSEG_TOG_DPH (int)( 7 << 8) /* toggle dp high nibble */ |
||||
#define SEVENSEG_LO (int)( 8 << 8) /* write out low nibble only */ |
||||
#define SEVENSEG_HI (int)( 9 << 8) /* write out high nibble only */ |
||||
#define SEVENSEG_STR (int)(10 << 8) /* write out a string */ |
||||
|
||||
#define SEVENSEG_MASK_VAL (0xff) /* only used by SEVENSEG_RAW */ |
||||
#define SEVENSEG_MASK_CTRL (~SEVENSEG_MASK_VAL) |
||||
|
||||
#ifdef SEVENSEG_DIGIT_HI_LO_EQUAL |
||||
|
||||
#define SEVENSEG_DIGITS_0 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F ) |
||||
#define SEVENSEG_DIGITS_1 ( SEVENSEG_DIGIT_B \ |
||||
| SEVENSEG_DIGIT_C ) |
||||
#define SEVENSEG_DIGITS_2 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_3 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_4 ( SEVENSEG_DIGIT_B \ |
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_5 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_6 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_7 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_C ) |
||||
#define SEVENSEG_DIGITS_8 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_9 ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_A ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_B \
|
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_B ( SEVENSEG_DIGIT_C \ |
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_C ( SEVENSEG_DIGIT_D \ |
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_D ( SEVENSEG_DIGIT_B \ |
||||
| SEVENSEG_DIGIT_C \
|
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_E ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_D \
|
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
#define SEVENSEG_DIGITS_F ( SEVENSEG_DIGIT_A \ |
||||
| SEVENSEG_DIGIT_E \
|
||||
| SEVENSEG_DIGIT_F \
|
||||
| SEVENSEG_DIGIT_G ) |
||||
|
||||
#else /* !SEVENSEG_DIGIT_HI_LO_EQUAL */ |
||||
#error SEVENSEG: different pin asssignments not supported |
||||
#endif |
||||
|
||||
void sevenseg_set(int value); |
||||
|
||||
#endif /* CONFIG_SEVENSEG */ |
||||
|
||||
#endif /* __DK1S10_SEVENSEG_H__ */ |
Loading…
Reference in new issue