mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
ls102xa: etsec: Add etsec support for LS102xA
This patch is to add etsec support for LS102xA. First, Little-endian descriptor mode should be enabled. So RxBDs and TxBDs are interpreted with little-endian byte ordering. Second, TSEC_SIZE and TSEC_MDIO_OFFSET are different from PowerPC, redefine them for LS1021xA. Signed-off-by: Alison Wang <alison.wang@freescale.com>
This commit is contained in:
parent
d2614ea0ff
commit
52d00a812a
2 changed files with 13 additions and 1 deletions
|
@ -20,6 +20,7 @@
|
||||||
#include <fsl_mdio.h>
|
#include <fsl_mdio.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
@ -270,6 +271,9 @@ void redundant_init(struct eth_device *dev)
|
||||||
out_be32(®s->tstat, TSTAT_CLEAR_THALT);
|
out_be32(®s->tstat, TSTAT_CLEAR_THALT);
|
||||||
out_be32(®s->rstat, RSTAT_CLEAR_RHALT);
|
out_be32(®s->rstat, RSTAT_CLEAR_RHALT);
|
||||||
clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
|
clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
|
||||||
|
#ifdef CONFIG_LS102XA
|
||||||
|
setbits_be32(®s->dmactrl, DMACTRL_LE);
|
||||||
|
#endif
|
||||||
|
|
||||||
do {
|
do {
|
||||||
uint16_t status;
|
uint16_t status;
|
||||||
|
@ -366,6 +370,9 @@ static void startup_tsec(struct eth_device *dev)
|
||||||
out_be32(®s->tstat, TSTAT_CLEAR_THALT);
|
out_be32(®s->tstat, TSTAT_CLEAR_THALT);
|
||||||
out_be32(®s->rstat, RSTAT_CLEAR_RHALT);
|
out_be32(®s->rstat, RSTAT_CLEAR_RHALT);
|
||||||
clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
|
clrbits_be32(®s->dmactrl, DMACTRL_GRS | DMACTRL_GTS);
|
||||||
|
#ifdef CONFIG_LS102XA
|
||||||
|
setbits_be32(®s->dmactrl, DMACTRL_LE);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This returns the status bits of the device. The return value
|
/* This returns the status bits of the device. The return value
|
||||||
|
|
|
@ -20,10 +20,14 @@
|
||||||
#include <net.h>
|
#include <net.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <phy.h>
|
#include <phy.h>
|
||||||
#include <fsl_mdio.h>
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_LS102XA
|
||||||
|
#define TSEC_SIZE 0x40000
|
||||||
|
#define TSEC_MDIO_OFFSET 0x40000
|
||||||
|
#else
|
||||||
#define TSEC_SIZE 0x01000
|
#define TSEC_SIZE 0x01000
|
||||||
#define TSEC_MDIO_OFFSET 0x01000
|
#define TSEC_MDIO_OFFSET 0x01000
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520)
|
#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520)
|
||||||
|
|
||||||
|
@ -128,6 +132,7 @@
|
||||||
#define DMACTRL_INIT_SETTINGS 0x000000c3
|
#define DMACTRL_INIT_SETTINGS 0x000000c3
|
||||||
#define DMACTRL_GRS 0x00000010
|
#define DMACTRL_GRS 0x00000010
|
||||||
#define DMACTRL_GTS 0x00000008
|
#define DMACTRL_GTS 0x00000008
|
||||||
|
#define DMACTRL_LE 0x00008000
|
||||||
|
|
||||||
#define TSTAT_CLEAR_THALT 0x80000000
|
#define TSTAT_CLEAR_THALT 0x80000000
|
||||||
#define RSTAT_CLEAR_RHALT 0x00800000
|
#define RSTAT_CLEAR_RHALT 0x00800000
|
||||||
|
|
Loading…
Reference in a new issue