From 9a343943147451f662c7e7a45369ce2345cfb766 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=94=A1=E6=9E=AB?= Date: Fri, 1 Jul 2011 16:19:56 +0800 Subject: [PATCH] read sn for newton --- drivers/misc/newton.c | 119 +++++++++++++++++++++++++++++++++--------- 1 file changed, 95 insertions(+), 24 deletions(-) diff --git a/drivers/misc/newton.c b/drivers/misc/newton.c index 1099dd5fdd39..c8853bbcb64d 100755 --- a/drivers/misc/newton.c +++ b/drivers/misc/newton.c @@ -25,15 +25,55 @@ #endif - - - +#define NEWTON_GPIO_R RK29_PIN4_PB0 +#define NEWTON_GPIO_G RK29_PIN4_PB1 +#define NEWTON_GPIO_B RK29_PIN4_PB2 +#define NEWTON_GET_UID 0x6001 +typedef struct{ +uint16_t SN_Size; //0-1 +char SN[30]; //2-31 +char Reserved[419]; //32-450 +char IMEI_Size; //451 +char IMEI_Data[15]; //452-466 +char UID_Size; //467 +char UID_Data[30]; //468-497 +char BT_Size; //498 +char BlueTooth[6]; //499-504 +char Mac_Size; //505 +char Mac_Data[6]; //506-511 +}IdbSector3; +static int led_state = 0; +char GetSNSectorInfo(char * pbuf); + +int newton_print_buf(char *buf,int size) +{ + int i,j,mo=size%16,line = size/16; + char *pbuf = buf; + + if(line>0) + { + for(i=0;ipower_sem); - pdata->wq = create_freezeable_workqueue("rk29_gps"); - INIT_WORK(&pdata->work, rk29_gps_delay_power_downup); - pdata->power_flag = 0; - - //gps power down - rk29_gps_uart_to_gpio(pdata->uart_id); - if (pdata->power_down) - pdata->power_down(); - if (pdata->reset) - pdata->reset(GPIO_LOW); - - pgps = pdata; +#if 0 + if(gpio_request(NEWTON_GPIO_R,NULL) != 0){ + gpio_free(NEWTON_GPIO_R); + printk("rk29_newton_probe gpio_request NEWTON_GPIO_R error\n"); + return -EIO; + } + + if(gpio_request(NEWTON_GPIO_G,NULL) != 0){ + gpio_free(NEWTON_GPIO_G); + printk("rk29_newton_probe gpio_request NEWTON_GPIO_G error\n"); + return -EIO; + } + + if(gpio_request(NEWTON_GPIO_B,NULL) != 0){ + gpio_free(NEWTON_GPIO_B); + printk("rk29_newton_probe gpio_request NEWTON_GPIO_B error\n"); + return -EIO; + } + + gpio_direction_output(NEWTON_GPIO_R, 0); + gpio_set_value(NEWTON_GPIO_R,GPIO_LOW); + gpio_direction_output(NEWTON_GPIO_G, 0); + gpio_set_value(NEWTON_GPIO_G,GPIO_LOW); + gpio_direction_output(NEWTON_GPIO_B, 0); + gpio_set_value(NEWTON_GPIO_B,GPIO_LOW); #endif - DBG("%s:rk29 newton initialized\n",__FUNCTION__); return ret; -- 2.34.1