mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 02:15:45 +01:00 
			
		
		
		
	Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
		
			
				
	
	
		
			47 lines
		
	
	
		
			882 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			882 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (C) Copyright 2004, Psyent Corporation <www.psyent.com>
 | |
|  * Scott McNutt <smcnutt@psyent.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+ 
 | |
|  */
 | |
| 
 | |
| #include <common.h>
 | |
| #include <asm/io.h>
 | |
| #include <nios2-io.h>
 | |
| #include <status_led.h>
 | |
| 
 | |
| /* The LED port is configured as output only, so we
 | |
|  * must track the state manually.
 | |
|  */
 | |
| static led_id_t val = 0;
 | |
| 
 | |
| void __led_init (led_id_t mask, int state)
 | |
| {
 | |
| 	nios_pio_t *pio = (nios_pio_t *)CONFIG_SYS_LEDPIO_ADDR;
 | |
| 
 | |
| 	if (state == STATUS_LED_ON)
 | |
| 		val &= ~mask;
 | |
| 	else
 | |
| 		val |= mask;
 | |
| 	writel (val, &pio->data);
 | |
| }
 | |
| 
 | |
| void __led_set (led_id_t mask, int state)
 | |
| {
 | |
| 	nios_pio_t *pio = (nios_pio_t *)CONFIG_SYS_LEDPIO_ADDR;
 | |
| 
 | |
| 	if (state == STATUS_LED_ON)
 | |
| 		val &= ~mask;
 | |
| 	else
 | |
| 		val |= mask;
 | |
| 	writel (val, &pio->data);
 | |
| }
 | |
| 
 | |
| void __led_toggle (led_id_t mask)
 | |
| {
 | |
| 	nios_pio_t *pio = (nios_pio_t *)CONFIG_SYS_LEDPIO_ADDR;
 | |
| 
 | |
| 	val ^= mask;
 | |
| 	writel (val, &pio->data);
 | |
| }
 |