SMDK5250: Add ethernet support
PATCH v2 1/1 SMDK5250: Add ethernet support
This patch enable support for SMC911X based ethernet device.
---
Changes in v2:
- As Simon pointed smc9115_pre_init() is moved inside in board_eth_init() in smc911x_initialize
- Removed CONFIG_ETHADDR and CONFIG_NET_MULTI defines.
board/samsung/smdk5250/smdk5250.c | 94 +++++++++++++++++++++++++++++++++++++ include/configs/smdk5250.h | 11 ++++- 2 files changed, 103 insertions(+), 2 deletions(-)
board/samsung/smdk5250/smdk5250.c +94 -0
@@ -31,6 +31,91 @@DECLARE_GLOBAL_DATA_PTR ;struct exynos5_gpio_part1 *gpio1; +#ifdef CONFIG_SMC911X +static void smc9115_pre_init (void ) +{ +u32 smc_bw_conf, smc_bc_conf; +int i; + +/* +* SROM:CS1 and EBI +* +* GPY0[0] SROM_CSn[0] +* GPY0[1] SROM_CSn[1](2) +* GPY0[2] SROM_CSn[2] +* GPY0[3] SROM_CSn[3] +* GPY0[4] EBI_OEn(2) +* GPY0[5] EBI_EEn(2) +* +* GPY1[0] EBI_BEn[0](2) +* GPY1[1] EBI_BEn[1](2) +* GPY1[2] SROM_WAIT(2) +* GPY1[3] EBI_DATA_RDn(2) +*/ +s5p_gpio_cfg_pin (&gpio1->y0,CONFIG_ENV_SROM_BANK ,GPIO_FUNC (2 )); +s5p_gpio_cfg_pin (&gpio1->y0,4 ,GPIO_FUNC (2 )); +s5p_gpio_cfg_pin (&gpio1->y0,5 ,GPIO_FUNC (2 )); + +for (i =0 ; i <4 ; i++) +s5p_gpio_cfg_pin (&gpio1->y1, i,GPIO_FUNC (2 )); + +/* +* EBI: 8 Addrss Lines +* +* GPY3[0] EBI_ADDR[0](2) +* GPY3[1] EBI_ADDR[1](2) +* GPY3[2] EBI_ADDR[2](2) +* GPY3[3] EBI_ADDR[3](2) +* GPY3[4] EBI_ADDR[4](2) +* GPY3[5] EBI_ADDR[5](2) +* GPY3[6] EBI_ADDR[6](2) +* GPY3[7] EBI_ADDR[7](2) +* +* EBI: 16 Data Lines +* +* GPY5[0] EBI_DATA[0](2) +* GPY5[1] EBI_DATA[1](2) +* GPY5[2] EBI_DATA[2](2) +* GPY5[3] EBI_DATA[3](2) +* GPY5[4] EBI_DATA[4](2) +* GPY5[5] EBI_DATA[5](2) +* GPY5[6] EBI_DATA[6](2) +* GPY5[7] EBI_DATA[7](2) +* +* GPY6[0] EBI_DATA[8](2) +* GPY6[1] EBI_DATA[9](2) +* GPY6[2] EBI_DATA[10](2) +* GPY6[3] EBI_DATA[11](2) +* GPY6[4] EBI_DATA[12](2) +* GPY6[5] EBI_DATA[13](2) +* GPY6[6] EBI_DATA[14](2) +* GPY6[7] EBI_DATA[15](2) +*/ +for (i =0 ; i <8 ; i++) { +s5p_gpio_cfg_pin (&gpio1->y3, i,GPIO_FUNC (2 )); +s5p_gpio_set_pull (&gpio1->y3, i,GPIO_PULL_UP ); + +s5p_gpio_cfg_pin (&gpio1->y5, i,GPIO_FUNC (2 )); +s5p_gpio_set_pull (&gpio1->y5, i,GPIO_PULL_UP ); + +s5p_gpio_cfg_pin (&gpio1->y6, i,GPIO_FUNC (2 )); +s5p_gpio_set_pull (&gpio1->y6, i,GPIO_PULL_UP ); + } + +/* Ethernet needs data bus width of 16 bits */ + smc_bw_conf =SROMC_DATA16_WIDTH (CONFIG_ENV_SROM_BANK ) + |SROMC_BYTE_ENABLE (CONFIG_ENV_SROM_BANK ); + + smc_bc_conf =SROMC_BC_TACS (0x01 ) |SROMC_BC_TCOS (0x01 ) + |SROMC_BC_TACC (0x06 ) |SROMC_BC_TCOH (0x01 ) + |SROMC_BC_TAH (0x0C ) |SROMC_BC_TACP (0x09 ) + |SROMC_BC_PMC (0x01 ); + +/* Select and configure the SROMC bank */ +s5p_config_sromc (CONFIG_ENV_SROM_BANK , smc_bw_conf, smc_bc_conf); +} +#endif +int board_init (void ) { gpio1 = (struct exynos5_gpio_part1 *)samsung_get_base_gpio_part1 ();
@@ -80,6 +165,15 @@ void dram_init_banksize(void) PHYS_SDRAM_8_SIZE); } +int board_eth_init (bd_t *bis) +{ +#ifdef CONFIG_SMC911X +smc9115_pre_init (); +return smc911x_initialize (0 ,CONFIG_SMC911X_BASE ); +#endif +return 0 ; +} +#ifdef CONFIG_DISPLAY_BOARDINFO int checkboard (void ) {
include/configs/smdk5250.h +9 -2
@@ -96,8 +96,7 @@#define CONFIG_CMD_MMC #define CONFIG_CMD_EXT2 #define CONFIG_CMD_FAT -#undef CONFIG_CMD_NET -#undef CONFIG_CMD_NFS +#define CONFIG_CMD_NET #define CONFIG_BOOTDELAY 3#define CONFIG_ZERO_BOOTDELAY_CHECK
@@ -191,6 +190,14 @@#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000) +/* Ethernet Controllor Driver */ +#ifdef CONFIG_CMD_NET +#define CONFIG_SMC911X +#define CONFIG_SMC911X_BASE 0x5000000 +#define CONFIG_SMC911X_16_BIT +#define CONFIG_ENV_SROM_BANK 1 +#endif /*CONFIG_CMD_NET*/ +/* Enable devicetree support */ #define CONFIG_OF_LIBFDT
Signature · 1 line
1.7.5.4
PATCH v2 1/1 SMDK5250: Add ethernet support
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120209/2c636149/attachment.pgp>
PATCH v2 1/1 SMDK5250: Add ethernet support
In reply to Chander KashyapQuoted 3 lines · Chander Kashyap
This patch enable support for SMC911X based ethernet device.
Signed-off-by Chander Kashyap <[email protected]>
Quoted 158 lines
---
Changes in v2:
? ? ? ?- As Simon pointedsmc9115_pre_init()is moved inside ? ? ? ? ?inboard_eth_init()insmc911x_initialize? ? ? ?- RemovedCONFIG_ETHADDRandCONFIG_NET_MULTIdefines.?board/samsung/smdk5250/smdk5250.c | ? 94 +++++++++++++++++++++++++++++++++++++ ?include/configs/smdk5250.h ? ? ? ?| ? 11 ++++-
?2 files changed, 103 insertions(+), 2 deletions(-)board/samsung/smdk5250/smdk5250.c +94
-0@@ -31,6 +31,91 @@ ?DECLARE_GLOBAL_DATA_PTR; ?struct exynos5_gpio_part1 *gpio1; +#ifdef CONFIG_SMC911X +static void smc9115_pre_init (void ) +{ + ? ? ? u32 smc_bw_conf, smc_bc_conf; + ? ? ? int i; + + ? ? ? /* + ? ? ? ?* SROM:CS1 and EBI + ? ? ? ?* + ? ? ? ?* GPY0[0] ? ? ?SROM_CSn[0] + ? ? ? ?* GPY0[1] ? ? ?SROM_CSn[1](2) + ? ? ? ?* GPY0[2] ? ? ?SROM_CSn[2] + ? ? ? ?* GPY0[3] ? ? ?SROM_CSn[3] + ? ? ? ?* GPY0[4] ? ? ?EBI_OEn(2) + ? ? ? ?* GPY0[5] ? ? ?EBI_EEn(2) + ? ? ? ?* + ? ? ? ?* GPY1[0] ? ? ?EBI_BEn[0](2) + ? ? ? ?* GPY1[1] ? ? ?EBI_BEn[1](2) + ? ? ? ?* GPY1[2] ? ? ?SROM_WAIT(2) + ? ? ? ?* GPY1[3] ? ? ?EBI_DATA_RDn(2) + ? ? ? ?*/ + ? ? ? s5p_gpio_cfg_pin(&gpio1->y0, CONFIG_ENV_SROM_BANK, GPIO_FUNC(2)); + ? ? ? s5p_gpio_cfg_pin(&gpio1->y0, 4, GPIO_FUNC(2)); + ? ? ? s5p_gpio_cfg_pin(&gpio1->y0, 5, GPIO_FUNC(2)); + + ? ? ? for (i = 0; i < 4; i++) + ? ? ? ? ? ? ? s5p_gpio_cfg_pin(&gpio1->y1, i, GPIO_FUNC(2)); + + ? ? ? /* + ? ? ? ?* EBI: 8 Addrss Lines + ? ? ? ?* + ? ? ? ?* GPY3[0] ? ? ?EBI_ADDR[0](2) + ? ? ? ?* GPY3[1] ? ? ?EBI_ADDR[1](2) + ? ? ? ?* GPY3[2] ? ? ?EBI_ADDR[2](2) + ? ? ? ?* GPY3[3] ? ? ?EBI_ADDR[3](2) + ? ? ? ?* GPY3[4] ? ? ?EBI_ADDR[4](2) + ? ? ? ?* GPY3[5] ? ? ?EBI_ADDR[5](2) + ? ? ? ?* GPY3[6] ? ? ?EBI_ADDR[6](2) + ? ? ? ?* GPY3[7] ? ? ?EBI_ADDR[7](2) + ? ? ? ?* + ? ? ? ?* EBI: 16 Data Lines + ? ? ? ?* + ? ? ? ?* GPY5[0] ? ? ?EBI_DATA[0](2) + ? ? ? ?* GPY5[1] ? ? ?EBI_DATA[1](2) + ? ? ? ?* GPY5[2] ? ? ?EBI_DATA[2](2) + ? ? ? ?* GPY5[3] ? ? ?EBI_DATA[3](2) + ? ? ? ?* GPY5[4] ? ? ?EBI_DATA[4](2) + ? ? ? ?* GPY5[5] ? ? ?EBI_DATA[5](2) + ? ? ? ?* GPY5[6] ? ? ?EBI_DATA[6](2) + ? ? ? ?* GPY5[7] ? ? ?EBI_DATA[7](2) + ? ? ? ?* + ? ? ? ?* GPY6[0] ? ? ?EBI_DATA[8](2) + ? ? ? ?* GPY6[1] ? ? ?EBI_DATA[9](2) + ? ? ? ?* GPY6[2] ? ? ?EBI_DATA[10](2) + ? ? ? ?* GPY6[3] ? ? ?EBI_DATA[11](2) + ? ? ? ?* GPY6[4] ? ? ?EBI_DATA[12](2) + ? ? ? ?* GPY6[5] ? ? ?EBI_DATA[13](2) + ? ? ? ?* GPY6[6] ? ? ?EBI_DATA[14](2) + ? ? ? ?* GPY6[7] ? ? ?EBI_DATA[15](2) + ? ? ? ?*/ + ? ? ? for (i = 0; i < 8; i++) { + ? ? ? ? ? ? ? s5p_gpio_cfg_pin(&gpio1->y3, i, GPIO_FUNC(2)); + ? ? ? ? ? ? ? s5p_gpio_set_pull(&gpio1->y3, i, GPIO_PULL_UP); + + ? ? ? ? ? ? ? s5p_gpio_cfg_pin(&gpio1->y5, i, GPIO_FUNC(2)); + ? ? ? ? ? ? ? s5p_gpio_set_pull(&gpio1->y5, i, GPIO_PULL_UP); + + ? ? ? ? ? ? ? s5p_gpio_cfg_pin(&gpio1->y6, i, GPIO_FUNC(2)); + ? ? ? ? ? ? ? s5p_gpio_set_pull(&gpio1->y6, i, GPIO_PULL_UP); + ? ? ? } + + ? ? ? /* Ethernet needs data bus width of 16 bits */ + ? ? ? smc_bw_conf = SROMC_DATA16_WIDTH(CONFIG_ENV_SROM_BANK) + ? ? ? ? ? ? ? ? ? ? ? | SROMC_BYTE_ENABLE(CONFIG_ENV_SROM_BANK); + + ? ? ? smc_bc_conf = SROMC_BC_TACS(0x01) | SROMC_BC_TCOS(0x01) + ? ? ? ? ? ? ? ? ? ? ? | SROMC_BC_TACC(0x06) | SROMC_BC_TCOH(0x01) + ? ? ? ? ? ? ? ? ? ? ? | SROMC_BC_TAH(0x0C) ?| SROMC_BC_TACP(0x09) + ? ? ? ? ? ? ? ? ? ? ? | SROMC_BC_PMC(0x01); + + ? ? ? /* Select and configure the SROMC bank */ + ? ? ? s5p_config_sromc(CONFIG_ENV_SROM_BANK, smc_bw_conf, smc_bc_conf); +} +#endif + ?int board_init(void) ?{ ? ? ? ?gpio1 = (struct exynos5_gpio_part1 *) samsung_get_base_gpio_part1();@@ -80,6 +165,15 @@ void dram_init_banksize(void) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PHYS_SDRAM_8_SIZE); ?} +int board_eth_init (bd_t *bis) +{ +#ifdef CONFIG_SMC911X + ? ? ? smc9115_pre_init(); + ? ? ? return smc911x_initialize(0, CONFIG_SMC911X_BASE); +#endif + ? ? ? return 0; +} +?#ifdef
CONFIG_DISPLAY_BOARDINFO
?int checkboard(void)
?{include/configs/smdk5250.h +0
-0@@ -96,8 +96,7 @@?#define
CONFIG_CMD_MMC
?#defineCONFIG_CMD_EXT2
?#defineCONFIG_CMD_FATinclude/configs/smdk5250.h +1
-2-#undef CONFIG_CMD_NET -#undef CONFIG_CMD_NFS +#define CONFIG_CMD_NET ?#define
CONFIG_BOOTDELAY? ? ? ? ? ? ? 3
?#defineCONFIG_ZERO_BOOTDELAY_CHECKinclude/configs/smdk5250.h +8
-0@@ -191,6 +190,14 @@ ?#define CONFIG_SYS_INIT_SP_ADDR ? ? ? ?(CONFIG_SYS_LOAD_ADDR - 0x1000000) +/* Ethernet Controllor Driver */ +#ifdef CONFIG_CMD_NET +#define CONFIG_SMC911X +#define CONFIG_SMC911X_BASE ? ? ? ? ? ?0x5000000 +#define CONFIG_SMC911X_16_BIT +#define CONFIG_ENV_SROM_BANK ? ? ? ? ? 1 +#endif /*CONFIG_CMD_NET*/ +?/* Enable devicetree support */
?#defineCONFIG_OF_LIBFDT--
1.7.5.4_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
PATCH v2 1/1 SMDK5250: Add ethernet support
Quoted 18 lines · Simon Glass
Quoted 3 lines · Chander Kashyap
This patch enable support for SMC911X based ethernet device.
Signed-off-by Chander Kashyap <[email protected]>Acked-by Simon Glass <[email protected]>Quoted 10 lines
---
Changes in v2:
? ? ? ?- As Simon pointedsmc9115_pre_init()is moved inside ? ? ? ? ?inboard_eth_init()insmc911x_initialize? ? ? ?- RemovedCONFIG_ETHADDRandCONFIG_NET_MULTIdefines.?board/samsung/smdk5250/smdk5250.c | ? 94 +++++++++++++++++++++++++++++++++++++ ?include/configs/smdk5250.h ? ? ? ?| ? 11 ++++-
?2 files changed, 103 insertions(+), 2 deletions(-)
applied to u-boot-samsung.
Thanks,
Minkyu Kang.
Signature · 2 lines
from. prom. www.promsoft.net