From: 林辉辉 Date: Tue, 18 May 2010 11:11:41 +0000 (+0000) Subject: add pmem run android X-Git-Tag: firefly_0821_release~11513 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9b686c4322edc12aa48415b03686d11df203ae45;p=firefly-linux-kernel-4.4.55.git add pmem run android --- diff --git a/.config b/.config index 52433fdd04b0..52be336db86e 100644 --- a/.config +++ b/.config @@ -263,7 +263,7 @@ CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y # CONFIG_KSM is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ALIGNMENT_TRAP=y # CONFIG_UACCESS_WITH_MEMCPY is not set diff --git a/arch/arm/mach-rk2818/board-midsdk.c b/arch/arm/mach-rk2818/board-midsdk.c index 8f1f4690fc3d..4d975322cd27 100644 --- a/arch/arm/mach-rk2818/board-midsdk.c +++ b/arch/arm/mach-rk2818/board-midsdk.c @@ -228,6 +228,7 @@ static struct i2c_board_info __initdata board_i2c1_devices[] = { *author: lhh *****************************************************************************************/ static struct spi_board_info board_spi_devices[] = { +#if defined(CONFIG_ENC28J60) { /* net chip */ .modalias = "enc28j60", .chip_select = 1, @@ -235,6 +236,7 @@ static struct spi_board_info board_spi_devices[] = { .bus_num = 0, .mode = SPI_MODE_0, }, +#endif #if defined(CONFIG_TOUCHSCREEN_RK2818_SPI_XPT2046) || defined(CONFIG_TOUCHSCREEN_RK2818_SPI_XPT2046_CBN) { .modalias = "xpt2046_ts", @@ -279,6 +281,7 @@ static struct platform_device *devices[] __initdata = { &rk2818_device_i2c1, #endif &rk2818_device_spim, + &rk2818_device_pmem, &rk2818_device_adc, &rk2818_device_adckey, &rk2818_device_fb, diff --git a/arch/arm/mach-rk2818/devices.c b/arch/arm/mach-rk2818/devices.c index 61d65689b54e..6b7b49e8c819 100644 --- a/arch/arm/mach-rk2818/devices.c +++ b/arch/arm/mach-rk2818/devices.c @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -262,3 +263,38 @@ struct platform_device rk2818_device_adckey = { .dev.parent = &rk2818_device_adc.dev, }; + +#if defined(CONFIG_ANDROID_PMEM) +static struct android_pmem_platform_data pmem_pdata = { + .name = "pmem", + .no_allocator = 1, + .cached = 1, + .start = 0x6f000000, + .size = 0x1000000, + //.start = 0x67000000, + //.size = 0x1000000, +}; + +static struct android_pmem_platform_data pmem_pdata_dsp = { + .name = "pmem-dsp", + .no_allocator = 1, + .cached = 0, + .start = 0x66B00000, + .size = 0x1500000, +}; + +struct platform_device rk2818_device_pmem = { + .name = "android_pmem", + .id = 0, + .dev = { .platform_data = &pmem_pdata }, +}; + +struct platform_device rk2818_device_pmem_dsp = { + .name = "android_pmem", + .id = 1, + .dev = { .platform_data = &pmem_pdata_dsp }, +}; + + +#endif + diff --git a/arch/arm/mach-rk2818/devices.h b/arch/arm/mach-rk2818/devices.h index a85cbebc1f41..22e8f6c9f549 100644 --- a/arch/arm/mach-rk2818/devices.h +++ b/arch/arm/mach-rk2818/devices.h @@ -26,6 +26,7 @@ extern struct platform_device rk2818_device_i2c1; extern struct rk2818_i2c_platform_data default_i2c0_data; extern struct rk2818_i2c_platform_data default_i2c1_data; extern struct platform_device rk2818_device_dm9k; +extern struct platform_device rk2818_device_pmem; extern struct platform_device rk2818_device_fb; extern struct platform_device rk2818_device_adc; extern struct platform_device rk2818_device_adckey;