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

이 소스는 이솝소스에서 참조하여 작성한것입니다.
아래의 IIS 레지스터에 write를 하고 read하면 write한 값이 읽히는데
딜레이(10Us)를 주거나 두번째 read를 하면 레지스터값이  reset value로 읽힙니다.
조언 부탁합니다.

void
start_aesop2440_iis_bus_tx(void)
{
        unsigned int iiscon=0,iismod=0,iispsr=0,iisfcon=0;
        int err;

        printk("start_aesop2440_iis_bus_txn");

//44 KHz , 384fs
        iispsr = IISPSR_A(iispsr_value(AUDIO_RATE_DEFAULT)) | IISPSR_B(iispsr_value(AUDIO_RATE_DEFAULT));
        iiscon = S3C2410_IISCON_TXDMAEN | S3C2410_IISCON_RXIDLE | S3C2410_IISCON_PSCEN |
                S3C2410_IISCON_IISEN;
        iismod = S3C2410_IISMOD_MASTER | S3C2410_IISMOD_TXMODE | S3C2410_IISMOD_LR_RLOW |        
                S3C2410_IISMOD_MSB | S3C2410_IISMOD_16BIT | S3C2410_IISMOD_32FS |                                        
#if (S_CLOCK_FREQ == 384)
                S3C2410_IISMOD_384FS;                        
#else
                S3C2410_IISMOD_256FS;                        
#endif
        iisfcon = S3C2410_IISFCON_TXDMA | S3C2410_IISFCON_TXENABLE;

        if(err = access_ok (VERIFY_READ, regs_iis_base, SZ_1M))
                  printk("S3C2410_VA_IIS Access Read err [%d]n",err);
        if(err = access_ok (VERIFY_WRITE, regs_iis_base, SZ_1M))
                  printk("S3C2410_VA_IIS Access Write err [%d]n",err);
        

        *(unsigned int *)(regs_iis_base + S3C2410_IISPSR) = iispsr;
        
        printk("S3C2410_IISPSR  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISPSR));        
        printk("S3C2410_IISPSR  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISPSR));
        
        *(unsigned int *)(regs_iis_base + S3C2410_IISMOD) = iismod;

        printk("S3C2410_IISMOD  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISMOD));
        printk("S3C2410_IISPSR  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISPSR));
        
        *(unsigned int *)(regs_iis_base + S3C2410_IISFCON) = iisfcon;
        
        printk("S3C2410_IISFCON ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISFCON));
        printk("S3C2410_IISPSR  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISPSR));
        
        *(unsigned int *)(regs_iis_base + S3C2410_IISCON) = iiscon;

        printk("S3C2410_IISCON  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISCON));
        printk("S3C2410_IISPSR  ==> 0x%08xn",*(unsigned int *)(regs_iis_base + S3C2410_IISPSR));

}
List of Articles
번호 제목 글쓴이 날짜 조회 수
268 랜 카드 두개 사용 tftp? [1] 손성원 2008-06-19 848
267 2440에 사용된 LCD 터치스크린 판매업체와 터치 콘넥터 판매업체 알... [1] 이운근 2008-06-18 812
266 smdk2410 보드 u-boot.bin가 안올라 갑니다. [1] 이재민 2008-06-14 904
265 [질문] 16c554 device driver 관련.[완료] [3] 윤창준 2008-06-13 1221
264 [질문]nand ecc mode [5] 문철민 2008-06-13 1344
263 리눅스에서 링크로더쪽을 볼려고 하는데 찾기게 힘드네요.... [4] 손성원 2008-06-12 848
262 GTK를 이용해서 어플리케이션을 만들었는데여 font 에 관한 질문이... [1] 한진규 2008-06-10 662
261 시리얼 작동 확인 방법? [4] 손성원 2008-06-04 970
260 storage dev Read/Write속도 측정 [3] 정재용 2008-06-02 1072
259 ARM mutl-ice 중고 살려면 얼마 정도 생각 하면 됩니까? [2] 손성원 2008-06-02 927
258 UDP 포트에 대하여 [2] 김광준 2008-05-30 703
257 [완료] 혹시 여러분들은 개발문서를 작성하시는지요. [5] 오주열 2008-05-28 764
256 [질문/완료] x86프로세서 개발 관련해서 문의 드립니다. [4] 장병남 2008-05-24 708
» [질문]uda1341 driver 문제 - 소스포함 문철민 2008-05-21 686
254 webcam driver관련 질문입니다. [3] 정원 2008-05-19 1046
253 [질문]레지스터 세팅에 관한 질문 [1] 문철민 2008-05-19 632
252 저기 혹시 DivX 플레이어 소스를 어디서 구할수 있는지 아시는 분... [1] 손성원 2008-05-19 702
251 [완료]interrupt에 대해서 한가지 여쭤봅니다. [2] 김경식 2008-05-16 733
250 2440 TFT-LCD.? [1] 손성원 2008-05-16 867
249 [re] 2440 TFT-LCD.? <== 다시 수정요 [1] 손성원 2008-05-16 723

사용자 로그인