Fix typo/compile error introduced with last HSMCI changes

This commit is contained in:
Gregory Nutt 2014-06-30 16:08:29 -06:00
parent d1df4124cd
commit 6b5f20cdc6
3 changed files with 221 additions and 208 deletions

View File

@ -94,164 +94,170 @@
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
/* EMAC0 Configuration ******************************************************/ /* EMAC0 Configuration ******************************************************/
/* Number of buffers for RX */
#ifndef CONFIG_SAMA5_EMAC0_NRXBUFFERS #ifdef CONFIG_SAMA5_EMAC0
# define CONFIG_SAMA5_EMAC0_NRXBUFFERS 16 /* Number of buffers for RX */
#endif
/* Number of buffers for TX */ # ifndef CONFIG_SAMA5_EMAC0_NRXBUFFERS
# define CONFIG_SAMA5_EMAC0_NRXBUFFERS 16
# endif
#ifndef CONFIG_SAMA5_EMAC0_NTXBUFFERS /* Number of buffers for TX */
# define CONFIG_SAMA5_EMAC0_NTXBUFFERS 8
#endif
#ifndef CONFIG_SAMA5_EMAC0_PHYADDR # ifndef CONFIG_SAMA5_EMAC0_NTXBUFFERS
# error "CONFIG_SAMA5_EMAC0_PHYADDR must be defined in the NuttX configuration" # define CONFIG_SAMA5_EMAC0_NTXBUFFERS 8
#endif # endif
#if !defined(CONFIG_SAMA5_EMAC0_MII) && !defined(CONFIG_SAMA5_EMAC0_RMII) # ifndef CONFIG_SAMA5_EMAC0_PHYADDR
# warning "Neither CONFIG_SAMA5_EMAC0_MII nor CONFIG_SAMA5_EMAC0_RMII defined" # error "CONFIG_SAMA5_EMAC0_PHYADDR must be defined in the NuttX configuration"
#endif # endif
#if defined(CONFIG_SAMA5_EMAC0_MII) && defined(CONFIG_SAMA5_EMAC0_RMII) # if !defined(CONFIG_SAMA5_EMAC0_MII) && !defined(CONFIG_SAMA5_EMAC0_RMII)
# error "Both CONFIG_SAMA5_EMAC0_MII and CONFIG_SAMA5_EMAC0_RMII defined" # warning "Neither CONFIG_SAMA5_EMAC0_MII nor CONFIG_SAMA5_EMAC0_RMII defined"
#endif # endif
#ifndef CONFIG_SAMA5_EMAC0_PHYSR # if defined(CONFIG_SAMA5_EMAC0_MII) && defined(CONFIG_SAMA5_EMAC0_RMII)
# error "CONFIG_SAMA5_EMAC0_PHYSR must be defined in the NuttX configuration" # error "Both CONFIG_SAMA5_EMAC0_MII and CONFIG_SAMA5_EMAC0_RMII defined"
#endif # endif
#ifdef CONFIG_SAMA5_EMAC0_AUTONEG # ifndef CONFIG_SAMA5_EMAC0_PHYSR
# ifdef CONFIG_SAMA5_EMAC0_PHYSR_ALTCONFIG # error "CONFIG_SAMA5_EMAC0_PHYSR must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE # endif
# error "CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE must be defined in the NuttX configuration"
# endif # ifdef CONFIG_SAMA5_EMAC0_AUTONEG
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_10HD # ifdef CONFIG_SAMA5_EMAC0_PHYSR_ALTCONFIG
# error "CONFIG_SAMA5_EMAC0_PHYSR_10HD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE
# endif # error "CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_100HD # endif
# error "CONFIG_SAMA5_EMAC0_PHYSR_100HD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_10HD
# endif # error "CONFIG_SAMA5_EMAC0_PHYSR_10HD must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_10FD # endif
# error "CONFIG_SAMA5_EMAC0_PHYSR_10FD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_100HD
# endif # error "CONFIG_SAMA5_EMAC0_PHYSR_100HD must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_100FD # endif
# error "CONFIG_SAMA5_EMAC0_PHYSR_100FD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_10FD
# endif # error "CONFIG_SAMA5_EMAC0_PHYSR_10FD must be defined in the NuttX configuration"
# else # endif
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_SPEED # ifndef CONFIG_SAMA5_EMAC0_PHYSR_100FD
# error "CONFIG_SAMA5_EMAC0_PHYSR_SPEED must be defined in the NuttX configuration" # error "CONFIG_SAMA5_EMAC0_PHYSR_100FD must be defined in the NuttX configuration"
# endif # endif
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_100MBPS # else
# error "CONFIG_SAMA5_EMAC0_PHYSR_100MBPS must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_SPEED
# endif # error "CONFIG_SAMA5_EMAC0_PHYSR_SPEED must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_MODE # endif
# error "CONFIG_SAMA5_EMAC0_PHYSR_MODE must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_100MBPS
# endif # error "CONFIG_SAMA5_EMAC0_PHYSR_100MBPS must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_FULLDUPLEX # endif
# error "CONFIG_SAMA5_EMAC0_PHYSR_FULLDUPLEX must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC0_PHYSR_MODE
# error "CONFIG_SAMA5_EMAC0_PHYSR_MODE must be defined in the NuttX configuration"
# endif
# ifndef CONFIG_SAMA5_EMAC0_PHYSR_FULLDUPLEX
# error "CONFIG_SAMA5_EMAC0_PHYSR_FULLDUPLEX must be defined in the NuttX configuration"
# endif
# endif # endif
# endif # endif
#endif
/* PHY definitions */ /* PHY definitions */
#if defined(SAMA5_EMAC0_PHY_DM9161) # if defined(SAMA5_EMAC0_PHY_DM9161)
# define EMAC0_MII_OUI_MSB 0x0181 # define EMAC0_MII_OUI_MSB 0x0181
# define EMAC0_MII_OUI_LSB 0x2e # define EMAC0_MII_OUI_LSB 0x2e
#elif defined(SAMA5_EMAC0_PHY_LAN8700) # elif defined(SAMA5_EMAC0_PHY_LAN8700)
# define EMAC0_MII_OUI_MSB 0x0007 # define EMAC0_MII_OUI_MSB 0x0007
# define EMAC0_MII_OUI_LSB 0x30 # define EMAC0_MII_OUI_LSB 0x30
#elif defined(SAMA5_EMAC0_PHY_KSZ8051) # elif defined(SAMA5_EMAC0_PHY_KSZ8051)
# define EMAC0_MII_OUI_MSB 0x0022 # define EMAC0_MII_OUI_MSB 0x0022
# define EMAC0_MII_OUI_LSB 0x05 # define EMAC0_MII_OUI_LSB 0x05
#elif defined(SAMA5_EMAC0_PHY_KSZ8081) # elif defined(SAMA5_EMAC0_PHY_KSZ8081)
# define EMAC0_MII_OUI_MSB 0x0022 # define EMAC0_MII_OUI_MSB 0x0022
# define EMAC0_MII_OUI_LSB 0x05 # define EMAC0_MII_OUI_LSB 0x05
#else # else
# error EMAC PHY unrecognized # error EMAC PHY unrecognized
#endif # endif
#endif /* CONFIG_SAMA5_EMAC0 */
/* EMAC1 Configuration ******************************************************/ /* EMAC1 Configuration ******************************************************/
/* Number of buffers for RX */
#ifndef CONFIG_SAMA5_EMAC1_NRXBUFFERS #ifdef CONFIG_SAMA5_EMAC1
# define CONFIG_SAMA5_EMAC1_NRXBUFFERS 16 /* Number of buffers for RX */
#endif
/* Number of buffers for TX */ # ifndef CONFIG_SAMA5_EMAC1_NRXBUFFERS
# define CONFIG_SAMA5_EMAC1_NRXBUFFERS 16
# endif
#ifndef CONFIG_SAMA5_EMAC1_NTXBUFFERS /* Number of buffers for TX */
# define CONFIG_SAMA5_EMAC1_NTXBUFFERS 8
#endif
#ifndef CONFIG_SAMA5_EMAC1_PHYADDR # ifndef CONFIG_SAMA5_EMAC1_NTXBUFFERS
# error "CONFIG_SAMA5_EMAC1_PHYADDR must be defined in the NuttX configuration" # define CONFIG_SAMA5_EMAC1_NTXBUFFERS 8
#endif # endif
#if !defined(CONFIG_SAMA5_EMAC1_MII) && !defined(CONFIG_SAMA5_EMAC1_RMII) # ifndef CONFIG_SAMA5_EMAC1_PHYADDR
# warning "Neither CONFIG_SAMA5_EMAC1_MII nor CONFIG_SAMA5_EMAC1_RMII defined" # error "CONFIG_SAMA5_EMAC1_PHYADDR must be defined in the NuttX configuration"
#endif # endif
#if defined(CONFIG_SAMA5_EMAC1_MII) && defined(CONFIG_SAMA5_EMAC1_RMII) # if !defined(CONFIG_SAMA5_EMAC1_MII) && !defined(CONFIG_SAMA5_EMAC1_RMII)
# error "Both CONFIG_SAMA5_EMAC1_MII and CONFIG_SAMA5_EMAC1_RMII defined" # warning "Neither CONFIG_SAMA5_EMAC1_MII nor CONFIG_SAMA5_EMAC1_RMII defined"
#endif # endif
#ifndef CONFIG_SAMA5_EMAC1_PHYSR # if defined(CONFIG_SAMA5_EMAC1_MII) && defined(CONFIG_SAMA5_EMAC1_RMII)
# error "CONFIG_SAMA5_EMAC1_PHYSR must be defined in the NuttX configuration" # error "Both CONFIG_SAMA5_EMAC1_MII and CONFIG_SAMA5_EMAC1_RMII defined"
#endif # endif
#ifdef CONFIG_SAMA5_EMAC1_AUTONEG # ifndef CONFIG_SAMA5_EMAC1_PHYSR
# ifdef CONFIG_SAMA5_EMAC1_PHYSR_ALTCONFIG # error "CONFIG_SAMA5_EMAC1_PHYSR must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_ALTMODE # endif
# error "CONFIG_SAMA5_EMAC1_PHYSR_ALTMODE must be defined in the NuttX configuration"
# endif # ifdef CONFIG_SAMA5_EMAC1_AUTONEG
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_10HD # ifdef CONFIG_SAMA5_EMAC1_PHYSR_ALTCONFIG
# error "CONFIG_SAMA5_EMAC1_PHYSR_10HD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_ALTMODE
# endif # error "CONFIG_SAMA5_EMAC1_PHYSR_ALTMODE must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_100HD # endif
# error "CONFIG_SAMA5_EMAC1_PHYSR_100HD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_10HD
# endif # error "CONFIG_SAMA5_EMAC1_PHYSR_10HD must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_10FD # endif
# error "CONFIG_SAMA5_EMAC1_PHYSR_10FD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_100HD
# endif # error "CONFIG_SAMA5_EMAC1_PHYSR_100HD must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_100FD # endif
# error "CONFIG_SAMA5_EMAC1_PHYSR_100FD must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_10FD
# endif # error "CONFIG_SAMA5_EMAC1_PHYSR_10FD must be defined in the NuttX configuration"
# else # endif
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_SPEED # ifndef CONFIG_SAMA5_EMAC1_PHYSR_100FD
# error "CONFIG_SAMA5_EMAC1_PHYSR_SPEED must be defined in the NuttX configuration" # error "CONFIG_SAMA5_EMAC1_PHYSR_100FD must be defined in the NuttX configuration"
# endif # endif
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_100MBPS # else
# error "CONFIG_SAMA5_EMAC1_PHYSR_100MBPS must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_SPEED
# endif # error "CONFIG_SAMA5_EMAC1_PHYSR_SPEED must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_MODE # endif
# error "CONFIG_SAMA5_EMAC1_PHYSR_MODE must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_100MBPS
# endif # error "CONFIG_SAMA5_EMAC1_PHYSR_100MBPS must be defined in the NuttX configuration"
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_FULLDUPLEX # endif
# error "CONFIG_SAMA5_EMAC1_PHYSR_FULLDUPLEX must be defined in the NuttX configuration" # ifndef CONFIG_SAMA5_EMAC1_PHYSR_MODE
# error "CONFIG_SAMA5_EMAC1_PHYSR_MODE must be defined in the NuttX configuration"
# endif
# ifndef CONFIG_SAMA5_EMAC1_PHYSR_FULLDUPLEX
# error "CONFIG_SAMA5_EMAC1_PHYSR_FULLDUPLEX must be defined in the NuttX configuration"
# endif
# endif # endif
# endif # endif
#endif
/* PHY definitions */ /* PHY definitions */
#if defined(SAMA5_EMAC1_PHY_DM9161) # if defined(SAMA5_EMAC1_PHY_DM9161)
# define EMAC1_MII_OUI_MSB 0x0181 # define EMAC1_MII_OUI_MSB 0x0181
# define EMAC1_MII_OUI_LSB 0x2e # define EMAC1_MII_OUI_LSB 0x2e
#elif defined(SAMA5_EMAC1_PHY_LAN8700) # elif defined(SAMA5_EMAC1_PHY_LAN8700)
# define EMAC1_MII_OUI_MSB 0x0007 # define EMAC1_MII_OUI_MSB 0x0007
# define EMAC1_MII_OUI_LSB 0x30 # define EMAC1_MII_OUI_LSB 0x30
#elif defined(SAMA5_EMAC1_PHY_KSZ8051) # elif defined(SAMA5_EMAC1_PHY_KSZ8051)
# define EMAC1_MII_OUI_MSB 0x0022 # define EMAC1_MII_OUI_MSB 0x0022
# define EMAC1_MII_OUI_LSB 0x05 # define EMAC1_MII_OUI_LSB 0x05
#elif defined(SAMA5_EMAC1_PHY_KSZ8081) # elif defined(SAMA5_EMAC1_PHY_KSZ8081)
# define EMAC1_MII_OUI_MSB 0x0022 # define EMAC1_MII_OUI_MSB 0x0022
# define EMAC1_MII_OUI_LSB 0x05 # define EMAC1_MII_OUI_LSB 0x05
#else # else
# error EMAC PHY unrecognized # error EMAC PHY unrecognized
#endif # endif
#endif /* CONFIG_SAMA5_EMAC0 */
/* Common Configuration *****************************************************/ /* Common Configuration *****************************************************/

