안녕하세요..

gpio alternative function 는 GPIO의 입력/출력 및 기타 부가적인 기능이 있다는 뜻입니다.

>ldr  r1, =GAFR0_L_VALUE

GAFR0_L_VALUE는 81개의 gpio pin중에 15번째로 nCS[1], active low chip select 1을 의미
즉, 이 말은 이 GPIO핀은 입출력으로 사용가능하지만 nCS1으로 사용된 부가적인 기능을 사용하겠다는
의미입니다. r1 에 이 값을 대입하고,

>str  r1, [r0, #PXA_REG_OFFSET_GAFR0_L]

#PXA_REG_OFFSET_GAFR0_L 레지스트에 이 GPIO를 nCS1으로 사용한다는 의미입니다.
즉, GPIO 기능이 아닌 nCS1의 기능으로 사용한다는 것입니다.


다른 예)

    #define GAFR2_L_VALUE       ( GP_nCS2_MD   | GP_nCS3_MD    )


    ldr r1, =GAFR2_L_VALUE
    str r1, [r0, #PXA_REG_OFFSET_GAFR2_L]


   의 코드를 보면

    ldr r1, =GAFR2_L_VALUE
    는 nCS2와 nCS3를 GPIO로 사용하지 않고 부가적인 기능인 nCS2와 nCS3를 사용하겠다는 의미입니다.

    str r1, [r0, #PXA_REG_OFFSET_GAFR2_L]
    위에서 load한 r1의 값을 #PXA_REG_OFFSET_GAFR2_L 레지스트에 넣어서 이 GPIO들을  nCS2와 nCS3
    로 사용하겠다는 것입니다.


PXA255의 메뉴얼의 GPIO 부분을 자세히 읽어 보시기 바랍니다.

그럼 수고하세요..








>안녕하세요. ez-x5 관련 질문있어서 문의드립니다.
>
>부트로더 소스중 가장 처음 시작하는 start.S를 보면 gpio_init으로 점프(branch) 하잖아요.
>그럼 gpio.S 파일내에 gpio_init으로 이동하는데 정확히 어떻게 초기화하는지 잘 이해가 않가네요.
>pxa255 datasheet를 봐도 reset부분은 있는데 init에 관련되 내용은 찾기가 힘드네요^^(알려주시면 감사해요)
>
>일단 궁금한것은 gpio alternative function에 nCS1~5, ext bus ready, pcmcia pin 값을 넣는다는데
>이 값들이 무슨 의미인지를 잘 모르겠네요.
>
>예를 들어)
>ldr  r1, =GAFR0_L_VALUE
>str  r1, [r0, #PXA_REG_OFFSET_GAFR0_L]
>
>가 있습니다.
>GAFR0_L_VALUE는 81개의 gpio pin중에 15번째로 nCS[1], active low chip select 1을 의미하고 이를
>PXA_REG_OFFSET_GAFR0_L (0x40E00054)에 저장합니다.
>
>여기서 nCS[1]의 값에는 어떤것이 들어있는건가요? 그리고 이건 어떤의미인가요?
>단순히 gpio 용으로 사용하겠다는 의미인가요?
>
>도와주시면 감사하겠습니다.