projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net: axi_emac: Put iobase to private structure
[oweals/u-boot.git]
/
drivers
/
spi
/
bfin_spi6xx.c
diff --git
a/drivers/spi/bfin_spi6xx.c
b/drivers/spi/bfin_spi6xx.c
index fde3447426770eb78f549d3d5484e1c2f04fbd92..9a27b78f641747e11e90ee96383970970d449a13 100644
(file)
--- a/
drivers/spi/bfin_spi6xx.c
+++ b/
drivers/spi/bfin_spi6xx.c
@@
-18,10
+18,12
@@
*/
#include <common.h>
*/
#include <common.h>
+#include <console.h>
#include <malloc.h>
#include <spi.h>
#include <asm/blackfin.h>
#include <malloc.h>
#include <spi.h>
#include <asm/blackfin.h>
+#include <asm/clock.h>
#include <asm/gpio.h>
#include <asm/portmux.h>
#include <asm/mach-common/bits/spi6xx.h>
#include <asm/gpio.h>
#include <asm/portmux.h>
#include <asm/mach-common/bits/spi6xx.h>
@@
-62,9
+64,9
@@
void spi_cs_activate(struct spi_slave *slave)
ssel = bfin_read32(&bss->regs->ssel);
ssel |= 1 << slave->cs;
if (bss->cs_pol)
ssel = bfin_read32(&bss->regs->ssel);
ssel |= 1 << slave->cs;
if (bss->cs_pol)
- ssel |=
(1 <<
8) << slave->cs;
+ ssel |=
BIT(
8) << slave->cs;
else
else
- ssel &= ~(
(1 <<
8) << slave->cs);
+ ssel &= ~(
BIT(
8) << slave->cs);
bfin_write32(&bss->regs->ssel, ssel);
}
bfin_write32(&bss->regs->ssel, ssel);
}
@@
-82,9
+84,9
@@
void spi_cs_deactivate(struct spi_slave *slave)
u32 ssel;
ssel = bfin_read32(&bss->regs->ssel);
if (bss->cs_pol)
u32 ssel;
ssel = bfin_read32(&bss->regs->ssel);
if (bss->cs_pol)
- ssel &= ~(
(1 <<
8) << slave->cs);
+ ssel &= ~(
BIT(
8) << slave->cs);
else
else
- ssel |=
(1 <<
8) << slave->cs;
+ ssel |=
BIT(
8) << slave->cs;
/* deassert cs */
bfin_write32(&bss->regs->ssel, ssel);
SSYNC();
/* deassert cs */
bfin_write32(&bss->regs->ssel, ssel);
SSYNC();
@@
-135,11
+137,11
@@
static const unsigned short cs_pins[][7] = {
void spi_set_speed(struct spi_slave *slave, uint hz)
{
struct bfin_spi_slave *bss = to_bfin_spi_slave(slave);
void spi_set_speed(struct spi_slave *slave, uint hz)
{
struct bfin_spi_slave *bss = to_bfin_spi_slave(slave);
- ulong
s
clk;
+ ulong clk;
u32 clock;
u32 clock;
-
sclk = get_sclk1
();
- clock =
s
clk / hz;
+
clk = get_spi_clk
();
+ clock = clk / hz;
if (clock)
clock--;
bss->clock = clock;
if (clock)
clock--;
bss->clock = clock;
@@
-154,10
+156,6
@@
struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
if (!spi_cs_is_valid(bus, cs))
return NULL;
if (!spi_cs_is_valid(bus, cs))
return NULL;
- if (bus >= ARRAY_SIZE(pins) || pins[bus] == NULL) {
- debug("%s: invalid bus %u\n", __func__, bus);
- return NULL;
- }
switch (bus) {
#ifdef SPI0_REGBASE
case 0:
switch (bus) {
#ifdef SPI0_REGBASE
case 0:
@@
-175,15
+173,14
@@
struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
break;
#endif
default:
break;
#endif
default:
+ debug("%s: invalid bus %u\n", __func__, bus);
return NULL;
}
return NULL;
}
- bss =
malloc(sizeof(*bss)
);
+ bss =
spi_alloc_slave(struct bfin_spi_slave, bus, cs
);
if (!bss)
return NULL;
if (!bss)
return NULL;
- bss->slave.bus = bus;
- bss->slave.cs = cs;
bss->regs = (struct bfin_spi_regs *)reg_base;
bss->control = SPI_CTL_EN | SPI_CTL_MSTR;
if (mode & SPI_CPHA)
bss->regs = (struct bfin_spi_regs *)reg_base;
bss->control = SPI_CTL_EN | SPI_CTL_MSTR;
if (mode & SPI_CPHA)