View File

@ -86,7 +86,7 @@ static const uint8_t g_piopid[SAM_NPIO] =
/* Used to determine if a PIO port is configured to support interrupts */ /* Used to determine if a PIO port is configured to support interrupts */
static const bool g_piointterrupts[SAM_NPIO] = static const bool g_piointerrupt[SAM_NPIO] =
{ {
#ifdef CONFIG_SAMA5_PIOA_IRQ #ifdef CONFIG_SAMA5_PIOA_IRQ
true, true,
@ -109,14 +109,9 @@ static const bool g_piointterrupts[SAM_NPIO] =
false, false,
#endif #endif
#ifdef CONFIG_SAMA5_PIOE_IRQ #ifdef CONFIG_SAMA5_PIOE_IRQ
true, true
#else #else
false, false
#endif
#ifdef CONFIG_SAMA5_PIOF_IRQ
true,
#else
false,
#endif #endif
}; };

View File

@ -1125,47 +1125,47 @@ Networking
Ethernet MAC peripherals. Ethernet MAC peripherals.
------------------------------ ------------------- ------------------------- ------------------------------ ------------------- -------------------------
SAMA5D4 PIO SIGNAL USAGE SAMA5D4 PIO SAMA5D4-MB KSZ8081RNB
------------------------------ ------------------- ------------------------- ------------------------------ ------------------- -------------------------
PB0/G0_TXCK PB0 G0_TXCK, EXP PB0/G0_TXCK G0_TXCK_PB0 RXF_CLK/B-CAST_OFF
PB1/G0_RXCK/SCK2/ISI_PCK ISI_PCK_PB1 ISI_PCK PB1/G0_RXCK/SCK2/ISI_PCK (RMII, not used) (RMII, not used)
PB2/G0_TXEN PB2 G0_TXEN,EXP PB2/G0_TXEN G0_TXEN_PB2 TXEN
PB3/G0_TXER/CTS2/ISI_VSYNC ISI_VSYNC_PB3 ISI_VSYNC PB3/G0_TXER/CTS2/ISI_VSYNC (RMII, not used) (RMII, not used)
PB4/G0_CRS/RXD2/ISI_HSYNC ISI_HSYNC_PB4 ISI_HSYNC PB4/G0_CRS/RXD2/ISI_HSYNC (RMII, not used) (RMII, not used)
PB5/G0_COL/TXD2/PCK2 ISI_PWD_PB5 ISI_PWD PB5/G0_COL/TXD2/PCK2 (RMII, not used) (RMII, not used)
PB6/G0_RXDV PB6 G0_RXDV, EXP PB6/G0_RXDV G0_RXDV_PB6 CRS_DV/CONFIG2
PB7/G0_RXER PB7 G0_RXER, EXP PB7/G0_RXER G0_RXER_PB7 RXER/ISO
PB8/G0_RX0 PB8 G0_RX0, EXP PB8/G0_RX0 G0_RX0_PB8 RXD0/DUPLEX
PB9/G0_RX1 PB9 G0_RX1, EXP PB9/G0_RX1 G0_RX1_PB9 RXD1/PHYAD2
PB10/G0_RX2/PCK2/PWML1 PB10 AUDIO_PCK2, EXP PB10/G0_RX2/PCK2/PWML1 (RMII, not used) (RMII, not used)
PB11/G0_RX3/RTS2/PWMH1 ISI_RST_PB11 ISI_RST PB11/G0_RX3/RTS2/PWMH1 (RMII, not used) (RMII, not used)
PB12/G0_TX0 PB12 G0_TX0, EXP PB12/G0_TX0 G0_TX0_PB12 TXD0
PB13/G0_TX1 PB13 G0_TX1, EXP PB13/G0_TX1 G0_TX1_PB13 TXD1
PB14/G0_TX2/SPI2_NPCS1/PWMH0 ZIG_SPI2_NPCS1 ZIG_SPI2_NPCS1 PB14/G0_TX2/SPI2_NPCS1/PWMH0 (RMII, not used) (RMII, not used)
PB15/G0_TX3/SPI2_NPCS2/PWML0 HDMI_RST_PB15 HDMI_RST PB15/G0_TX3/SPI2_NPCS2/PWML0 (RMII, not used) (RMII, not used)
PB16/G0_MDC PB16 G0_MDC, EXP PB16/G0_MDC G0_MDC_PB16 MDC
PB17/G0_MDIO PB17 G0_MDIO, EXP PB17/G0_MDIO G0_MDIO_PB17 MDIO
PE1/A1/MCI0_DB0 G0_IRQ_PE1 G0_IRQ PE1/A1/MCI0_DB0 G0_IRQ_PE1 nINTRP/NAND_TREE
------------------------------ ------------------- ------------------------- ------------------------------ ------------------- -------------------------
PA2/LCDDAT2/G1_TXCK PA LCDDAT2, G1_TXCK PA2/LCDDAT2/G1_TXCK G1_TXCK_PA2 RXF_CLK/B-CAST_OFF
PA3/LCDDAT3/G1_RXCK PA3 LCDDAT3 PA3/LCDDAT3/G1_RXCK (RMII, not used) (RMII, not used)
PA4/LCDDAT4/G1_TXEN PA4 LCDDAT4, G1_TXEN PA4/LCDDAT4/G1_TXEN G1_TXEN_PA4 TXEN
PA5/LCDDAT5/G1_TXER PA5 LCDDAT5 PA5/LCDDAT5/G1_TXER (RMII, not used) (RMII, not used)
PA6/LCDDAT6/G1_CRS PA6 LCDDAT6 PA6/LCDDAT6/G1_CRS (RMII, not used) (RMII, not used)
PA9/LCDDAT9/G1_COL PA9 LCDDAT9 PA9/LCDDAT9/G1_COL (RMII, not used) (RMII, not used)
PA10/LCDDAT10/G1_RXDV PA10 LCDDAT10, G1_RXDV PA10/LCDDAT10/G1_RXDV G1_RXDV_PA10 CRS_DV/CONFIG2
PA11/LCDDAT11/G1_RXER PA11 LCDDAT11, G1_RXER PA11/LCDDAT11/G1_RXER G1_RXER_PA11 RXER/ISO
PA12/LCDDAT12/G1_RX0 PA12 LCDDAT12, G1_RX0 PA12/LCDDAT12/G1_RX0 G1_RX0_PA12 RXD0/DUPLEX
PA13/LCDDAT13/G1_RX1 PA13 LCDDAT13, G1_RX1 PA13/LCDDAT13/G1_RX1 G1_RX1_PA13 RXD1/PHYAD2
PA14/LCDDAT14/G1_TX0 PA14 LCDDAT14, G1_TX0 PA18/LCDDAT18/G1_RX2 (RMII, not used) (RMII, not used)
PA15/LCDDAT15/G1_TX1 PA15 LCDDAT15, G1_TX1 PA19/LCDDAT19/G1_RX3 (RMII, not used) (RMII, not used)
PA18/LCDDAT18/G1_RX2 PA18 LCDDAT18 PA14/LCDDAT14/G1_TX0 G1_TX0_PA14 TXD0
PA19/LCDDAT19/G1_RX3 PA19 LCDDAT19 PA15/LCDDAT15/G1_TX1 G1_TX1_PA15 TXD1
PA20/LCDDAT20/G1_TX2 PA20 LCDDAT20 PA20/LCDDAT20/G1_TX2 (RMII, not used) (RMII, not used)
PA21/LCDDAT21/G1_TX3 PA21 LCDDAT21 PA21/LCDDAT21/G1_TX3 (RMII, not used) (RMII, not used)
PA22/LCDDAT22/G1_MDC PA22 LCDDAT22, G1_MDC PA22/LCDDAT22/G1_MDC G1_MDC_PA22 MDC
PA23/LCDDAT23/G1_MDIO PA23 LCDDAT23, G1_MDIO PA23/LCDDAT23/G1_MDIO G1_MDIO_PA23 MDIO
PE2/A2/MCI0_DB1 G1_IRQ_PE2 G1_IRQ PE2/A2/MCI0_DB1 G1_IRQ_PE2 nINTRP/NAND_TREE
------------------------------ ------------------- ------------------------- ------------------------------ ------------------- -------------------------
EMAC2 connects (directly) to a KSZ8081RNB PHY (U10) and is available at EMAC2 connects (directly) to a KSZ8081RNB PHY (U10) and is available at
@ -1188,10 +1188,10 @@ Networking
System Type -> EMAC device driver options System Type -> EMAC device driver options
CONFIG_SAMA5_EMAC0_NRXBUFFERS=16 : Set aside some RS and TX buffers CONFIG_SAMA5_EMAC0_NRXBUFFERS=16 : Set aside some RS and TX buffers
CONFIG_SAMA5_EMAC0_NTXBUFFERS=4 CONFIG_SAMA5_EMAC0_NTXBUFFERS=8
CONFIG_SAMA5_EMAC0_PHYADDR=1 : KSZ8081 PHY is at address 1 CONFIG_SAMA5_EMAC0_PHYADDR=1 : KSZ8081 PHY is at address 1
CONFIG_SAMA5_EMAC0_AUTONEG=y : Use autonegotiation CONFIG_SAMA5_EMAC0_AUTONEG=y : Use autonegotiation
CONFIG_SAMA5_EMAC0_RMII=y : Either MII or RMII interface should work CONFIG_SAMA5_EMAC0_RMII=y : The RMII interfaces is used on the board
CONFIG_SAMA5_EMAC0_PHYSR=30 : Address of PHY status register on KSZ8081 CONFIG_SAMA5_EMAC0_PHYSR=30 : Address of PHY status register on KSZ8081
CONFIG_SAMA5_EMAC0_PHYSR_ALTCONFIG=y : Needed for KSZ8081 CONFIG_SAMA5_EMAC0_PHYSR_ALTCONFIG=y : Needed for KSZ8081
CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE=0x7 : " " " " " " CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE=0x7 : " " " " " "
@ -1207,21 +1207,21 @@ Networking
----------------------------- -----------------------------
System Type -> SAMA5 Peripheral Support System Type -> SAMA5 Peripheral Support
CONFIG_SAMA5_EMAC0=y : Enable the EMAC peripheral CONFIG_SAMA5_EMAC1=y : Enable the EMAC peripheral
System Type -> EMAC device driver options System Type -> EMAC device driver options
CONFIG_SAMA5_EMAC0_NRXBUFFERS=16 : Set aside some RS and TX buffers CONFIG_SAMA5_EMAC1_NRXBUFFERS=16 : Set aside some RS and TX buffers
CONFIG_SAMA5_EMAC0_NTXBUFFERS=4 CONFIG_SAMA5_EMAC1_NTXBUFFERS=8
CONFIG_SAMA5_EMAC0_PHYADDR=1 : KSZ8081 PHY is at address 1 CONFIG_SAMA5_EMAC1_PHYADDR=1 : KSZ8081 PHY is at address 1
CONFIG_SAMA5_EMAC0_AUTONEG=y : Use autonegotiation CONFIG_SAMA5_EMAC1_AUTONEG=y : Use autonegotiation
CONFIG_SAMA5_EMAC0_RMII=y : Either MII or RMII interface should work CONFIG_SAMA5_EMAC1_RMII=y : The RMII interfaces is used on the board
CONFIG_SAMA5_EMAC0_PHYSR=30 : Address of PHY status register on KSZ8081 CONFIG_SAMA5_EMAC1_PHYSR=30 : Address of PHY status register on KSZ8081
CONFIG_SAMA5_EMAC0_PHYSR_ALTCONFIG=y : Needed for KSZ8081 CONFIG_SAMA5_EMAC1_PHYSR_ALTCONFIG=y : Needed for KSZ8081
CONFIG_SAMA5_EMAC0_PHYSR_ALTMODE=0x7 : " " " " " " CONFIG_SAMA5_EMAC1_PHYSR_ALTMODE=0x7 : " " " " " "
CONFIG_SAMA5_EMAC0_PHYSR_10HD=0x1 : " " " " " " CONFIG_SAMA5_EMAC1_PHYSR_10HD=0x1 : " " " " " "
CONFIG_SAMA5_EMAC0_PHYSR_100HD=0x2 : " " " " " " CONFIG_SAMA5_EMAC1_PHYSR_100HD=0x2 : " " " " " "
CONFIG_SAMA5_EMAC0_PHYSR_10FD=0x5 : " " " " " " CONFIG_SAMA5_EMAC1_PHYSR_10FD=0x5 : " " " " " "
CONFIG_SAMA5_EMAC0_PHYSR_100FD=0x6 : " " " " " " CONFIG_SAMA5_EMAC1_PHYSR_100FD=0x6 : " " " " " "
PHY selection. Later in the configuration steps, you will need to select PHY selection. Later in the configuration steps, you will need to select
the KSZ8081 PHY for EMAC (See below) the KSZ8081 PHY for EMAC (See below)
@ -1241,17 +1241,20 @@ Networking
CONFIG_NET_SOCKOPTS=y : Enable socket operations CONFIG_NET_SOCKOPTS=y : Enable socket operations
CONFIG_NET_BUFSIZE=562 : Maximum packet size (MTD) 1518 is more standard CONFIG_NET_BUFSIZE=562 : Maximum packet size (MTD) 1518 is more standard
CONFIG_NET_RECEIVE_WINDOW=562 : Should be the same as CONFIG_NET_BUFSIZE CONFIG_NET_RECEIVE_WINDOW=562 : Should be the same as CONFIG_NET_BUFSIZE
CONFIG_NET_ARP=y : ARP support should be enabled
CONFIG_NET_ARP_IPIN=y : IP address harvesting (optional)
CONFIG_NET_TCP=y : Enable TCP/IP networking CONFIG_NET_TCP=y : Enable TCP/IP networking
CONFIG_NET_TCPBACKLOG=y : Support TCP/IP backlog CONFIG_NET_TCPBACKLOG=y : Support TCP/IP backlog
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562 : Read-ahead buffer size CONFIG_NET_TCP_READAHEAD=y : Enable TCP read-ahead buffering
CONFIG_NET_TCP_WRITE_BUFFERS=y : Enable TCP write buffering
CONFIG_NET_UDP=y : Enable UDP networking CONFIG_NET_UDP=y : Enable UDP networking
CONFIG_NET_BROADCAST=y : Support UDP broadcase packets
CONFIG_NET_ICMP=y : Enable ICMP networking CONFIG_NET_ICMP=y : Enable ICMP networking
CONFIG_NET_ICMP_PING=y : Needed for NSH ping command CONFIG_NET_ICMP_PING=y : Needed for NSH ping command
: Defaults should be okay for other options : Defaults should be okay for other options
Device drivers -> Network Device/PHY Support Device drivers -> Network Device/PHY Support
CONFIG_NETDEVICES=y : Enabled PHY selection CONFIG_NETDEVICES=y : Enabled PHY selection
CONFIG_ETH0_PHY_KSZ8081=y : Select the KSZ8081 PHY (for EMAC), OR CONFIG_ETH0_PHY_KSZ8081=y : Select the KSZ8081 PHY used with EMAC0 and 1
CONFIG_ETH0_PHY_KSZ90x1=y : Select the KSZ9031 PHY (for GMAC)
Application Configuration -> Network Utilities Application Configuration -> Network Utilities
CONFIG_NETUTILS_DNSCLIENT=y : Enable host address resolution CONFIG_NETUTILS_DNSCLIENT=y : Enable host address resolution
@ -1540,7 +1543,7 @@ HSMCI Card Slots
4) Before removing the card, you must umount the file system. This is 4) Before removing the card, you must umount the file system. This is
equivalent to "ejecting" or "safely removing" the card on Windows: It equivalent to "ejecting" or "safely removing" the card on Windows: It
flushes any cached data to the card and makes the SD card unavailable flushes any cached data to an SD card and makes the SD card unavailable
to the applications. to the applications.
nsh> umount -t /mnt/sd1 nsh> umount -t /mnt/sd1
@ -3341,32 +3344,38 @@ Configurations
in a different manner, this HSMCI1 slot may not be useful to you in a different manner, this HSMCI1 slot may not be useful to you
anyway. anyway.
STATUS: There is an unresolved issue with HSMCI0 as of this writing. STATUS: There are unresolved issue with HSMCI0 as of this writing.
No errors are reported so most the handshaking signals and command No errors are reported so most the handshaking signals and command
transfers are working, but all data transfers return the value zero transfers are working, but all data transfers return the value zero
(with or without DMA). This seems like some pin configuration issue. (with or without DMA). This seems like some pin configuration issue.
9. The SAMA5D4-EK includes for an AT25 serial DataFlash. That support is Also, we should be receiving interrupts when an SD card is inserted
or removed; we are not.
If these behaviors are a problem for you, then you may want to
disable HSMCI0 as well.
9. Networking support via the can be added to NSH by modifying the
configuration. See the "Networking" section above for detailed
configuration settings.
10. The SAMA5D4-EK includes for an AT25 serial DataFlash. That support is
NOT enabled in this configuration. Support for that serial FLASH can NOT enabled in this configuration. Support for that serial FLASH can
be enabled by modifying the NuttX configuration as described above in be enabled by modifying the NuttX configuration as described above in
the paragraph entitled "AT25 Serial FLASH". the paragraph entitled "AT25 Serial FLASH".
10. Support the USB low-, high- and full-speed OHCI host driver can be enabled 11. Support the USB low-, high- and full-speed OHCI host driver can be enabled
by changing the NuttX configuration file as described in the section by changing the NuttX configuration file as described in the section
entitled "USB High-Speed Host" above. entitled "USB High-Speed Host" above.
11. Support the USB high-speed USB device driver (UDPHS) can be enabled 12. Support the USB high-speed USB device driver (UDPHS) can be enabled
by changing the NuttX configuration file as described above in the by changing the NuttX configuration file as described above in the
section entitled "USB High-Speed Device." section entitled "USB High-Speed Device."
12. I2C Tool. NuttX supports an I2C tool at apps/system/i2c that can be 13. I2C Tool. NuttX supports an I2C tool at apps/system/i2c that can be
used to peek and poke I2C devices. See the discussion above under used to peek and poke I2C devices. See the discussion above under
"I2C Tool" for detailed configuration settings. "I2C Tool" for detailed configuration settings.
13. Networking support via the can be added to NSH by modifying the
configuration. See the "Networking" section above for detailed
configuration settings.
14. This example can be configured to exercise the watchdog timer test 14. This example can be configured to exercise the watchdog timer test
(apps/examples/watchdog). See the detailed configuration settings in (apps/examples/watchdog). See the detailed configuration settings in
the section entitled "Watchdog Timer" above. the section entitled "Watchdog Timer" above.
@ -3443,10 +3452,13 @@ To-Do List
2) HSCMI TX DMA support is currently commented out. 2) HSCMI TX DMA support is currently commented out.
3) Currently HSMCI1 does not work correctly. No errors are reported so all of 3) Currently HSMCI0 does not work correctly. No errors are reported so all of
the card handshakes must be working, but only zero values are read from the the card handshakes must be working, but only zero values are read from the
card (with or without DMA). Sounds like a pin configuration issue. card (with or without DMA). Sounds like a pin configuration issue.
Also, we should be receiving interrupts when an SD card is inserted or
removed; we are not.
4) Some drivers may require some adjustments if you intend to run from SDRAM. 4) Some drivers may require some adjustments if you intend to run from SDRAM.
That is because in this case macros like BOARD_MCK_FREQUENCY are not constants That is because in this case macros like BOARD_MCK_FREQUENCY are not constants
but are instead function calls: The MCK clock frequency is not known in but are instead function calls: The MCK clock frequency is not known in