projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '2020-02-07-master-imports'
[oweals/u-boot.git]
/
drivers
/
gpio
/
atmel_pio4.c
diff --git
a/drivers/gpio/atmel_pio4.c
b/drivers/gpio/atmel_pio4.c
index cb90b0241a2bdc7b120f73ca817e7bf9aa5522aa..8e6f32de1f3b9fa31fda819cf5e97a89006868be 100644
(file)
--- a/
drivers/gpio/atmel_pio4.c
+++ b/
drivers/gpio/atmel_pio4.c
@@
-1,16
+1,14
@@
+// SPDX-License-Identifier: GPL-2.0+
/*
* Atmel PIO4 device driver
*
* Copyright (C) 2015 Atmel Corporation
* Wenyou.Yang <wenyou.yang@atmel.com>
/*
* Atmel PIO4 device driver
*
* Copyright (C) 2015 Atmel Corporation
* Wenyou.Yang <wenyou.yang@atmel.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <clk.h>
#include <dm.h>
#include <fdtdec.h>
*/
#include <common.h>
#include <clk.h>
#include <dm.h>
#include <fdtdec.h>
-#include <dm/root.h>
#include <asm/arch/hardware.h>
#include <asm/gpio.h>
#include <mach/gpio.h>
#include <asm/arch/hardware.h>
#include <asm/gpio.h>
#include <mach/gpio.h>
@@
-45,21
+43,21
@@
static struct atmel_pio4_port *atmel_pio4_port_base(u32 port)
}
static int atmel_pio4_config_io_func(u32 port, u32 pin,
}
static int atmel_pio4_config_io_func(u32 port, u32 pin,
- u32 func, u32
use_pullup
)
+ u32 func, u32
config
)
{
struct atmel_pio4_port *port_base;
u32 reg, mask;
if (pin >= ATMEL_PIO_NPINS_PER_BANK)
{
struct atmel_pio4_port *port_base;
u32 reg, mask;
if (pin >= ATMEL_PIO_NPINS_PER_BANK)
- return -E
NODEV
;
+ return -E
INVAL
;
port_base = atmel_pio4_port_base(port);
if (!port_base)
port_base = atmel_pio4_port_base(port);
if (!port_base)
- return -E
NODEV
;
+ return -E
INVAL
;
mask = 1 << pin;
reg = func;
mask = 1 << pin;
reg = func;
- reg |=
use_pullup ? ATMEL_PIO_PUEN_MASK : 0
;
+ reg |=
config
;
writel(mask, &port_base->mskr);
writel(reg, &port_base->cfgr);
writel(mask, &port_base->mskr);
writel(reg, &port_base->cfgr);
@@
-67,60
+65,60
@@
static int atmel_pio4_config_io_func(u32 port, u32 pin,
return 0;
}
return 0;
}
-int atmel_pio4_set_gpio(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_gpio(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_GPIO,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_GPIO,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_a_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_a_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_A,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_A,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_b_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_b_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_B,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_B,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_c_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_c_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_C,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_C,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_d_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_d_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_D,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_D,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_e_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_e_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_E,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_E,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_f_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_f_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_F,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_F,
-
use_pullup
);
+
config
);
}
}
-int atmel_pio4_set_g_periph(u32 port, u32 pin, u32
use_pullup
)
+int atmel_pio4_set_g_periph(u32 port, u32 pin, u32
config
)
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_G,
{
return atmel_pio4_config_io_func(port, pin,
ATMEL_PIO_CFGR_FUNC_PERIPH_G,
-
use_pullup
);
+
config
);
}
int atmel_pio4_set_pio_output(u32 port, u32 pin, u32 value)
}
int atmel_pio4_set_pio_output(u32 port, u32 pin, u32 value)
@@
-129,11
+127,11
@@
int atmel_pio4_set_pio_output(u32 port, u32 pin, u32 value)
u32 reg, mask;
if (pin >= ATMEL_PIO_NPINS_PER_BANK)
u32 reg, mask;
if (pin >= ATMEL_PIO_NPINS_PER_BANK)
- return -E
NODEV
;
+ return -E
INVAL
;
port_base = atmel_pio4_port_base(port);
if (!port_base)
port_base = atmel_pio4_port_base(port);
if (!port_base)
- return -E
NODEV
;
+ return -E
INVAL
;
mask = 0x01 << pin;
reg = ATMEL_PIO_CFGR_FUNC_GPIO | ATMEL_PIO_DIR_MASK;
mask = 0x01 << pin;
reg = ATMEL_PIO_CFGR_FUNC_GPIO | ATMEL_PIO_DIR_MASK;
@@
-155,11
+153,11
@@
int atmel_pio4_get_pio_input(u32 port, u32 pin)
u32 reg, mask;
if (pin >= ATMEL_PIO_NPINS_PER_BANK)
u32 reg, mask;
if (pin >= ATMEL_PIO_NPINS_PER_BANK)
- return -E
NODEV
;
+ return -E
INVAL
;
port_base = atmel_pio4_port_base(port);
if (!port_base)
port_base = atmel_pio4_port_base(port);
if (!port_base)
- return -E
NODEV
;
+ return -E
INVAL
;
mask = 0x01 << pin;
reg = ATMEL_PIO_CFGR_FUNC_GPIO;
mask = 0x01 << pin;
reg = ATMEL_PIO_CFGR_FUNC_GPIO;
@@
-170,7
+168,7
@@
int atmel_pio4_get_pio_input(u32 port, u32 pin)
return (readl(&port_base->pdsr) & mask) ? 1 : 0;
}
return (readl(&port_base->pdsr) & mask) ? 1 : 0;
}
-#if
def CONFIG_DM_GPIO
+#if
CONFIG_IS_ENABLED(DM_GPIO)
struct atmel_pioctrl_data {
u32 nbanks;
struct atmel_pioctrl_data {
u32 nbanks;
@@
-276,7
+274,7
@@
static const struct dm_gpio_ops atmel_pio4_ops = {
static int atmel_pio4_bind(struct udevice *dev)
{
static int atmel_pio4_bind(struct udevice *dev)
{
- return dm_scan_fdt_
node(dev, gd->fdt_blob, dev->of_offset, false
);
+ return dm_scan_fdt_
dev(dev
);
}
static int atmel_pio4_probe(struct udevice *dev)
}
static int atmel_pio4_probe(struct udevice *dev)
@@
-299,7
+297,7
@@
static int atmel_pio4_probe(struct udevice *dev)
clk_free(&clk);
clk_free(&clk);
- addr_base = dev_get_addr(dev);
+ addr_base = dev
fdt
_get_addr(dev);
if (addr_base == FDT_ADDR_T_NONE)
return -EINVAL;
if (addr_base == FDT_ADDR_T_NONE)
return -EINVAL;
@@
-308,7
+306,8
@@
static int atmel_pio4_probe(struct udevice *dev)
pioctrl_data = (struct atmel_pioctrl_data *)dev_get_driver_data(dev);
nbanks = pioctrl_data->nbanks;
pioctrl_data = (struct atmel_pioctrl_data *)dev_get_driver_data(dev);
nbanks = pioctrl_data->nbanks;
- uc_priv->bank_name = fdt_get_name(gd->fdt_blob, dev->of_offset, NULL);
+ uc_priv->bank_name = fdt_get_name(gd->fdt_blob, dev_of_offset(dev),
+ NULL);
uc_priv->gpio_count = nbanks * ATMEL_PIO_NPINS_PER_BANK;
return 0;
uc_priv->gpio_count = nbanks * ATMEL_PIO_NPINS_PER_BANK;
return 0;