projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ar71xx: introduce global ar724x_pci_ctrl_base variable
[openwrt.git]
/
target
/
linux
/
ar71xx
/
files
/
drivers
/
spi
/
spi_vsc7385.c
diff --git
a/target/linux/ar71xx/files/drivers/spi/spi_vsc7385.c
b/target/linux/ar71xx/files/drivers/spi/spi_vsc7385.c
index
14952c6
..
c16707e
100644
(file)
--- a/
target/linux/ar71xx/files/drivers/spi/spi_vsc7385.c
+++ b/
target/linux/ar71xx/files/drivers/spi/spi_vsc7385.c
@@
-63,10
+63,11
@@
#define VSC73XX_MAC_CFG_VLAN_DBLAWR (1 << 15)
#define VSC73XX_MAC_CFG_VLAN_AWR (1 << 14)
#define VSC73XX_MAC_CFG_100_BASE_T (1 << 13)
#define VSC73XX_MAC_CFG_VLAN_DBLAWR (1 << 15)
#define VSC73XX_MAC_CFG_VLAN_AWR (1 << 14)
#define VSC73XX_MAC_CFG_100_BASE_T (1 << 13)
-#define VSC73XX_MAC_CFG_TX_IPG(x) ((
x
& 0x1f) << 6)
+#define VSC73XX_MAC_CFG_TX_IPG(x) ((
(x)
& 0x1f) << 6)
#define VSC73XX_MAC_CFG_MAC_RX_RST (1 << 5)
#define VSC73XX_MAC_CFG_MAC_TX_RST (1 << 4)
#define VSC73XX_MAC_CFG_MAC_RX_RST (1 << 5)
#define VSC73XX_MAC_CFG_MAC_TX_RST (1 << 4)
-#define VSC73XX_MAC_CFG_CLK_SEL(x) ((x & 0x3) << 0)
+#define VSC73XX_MAC_CFG_BIT2 (1 << 2)
+#define VSC73XX_MAC_CFG_CLK_SEL(x) ((x) & 0x3)
/* ADVPORTM register bits */
#define VSC73XX_ADVPORTM_IFG_PPM (1 << 7)
/* ADVPORTM register bits */
#define VSC73XX_ADVPORTM_IFG_PPM (1 << 7)
@@
-145,12
+146,10
@@
VSC73XX_MAC_CFG_MAC_RX_RST | \
VSC73XX_MAC_CFG_MAC_TX_RST)
VSC73XX_MAC_CFG_MAC_RX_RST | \
VSC73XX_MAC_CFG_MAC_TX_RST)
-#define VSC73
85
_MAC_CFG_INIT (VSC73XX_MAC_CFG_TX_EN | \
+#define VSC73
XX
_MAC_CFG_INIT (VSC73XX_MAC_CFG_TX_EN | \
VSC73XX_MAC_CFG_FDX | \
VSC73XX_MAC_CFG_GIGE | \
VSC73XX_MAC_CFG_FDX | \
VSC73XX_MAC_CFG_GIGE | \
- VSC73XX_MAC_CFG_RX_EN | \
- VSC73XX_MAC_CFG_TX_IPG(6) | \
- 4)
+ VSC73XX_MAC_CFG_RX_EN)
#define VSC73XX_RESET_DELAY 100
#define VSC73XX_RESET_DELAY 100
@@
-438,6
+437,8
@@
static int vsc7385_upload_ucode(struct vsc7385 *vsc)
static int vsc7385_setup(struct vsc7385 *vsc)
{
static int vsc7385_setup(struct vsc7385 *vsc)
{
+ struct vsc7385_platform_data *pdata = vsc->pdata;
+ u32 t;
int err;
err = vsc7385_write_verify(vsc, VSC73XX_BLOCK_SYSTEM, 0,
int err;
err = vsc7385_write_verify(vsc, VSC73XX_BLOCK_SYSTEM, 0,
@@
-461,8
+462,14
@@
static int vsc7385_setup(struct vsc7385 *vsc)
if (err)
goto err;
if (err)
goto err;
+ t = VSC73XX_MAC_CFG_INIT;
+ t |= VSC73XX_MAC_CFG_TX_IPG(pdata->mac_cfg.tx_ipg);
+ t |= VSC73XX_MAC_CFG_CLK_SEL(pdata->mac_cfg.clk_sel);
+ if (pdata->mac_cfg.bit2)
+ t |= VSC73XX_MAC_CFG_BIT2;
+
err = vsc7385_write(vsc, VSC73XX_BLOCK_MAC, VSC73XX_SUBBLOCK_PORT_MAC,
err = vsc7385_write(vsc, VSC73XX_BLOCK_MAC, VSC73XX_SUBBLOCK_PORT_MAC,
- VSC73XX_MAC_CFG,
VSC7385_MAC_CFG_INIT
);
+ VSC73XX_MAC_CFG,
t
);
if (err)
goto err;
if (err)
goto err;
This page took
0.022598 seconds
and
4
git commands to generate.