mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-10 20:11:36 +01:00
ARM: kirkwood: SBx81LIFKW: remove direct access of GPIO registers
Replace code that accessed the GPIO registers directly with code that makes use of the LED_GPIO driver. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
c8ef618ae1
commit
d1471948f3
@ -70,6 +70,20 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gpio-leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
ledn {
|
||||||
|
label = "status:ledn";
|
||||||
|
gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ledp {
|
||||||
|
label = "status:ledp";
|
||||||
|
gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&spi0 {
|
&spi0 {
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <miiphy.h>
|
#include <miiphy.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <status_led.h>
|
#include <led.h>
|
||||||
#include <asm/arch/cpu.h>
|
#include <asm/arch/cpu.h>
|
||||||
#include <asm/arch/soc.h>
|
#include <asm/arch/soc.h>
|
||||||
#include <asm/arch/mpp.h>
|
#include <asm/arch/mpp.h>
|
||||||
@ -41,41 +41,6 @@
|
|||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
struct led {
|
|
||||||
u32 reg;
|
|
||||||
u32 value;
|
|
||||||
u32 mask;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct led amber_solid = {
|
|
||||||
MVEBU_GPIO0_BASE,
|
|
||||||
BIT(10),
|
|
||||||
BIT(18) | BIT(10)
|
|
||||||
};
|
|
||||||
|
|
||||||
struct led green_solid = {
|
|
||||||
MVEBU_GPIO0_BASE,
|
|
||||||
BIT(18) | BIT(10),
|
|
||||||
BIT(18) | BIT(10)
|
|
||||||
};
|
|
||||||
|
|
||||||
struct led amber_flash = {
|
|
||||||
MVEBU_GPIO0_BASE,
|
|
||||||
0,
|
|
||||||
BIT(18) | BIT(10)
|
|
||||||
};
|
|
||||||
|
|
||||||
struct led green_flash = {
|
|
||||||
MVEBU_GPIO0_BASE,
|
|
||||||
BIT(18),
|
|
||||||
BIT(18) | BIT(10)
|
|
||||||
};
|
|
||||||
|
|
||||||
static void status_led_set(struct led *led)
|
|
||||||
{
|
|
||||||
clrsetbits_le32(led->reg, led->mask, led->value);
|
|
||||||
}
|
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -165,8 +130,6 @@ int board_init(void)
|
|||||||
/* address of boot parameters */
|
/* address of boot parameters */
|
||||||
gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
|
gd->bd->bi_boot_params = mvebu_sdram_bar(0) + 0x100;
|
||||||
|
|
||||||
status_led_set(&amber_solid);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,7 +159,16 @@ int mv88e61xx_hw_reset(struct phy_device *phydev)
|
|||||||
#ifdef CONFIG_MISC_INIT_R
|
#ifdef CONFIG_MISC_INIT_R
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
{
|
{
|
||||||
status_led_set(&green_flash);
|
struct udevice *dev;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = led_get_by_label("status:ledp", &dev);
|
||||||
|
if (!ret)
|
||||||
|
led_set_state(dev, LEDST_ON);
|
||||||
|
|
||||||
|
ret = led_get_by_label("status:ledn", &dev);
|
||||||
|
if (!ret)
|
||||||
|
led_set_state(dev, LEDST_OFF);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,6 +46,8 @@ CONFIG_DM_I2C=y
|
|||||||
CONFIG_SYS_I2C_MVTWSI=y
|
CONFIG_SYS_I2C_MVTWSI=y
|
||||||
CONFIG_I2C_MUX=y
|
CONFIG_I2C_MUX=y
|
||||||
CONFIG_I2C_MUX_PCA954x=y
|
CONFIG_I2C_MUX_PCA954x=y
|
||||||
|
CONFIG_LED=y
|
||||||
|
CONFIG_LED_GPIO=y
|
||||||
# CONFIG_MMC is not set
|
# CONFIG_MMC is not set
|
||||||
CONFIG_MTD=y
|
CONFIG_MTD=y
|
||||||
CONFIG_DM_SPI_FLASH=y
|
CONFIG_DM_SPI_FLASH=y
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user