sh: rsk7203: Add support pkt_data_pull and pkt_data_push function
PATCH 2/2 sh: rsk7203: Add support pkt_data_pull and pkt_data_push function
Add function of smc911x, pkt_data_pull and pkt_data_push.
Signed-off-by Nobuhiro Iwamatsu <[email protected]>
--- board/rsk7203/rsk7203.c | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-)
board/rsk7203/rsk7203.c +20 -0
@@ -48,3 +48,23 @@ int dram_init(void)void led_set_state (unsigned short value) { } + +/* +* The RSK board has the SMSC9118 wired up 'incorrectly'. +* Byte-swapping is necessary, and so poor performance is inevitable. +* This problem cannot evade by the swap function of CHIP, this can +* evade by software Byte-swapping. +* And this has problem by FIFO access only. pkt_data_pull/pkt_data_push +* functions necessary to solve this problem. +*/ +u32 pkt_data_pull (u32 addr) +{ +volatile u16 *addr_16 = (u16 *)addr; +return (((swab16 (*addr_16) <<16 ) &0xFFFF0000 )|swab16 (*(addr_16 +1 ))); +} + +void pkt_data_push (u32 addr,u32 val) +{ + *(volatile u16 *)(addr +2 ) =swab16 ((u16 )val); + *(volatile u16 *)(addr) =swab16 ((u16)(val >>16 )); +}
Signature · 1 line
1.5.6.3