TI AM335x如何修改phy及雙網(wǎng)絡(luò)使用說明_第1頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、ti am335x如何修改phy及雙網(wǎng)絡(luò)使用說明一、u-boot里面如何修改phy1.引腳初始化打開 board/eac/com335x/mux.c 文件,增強(qiáng)以下內(nèi)容:stac struct module_pin_mux rmii1_pin_mux = offset(mii1_crs), mode(1) | rxactive, /* rmii1_crs */offset(mii1_rxerr), mode(1) | rxactive, /* rmii1_rxerr */offset(mii1_txen), mode(1),offset(mii1_txd1), mode(1),offset(m

2、ii1_txd0), mode(1), /* rmii1_txen */* rmii1_txd1 */* rmii1_txd0 */offset(mii1_rxd1), mode(1) | rxactive,offset(mii1_rxd0), mode(1) | rxactive, /* rmii1_rxd1 */* rmii1_rxd0 */offset(mdio_data), mode(0) | rxactive | pullup_en, /* mdio_data */offset(mdio_clk), mode(0) | pullup_en, /* mdio_clk */offset(

3、rmii1_refclk), mode(0) | rxactive, /* rmii1_refclk */-1,;在 enable_board_pin_mux(void)函數(shù)中,做以下修改:void enable_board_pin_mux(void)./ configure_module_pin_mux(rgmii1_pin_mux);configure_module_pin_mux(rmii1_pin_mux);.2.驅(qū)動初始化打開 board/eac/com335x/board.c,在 cpsw_slaves結(jié)構(gòu)體中,修改 phy_addr(由 lan8720 的硬件銜接決定,本文以 0

4、 為例):static struct cpsw_slave_data cpsw_slaves = .slave_reg_ofs = 0x208,.sliver_reg_ofs = 0xd80,.phy_addr = 0x00,.;在 board_eth_init(bd_t *bis)函數(shù)中,修改 cpsw 的模式為 rmii:int board_eth_init(bd_t *bis).writel(rmii_mode_enable | rmii_chipckl_enable), &cdev->miisel);.注: rmii_chipckl_enable 為 rmii_refcl

5、k 輸入使能,即 rmii_refclk 信號由 phy 芯片提供而不是由cpu 提供,該參數(shù)由硬件設(shè)計(jì)打算。在底板設(shè)計(jì)指導(dǎo)手冊中,用法的是 lan8720 輸出的 rmii_refclk 信號,因此需要添加改參數(shù),否則會導(dǎo)致 rmii_refclk 信號浮現(xiàn)問題;假如硬件設(shè)計(jì)為由 cpu 提供的話,則無需添加該參數(shù)。另外,要確保 include/configs/com335x.h 文件中有如下宏定義;define config_phy_smsc該定義為 phy 芯片驅(qū)動配置,文件中默認(rèn)有定義,無需修改。至此, uboot 修改完畢,重新編譯即可。二、kernel里如何修改phy(單網(wǎng)絡(luò),rm

6、ii1接口)1.內(nèi)核配置device drivers -> network device support -> ethernet driver support ->texas instruments (ti) devices-*- ti davinci mdio support-*- ti davinci cpdma supportti cpsw switch support ti cpsw switch as dual emac-*- phy device support and infrastructure ->drivers for smsc phys2.引腳初始

7、化打開板級初始化文件 arch/arm/mach-omap2/board-com335x.c,增強(qiáng)以下內(nèi)容:/* module pin mux for rmii1 */static struct pinmux_config rmii1_pin_mux = "mii1_crs.rmii1_crs_dv", omap_mux_mode1 | am33xx_pin_input_pulwn,"mii1_rxerr.mii1_rxerr", omap_mux_mode1 | am33xx_pin_input_pulldown,"mii1_txen.mii

8、1_txen", omap_mux_mode1 | am33xx_pin_output,"mii1_txd1.mii1_txd1", omap_mux_mode1 | am33xx_pin_output,"mii1_txd0.mii1_txd0", omap_mux_mode1 | am33xx_pin_output,"mii1_rxd1.mii1_rxd1", omap_mux_mode1 | am33xx_pin_input_pulldown,"mii1_rxd0.mii1_rxd0", omap_m

9、ux_mode1 | am33xx_pin_input_pulldown,"rmii1_refclk.rmii1_refclk", omap_mux_mode0 | am33xx_pin_input_pulldown,"mdio_data.mdio_data", omap_mux_mode0 | am33xx_pin_input_pullup,"mdio_clk.mdio_clk", omap_mux_mode0 | am33xx_pin_output_pullup,null, 0,;注重:引腳不要被其它功能復(fù)用!3.驅(qū)動初始化在 b

