rk2928: 'adc&keypad support' and 'lvds' and 'lcd'
authorkfx <kfx@rock-chips.com>
Tue, 7 Aug 2012 01:55:59 +0000 (09:55 +0800)
committerkfx <kfx@rock-chips.com>
Tue, 7 Aug 2012 01:55:59 +0000 (09:55 +0800)
arch/arm/configs/rk2928_sdk_defconfig
arch/arm/mach-rk2928/board-rk2928-sdk.c
arch/arm/mach-rk2928/devices.c
drivers/adc/plat/rk30_adc.c
drivers/input/keyboard/rk29_keys.c
drivers/video/display/screen/lcd_hsd100pxn.c
drivers/video/rockchip/lvds/rk_lvds.h

index fb18b35ad28ef15b14008a70c20896c5297595b3..32ceab278ca3f6482b7743b0846665a6a6f14aca 100755 (executable)
@@ -22,7 +22,6 @@ CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODULE_FORCE_UNLOAD=y
 CONFIG_ARCH_RK2928=y
-CONFIG_WIFI_CONTROL_FUNC=y
 CONFIG_RK_DEBUG_UART=2
 CONFIG_FIQ_DEBUGGER=y
 CONFIG_FIQ_DEBUGGER_NO_SLEEP=y
index 2a433f41c3e8e766cb5447dc1e8bdc08e432db80..06ac44d87620f23af3a85d06e9f7f5995fafb0b7 100755 (executable)
@@ -1154,6 +1154,7 @@ static void __init rk2928_board_init(void)
 {
        gpio_request(POWER_ON_PIN, "poweronpin");
        gpio_direction_output(POWER_ON_PIN, GPIO_HIGH);
+        gpio_free(POWER_ON_PIN);
        
        pm_power_off = rk30_pm_power_off;
        
index 04038a26456b95287bedacc76a876352f9ee203e..2fba48058870d7cf03d5e0e24c44a5246660f428 100755 (executable)
 #include <mach/iomux.h>
 #include <plat/rk_fiq_debugger.h>
 
+#ifdef CONFIG_ADC_RK30
+static struct resource rk30_adc_resource[] = {
+       {
+               .start  = IRQ_SARADC,
+               .end    = IRQ_SARADC,
+               .flags  = IORESOURCE_IRQ,
+       },
+       {
+               .start  = RK2928_SARADC_PHYS,
+               .end    = RK2928_SARADC_PHYS + RK2928_SARADC_SIZE - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+struct platform_device device_adc = {
+       .name           = "rk30-adc",
+       .id             = -1,
+       .num_resources  = ARRAY_SIZE(rk30_adc_resource),
+       .resource       = rk30_adc_resource,
+};
+#endif
 
 static u64 dma_dmamask = DMA_BIT_MASK(32);
 
@@ -748,6 +769,9 @@ static int __init rk2928_init_devices(void)
        rk2928_init_uart();
        rk2928_init_i2c();
        rk2928_init_spim();
+#ifdef CONFIG_ADC_RK30
+       platform_device_register(&device_adc);
+#endif
 #ifdef CONFIG_KEYS_RK29
        platform_device_register(&device_keys);
 #endif
index fbfb26a940b537323271876fa42a5cb41f1357f7..a8536fce8ece36ae636ec764abbf4aa1d42b6ca3 100755 (executable)
@@ -128,6 +128,7 @@ static int rk30_adc_probe(struct platform_device *pdev)
        struct resource *res;\r
        int ret;\r
 \r
+        printk("%s: start\n", __func__);\r
        adc = adc_alloc_host(&pdev->dev, sizeof(struct rk30_adc_device), SARADC_CHN_MASK);\r
        if (!adc)\r
                return -ENOMEM;\r
@@ -266,6 +267,7 @@ static struct platform_driver rk30_adc_driver = {
 \r
 static int __init rk30_adc_init(void)\r
 {\r
+        printk("%s: start\n", __func__);\r
        return platform_driver_register(&rk30_adc_driver);\r
 }\r
 subsys_initcall(rk30_adc_init);\r
index b5881d5b5e93244ccec10089411d153ec4ac6825..d184b51a1e0a1839bd79d3fcbc5375785a9252a6 100755 (executable)
@@ -32,7 +32,7 @@
 #define INVALID_ADVALUE                                10
 
 
-#if 0
+#if 1
 #define key_dbg(bdata, format, arg...)         \
        dev_printk(KERN_INFO , &bdata->input->dev , format , ## arg)
 #else
index 4f07324430baa07587f37cfade2098d066ba5c06..c11fa732613c6a0c2b0315f84015bef52689cbc2 100755 (executable)
@@ -8,11 +8,11 @@
 \r
 \r
 /* Base */\r
-#define OUT_TYPE               SCREEN_RGB\r
+#define OUT_TYPE               SCREEN_LVDS\r
 \r
 #define OUT_FACE               OUT_D888_P666  \r
 #define OUT_CLK                        65000000\r
-#define LCDC_ACLK        500000000//312000000           //29 lcdc axi DMA ÆµÂÊ\r
+#define LCDC_ACLK        300000000//312000000           //29 lcdc axi DMA ÆµÂÊ\r
 \r
 /* Timing */\r
 #define H_PW                   10\r
index 3916fad54a908c397fe91627c2f1c906339448c0..f5289344d8859ccf7f717ff6381ec7d2fee46f77 100644 (file)
@@ -2,7 +2,7 @@
 #define RK_LVDS_H
 
 #define LVDS_CON0_OFFSET       0x150
-#define LVDS_CON0_REG          (RK2928_GRF_PHYS + LVDS_CON0_OFFSET) 
+#define LVDS_CON0_REG          (RK2928_GRF_BASE + LVDS_CON0_OFFSET) 
 
 #define LVDSRdReg()                                    __raw_readl(LVDS_CON0_REG)
 #define LVDSWrReg(val)         __raw_writel( val ,LVDS_CON0_REG)