안녕하세요..

u-boot에서 flash.c의 static ulong flash_get_size (void *base, flash_info_t *info) 함수에서

        volatile ushort value16;
        volatile ulong  value32;

        ushort * addr16;
        ulong  * addr32;

        addr16 = (ushort *)base;
        addr32 = (ulong *)base;

        addr16[0x555] = (ushort)0xaaaa;
        addr16[0x2aa] = (ushort)0x5555;
        addr16[0x555] = (ushort)0x9090;

        mb ();
        value16 = addr16[0];  이부분에서 value16의 값이 1로 셋팅되서 나오는데..
                                        어디서 부터 셋팅되서 오는지 알수있나요?

        switch(value16)
        {
        case (ushort)AMD_MANUFACT:
                info->flash_id = FLASH_MAN_AMD;
                info->base_addr = base;
                nGCS0_is_amd = nGCS0_AMD;
                mb ();
                value16 = addr16[1]; 이부분에서도 값이 셋팅되서 들어오는데 어디서 셋팅이 되는지
                                              좀 알려주세요..