本人外扩一块芯片接nCGS3,物理地址为0x18000000开始,但是用ioremap映射或静态映射过后,寄存器只能读不能写,硬件已经用裸机程序测试过是正常的,并且nCGS3的时序和裸机程序一致,现在好急啊,求大神解啊!!!!!(一下是静态映射的) 本人会一直查看此贴的
static int __init dev_init(void)
{
unsigned int i = 0x88888888;
unsigned short int j=0x4321;
int ret;
my_mem = request_mem_region(S3C24XX_PA_MCX,0x10,DEVICE_NAME);
if(my_mem == NULL)
{
printk("rMCX314 request_mem_region failed");
}
printk(banner); ret = register_chrdev(LED_MAJOR,DEVICE_NAME,&dev_fops);
if(ret<0)
{
printk (DEVICE_NAME"can't register major number \n");
return ret;
}
gpio_class = class_create(THIS_MODULE,DEVICE_NAME);
if(IS_ERR(gpio_class))
{
printk ("failed in gpio class \n");
return -1;
}
device_create(gpio_class,NULL,MKDEV(LED_MAJOR,0),NULL,DEVICE_NAME);
printk("MCX = %#x\n",i); iowrite32(0x12341234,S3C24XX_VA_MCX+0x08);
mdelay(1);
i = ioread32(S3C24XX_VA_MCX+0x08);
printk("MCX = %#x\n",i);
|