1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // SPDX-License-Identifier: GPL-2.0+
- /*
- * (C) Copyright 2006
- * Atmel Nordic AB <www.atmel.com>
- * Ulf Samuelsson <ulf@atmel.com>
- *
- * (C) Copyright 2010
- * Andreas Bießmann <andreas@biessmann.org>
- */
- #include <common.h>
- #include <asm/io.h>
- #include <asm/arch/hardware.h>
- #include <asm/arch/clk.h>
- #include <asm/arch/at91_pio.h>
- #include <status_led.h>
- /* bit mask in PIO port B */
- #define GREEN_LED (1<<0)
- #define YELLOW_LED (1<<1)
- #define RED_LED (1<<2)
- void green_led_on(void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- writel(GREEN_LED, &pio->piob.codr);
- }
- void yellow_led_on(void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- writel(YELLOW_LED, &pio->piob.codr);
- }
- void red_led_on(void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- writel(RED_LED, &pio->piob.codr);
- }
- void green_led_off(void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- writel(GREEN_LED, &pio->piob.sodr);
- }
- void yellow_led_off(void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- writel(YELLOW_LED, &pio->piob.sodr);
- }
- void red_led_off(void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- writel(RED_LED, &pio->piob.sodr);
- }
- void coloured_LED_init (void)
- {
- at91_pio_t *pio = (at91_pio_t *)ATMEL_BASE_PIO;
- at91_periph_clk_enable(ATMEL_ID_PIOB);
- /* Disable peripherals on LEDs */
- writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.per);
- /* Enable pins as outputs */
- writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.oer);
- /* Turn all LEDs OFF */
- writel(GREEN_LED | YELLOW_LED | RED_LED, &pio->piob.sodr);
- }
|