10、oard-com335x.c 文件的 com335x_eth_init(void)函數(shù)中,做以下修改:static void com335x_eth_init(void)setup_pin_mux(rmii1_pin_mux);am33xx_cpsw_init(am33xx_cpsw_mode_rmii, "0:00", null);/ int ret = phy_register_fixup_for_uid(com335x_evm_phy_id, com335x_phy_mask,am33xx_tx_clk_dly_phy_fixup);注: am33xx_cpsw_in

11、it(am33xx_cpsw_mode_rmii, "0:00", null)里的第一個參數(shù)為指定 rmii 模式,其次個參數(shù)為 rmii1 接口上的 phy_addr,第三個參數(shù)為 rmii2 接口上的 phy_addr。修改完成后,保存文件。在上一節(jié)提到,我們的設(shè)計(jì)中, rmii_refclk 信號由 phy 芯片提供,因此需要使能 rmii1_refclk 為輸入,打開 arch/arm/mach-omap2/devices.c 文件,在 am33xx_cpsw_init 函數(shù)中,增強(qiáng)以下內(nèi)容:int am33xx_cpsw_init(enum am33xx_cpsw

12、_mac_mode mode, unsigned char *phy_id0,unsigned char *phy_id1).define rmii1_io_clk_en 1writel(gmii_sel, am33xx_ctrl_regaddr(am33xx_control_gmii_sel_offset);.修改完成后,保存退出。重新編譯系統(tǒng)即可。三、kernel里如何修改phy(雙網(wǎng)絡(luò),rmii1、rmii2接口)1.內(nèi)核配置device drivers -> network device support -> ethernet driver support ->tex

13、as instruments (ti) devices-*- ti davinci mdio support-*- ti davinci cpdma supportti cpsw switch supportti cpsw switch as dual emac-*- phy device support and infrastructure ->drivers for smsc phys2.引腳初始化打開板級初始化文件 arch/arm/mach-omap2/board-com335x.c,增強(qiáng)以下內(nèi)容:/* module pin mux for rmii1 */static stru

14、ct pinmux_config rmii1_pin_mux = "mii1_crs.rmii1_crs_dv", omap_mux_mode1 | am33xx_pin_input_pulldown,"mii1_rxerr.mii1_rxerr", omap_mux_mode1 | am33xx_pin_input_pulldown,"mii1_txen.mii1_txen", omap_mux_mode1 | am33xx_pin_output,"mii1_txd1.mii1_txd1", omap_mux_m

15、ode1 | am33xx_pin_output,"mii1_txd0.mii1_txd0", omap_mux_mode1 | am33xx_pin_output,"mii1_rxd1.mii1_rxd1", omap_mux_mode1 | am33xx_pin_input_pulldown,"mii1_rxd0.mii1_rxd0", omap_mux_mode1 | am33xx_pin_input_pulldown,"rmii1_refclk.rmii1_refclk", omap_mux_mode0 |

16、 am33xx_pin_input_pulldown,"mdio_data.mdio_data", omap_mux_mode0 | am33xx_pin_input_pullup,"mdio_clk.mdio_clk", omap_mux_mode0 | am33xx_pin_output_pullup,null, 0,;/* module pin mux for rmii2 */static struct pinmux_config rmii2_pin_mux = "gpmc_csn3.rmii2_crs_dv", omap_mu

17、x_mode2 | am33xx_pin_input_pulldown,/ "gpmc_wpn.rmii2_rxerr", omap_mux_mode3 | am33xx_pin_input_pulldown,"gpmc_a0.rmii2_txen", omap_mux_mode3 | am33xx_pin_output,"gpmc_a4.rmii2_txd1", omap_mux_mode3 | am33xx_pin_output,"gpmc_a5.rmii2_txd0", omap_mux_mode3 | am

18、33xx_pin_output,"gpmc_a10.rmii2_rxd1", omap_mux_mode3 | am33xx_pin_input_pulldown,"gpmc_a11.rmii2_rxd0", omap_mux_mode3 | am33xx_pin_input_pulldown,"mii1_col.rmii2_refclk", omap_mux_mode1 | am33xx_pin_input_pulldown,"mdio_data.mdio_data", omap_mux_mode0 | am33

19、xx_pin_input_pullup,"mdio_clk.mdio_clk", omap_mux_mode0 | am33xx_pin_output_pullup,null, 0,;注重:引腳不要被其它功能復(fù)用!另外,按照底板設(shè)計(jì)手冊,在 rmii2 接口中,因?yàn)?rmii2_rxerr 腳已經(jīng)被 gpmc 用法,因此 rmii2_rxerr 未與 lan8720 銜接,經(jīng)測試,未發(fā)覺此狀況下對網(wǎng)絡(luò)有影響。3.驅(qū)動初始化在 board-com335x.c 文件的 com335x_eth_init(void)函數(shù)中,做以下修改:static void com335x_eth_init(void)setup_pin_mux(rmii1_pin_mux);setup_pin_mux(rmii2_pin_mux);am33xx_cp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論