기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요..

CS8900으로 NFS를 구현중인데...

CS8900 register setting으로 구현된 CS8900 reset control시 칩이 정상 동작하지 않는
문제가 발생해서 문의드립니다.



cs89x0.c에 있는 reset_chip(..) function에서  


void  __init reset_chip(struct net_device *dev)
{
#ifndef CONFIG_ARCH_IXDP2X01
        struct net_local *lp = netdev_priv(dev);
        int ioaddr = dev->base_addr;
#endif
        int reset_start_time;

요부분...==>
/*************************************************************************************/
        writereg(dev, PP_SelfCTL, readreg(dev, PP_SelfCTL) | POWER_ON_RESET);
/*************************************************************************************/

        /* wait 30 ms */
        current->state = TASK_INTERRUPTIBLE;
        schedule_timeout(30*HZ/1000);

#ifndef CONFIG_ARCH_IXDP2X01
        if (lp->chip_type != CS8900) {
                /* Hardware problem requires PNP registers to be reconfigured after a reset */
                outw(PP_CS8920_ISAINT, ioaddr + ADD_PORT);
                outb(dev->irq, ioaddr + DATA_PORT);
                outb(0,      ioaddr + DATA_PORT + 1);

                outw(PP_CS8920_ISAMemB, ioaddr + ADD_PORT);
                outb((dev->mem_start >> 16) & 0xff, ioaddr + DATA_PORT);
                outb((dev->mem_start >> 8) & 0xff,   ioaddr + DATA_PORT + 1);
        }
#endif        /* IXDP2x01 */

        /* Wait until the chip is reset */
        reset_start_time = jiffies;
        while( (readreg(dev, PP_SelfST) & INIT_DONE) == 0 && jiffies - reset_start_time < 2)
                ;
}



위의 code에서 reset bit를 control하여 cs8900을 reset시키면..
cs8900이 정상동작하지 않습니다. 여기서 정상동작하지 않는다는 의미는
일단 register reading이 전혀 엉뚱한 값으로 reading됩니다.
PP_SelfCTL 의 경우 0x15가 default값인데.. 0x100으로 바뀌어버립니다.

이상황에서 위의 reset control line을 제거하면 문제없이 CS8900이 동작하여
NFS까지 잘 붙습니다..

SW issue는 아닌듯한데...

왜 이런일이 생기는지 혹시 짐작 가시는 분 계시나여?..    T.T


고현철

2007.11.17 05:15:02
*.70.26.87

칩에따라 reset 명령어 하나만 가지고 안되는 경우가 있습니다.

칩 특성이기 때문에 뭐라고 얘기하기는 힘들지만요....^^

고현철

2007.11.21 00:21:42
*.70.26.87

cs8900 있는 보드서 나중에 함 테스트해봐야겠네용......aesop-2440은 다 말아먹어버려서리....쩝.

박종석

2007.11.21 08:46:14
*.140.189.105

cs8900의 CS가 low assert된게 원인이었습니다.
HW가 잘못되어서 cs가 계속 low로 유지한 상태인데.. 이상태에서는
reset register access외에는 아무 문제가 없는것처럼 동작을 하고
reset control때릴때 cs8900이 바보가 되네요.. CS toggle이 필요한지는 모르겟으나 일단 정상적인 CS로 연결한후 cs가 edge동작을 한후에는 모든게 정상동작 됩니다. 혹시 같은 issue가 있으신분 도움이 되시길 바랍니다..
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
5388 [완료] SAMBA 접속 오류에 관하여.. [5] 이세종 2007-11-13 1157
5387 [완료]QTE vs TinyX+QT/X11 [2] 박준영 2007-11-13 1978
5386 유동아이피 설정을 어떻게 하는지요 [1] 임병재 2007-11-13 777
5385 커널 다운로드가 잘 안됩니다 ㅜㅜ[완료] [5] 이상화 2007-11-13 746
5384 [완료] minicom 통신 오류 [2] 이세종 2007-11-14 843
5383 [완료] minicom과 보드의 통신 [6] 이세종 2007-11-14 934
5382 [완료]SDL 기본 화면 뛰우기 [3] 윤치호 2007-11-15 2731
5381 [완료] 보드 부팅 로그입니다.(Loading:T T T T T) [4] 이세종 2007-11-15 1054
5380 s3c2410 16비트 ram 시스템용 JTAG프로그램 구할수있을까요? 문철민 2007-11-15 587
5379 [완료] 공유기에 사용하는 랜선에 대해.. [3] 이세종 2007-11-16 616
5378 [완료] dnw 에서 nand.nb0 다운 에러 [2] 김경중 2007-11-16 702
5377 [완료]2440보드에 logitech quickcam messenger를 물리려하고있습니다.[... [3] 김성민 2007-11-16 1503
5376 [완료]Jtag 동글이 회로도 구할 수 있나요? [4] 김용태 2007-11-16 826
5375 [완료] 질문이 있습니다. [2] 송지훈 2007-11-16 498
» [완료]CS8900 reset_chip() 질문... [3] 박종석 2007-11-17 1029
5373 SJF2440 소스 am29lv160.c 수정 중 질문입니다.-고현철님 추가 질문입... [6] 김용태 2007-11-17 811
5372 삼성 2440 I/O Speed [1] 전철웅 2007-11-17 2759
5371 [완료] Network 카드 인식... [1] 정경진 2007-11-18 873
5370 [완료] tftp 서버설정 [2] 이세종 2007-11-18 1286
5369 [완료]이어폰젝을 연결하면 리셋되는 현상 [2] 이헌상 2007-11-18 615

사용자 로그인