Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-15 Thread Igor Grinberg
On 05/13/11 06:52, Oleg Drokin wrote:

 Hello!

 On May 9, 2011, at 3:03 AM, Igor Grinberg wrote:

 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.

 Signed-off-by: Oleg Drokin gr...@linuxhacker.ru
 ---
 In general, here you should write the version history of your patch...
 umm, ok.
 Do you think the history of the changes is important in this case, though?
 I mean it's mostly the case of kill unneeded includes, fix style, fix 
 incorrect mux package type and so on.
 Nothing of real interest to anybody.

It can help everybody (also yourself), for example, the fact that you
already contacted Russell regarding mach-types (though the better place
for it is cover letter) could help me to not wonder why do you have this
stuff here.


-- 
Regards,
Igor.

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-12 Thread Oleg Drokin
Hello!

On May 9, 2011, at 3:03 AM, Igor Grinberg wrote:

 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.
 
 Signed-off-by: Oleg Drokin gr...@linuxhacker.ru
 ---
 
 In general, here you should write the version history of your patch...

umm, ok.
Do you think the history of the changes is important in this case, though?
I mean it's mostly the case of kill unneeded includes, fix style, fix 
incorrect mux package type and so on.
Nothing of real interest to anybody.

 +static void __init omap_encore_init(void)
 +{
 +omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 
 You select CBP package in Kconfig, but pass CBB here?

Ah, indeed, thanks for catching this.

 -nookcolor   MACH_NOOKCOLOR  NOOKCOLOR   3284
 +encore  MACH_ENCORE ENCORE  
 3284
 hkdkc100 MACH_HKDKC100   HKDKC1003285
 ts42xx   MACH_TS42XX TS42XX  
 3286
 aebl MACH_AEBL   AEBL3287
 
 You should contact Russell for this kind of stuff.

Yes, I already did.
I am carrying it as part of the patch so that it's actually buildable while
awaiting for the decision.

 I don't think you should be patching it directly...
 If you want to tell us that your patch should be applied with this
 change to mach-types, then it would be better to make a separate
 patch for it and describe it in your cover letter.

Hm, ok.

Thanks for the feedback.

Bye,
Oleg--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-09 Thread Igor Grinberg
Hi Oleg,

On 05/09/11 00:50, gr...@linuxhacker.ru wrote:
 From: Oleg Drokin gr...@linuxhacker.ru

 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.

 Signed-off-by: Oleg Drokin gr...@linuxhacker.ru
 ---

In general, here you should write the version history of your patch...

  arch/arm/mach-omap2/Kconfig  |5 +
  arch/arm/mach-omap2/Makefile |2 +
  arch/arm/mach-omap2/board-omap3encore.c  |  363 
 ++
  arch/arm/plat-omap/include/plat/uncompress.h |1 +
  arch/arm/tools/mach-types|2 +-
  5 files changed, 372 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-omap3encore.c

 diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
 index b997a35..5370561 100644
 --- a/arch/arm/mach-omap2/Kconfig
 +++ b/arch/arm/mach-omap2/Kconfig
 @@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
for full description please see the products webpage at

 http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
  
 +config MACH_ENCORE
 +bool Barnes  Noble Encore (Nook Color)
 +depends on ARCH_OMAP3
 +select OMAP_PACKAGE_CBP
 +
  config MACH_OVERO
   bool Gumstix Overo board
   depends on ARCH_OMAP3
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index a0c2cae..619e5ca 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -189,6 +189,8 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
 board-omap3logic.o \
  hsmmc.o
  obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
  hsmmc.o
 +obj-$(CONFIG_MACH_ENCORE)+= board-omap3encore.o \
 +hsmmc.o
  obj-$(CONFIG_MACH_OVERO) += board-overo.o \
  hsmmc.o
  obj-$(CONFIG_MACH_OMAP3EVM)  += board-omap3evm.o \
 diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
 b/arch/arm/mach-omap2/board-omap3encore.c
 new file mode 100644
 index 000..6c044c0
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-omap3encore.c
 @@ -0,0 +1,363 @@
 +/*
 + * Support for BarnsNoble Nook Color
 + *
 + * Loosely based on mach-omap2/board-zoom.c
 + * Copyright (C) 2008-2010 Texas Instruments Inc.
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + *
 + * May 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
 + *
 + */
 +
 +#include linux/kernel.h
 +#include linux/platform_device.h
 +#include linux/gpio_keys.h
 +#include linux/err.h
 +
 +#include linux/spi/spi.h
 +#include linux/i2c/twl.h
 +#include linux/regulator/machine.h
 +#include linux/regulator/fixed.h
 +#include mach/hardware.h
 +#include asm/mach-types.h
 +#include asm/mach/arch.h
 +
 +#include linux/gpio.h
 +#include plat/board.h
 +#include plat/common.h
 +#include plat/usb.h
 +#include plat/mux.h
 +#include plat/sram.h
 +#include plat/mmc.h
 +#include plat/omap-serial.h
 +#include plat/system.h
 +
 +#include mux.h
 +#include hsmmc.h
 +#include sdram-hynix-h8mbx00u0mer-0em.h

Are all the above includes needed? (spi? maybe some others)

 +
 +/* Encore-specific device-info and i2c addresses. */
 +/* Battery, bus 1 */
 +#define MAX17042_I2C_SLAVE_ADDRESS   0x36
 +#define MAX17042_GPIO_FOR_IRQ100
 +
 +/*addition of MAXIM8903/TI GPIO mapping WRT schematics */
 +#define MAX8903_UOK_GPIO_FOR_IRQ 115
 +#define MAX8903_DOK_GPIO_FOR_IRQ 114
 +#define MAX8903_GPIO_CHG_EN  110
 +#define MAX8903_GPIO_CHG_STATUS  111
 +#define MAX8903_GPIO_CHG_FLT 101
 +#define MAX8903_GPIO_CHG_IUSB102
 +#define MAX8903_GPIO_CHG_USUS104
 +#define MAX8903_GPIO_CHG_ILM 61
 +
 +/* TI WLAN */
 +#define ENCORE_WIFI_PMENA_GPIO   22
 +#define ENCORE_WIFI_IRQ_GPIO 15
 +#define ENCORE_WIFI_EN_POW   16
 +
 +/* Accelerometer i2c bus 1*/
 +#define KXTF9_I2C_SLAVE_ADDRESS  0x0F
 +#define KXTF9_GPIO_FOR_PWR   34
 +#define KXTF9_GPIO_FOR_IRQ   113
 +
 +/* Touch screen i2c bus 2*/
 +#define CYTTSP_I2C_SLAVEADDRESS  34
 +#define ENCORE_CYTTSP_GPIO   99
 +#define ENCORE_CYTTSP_RESET_GPIO 46
 +
 +/* Audio codec, i2c bus 2 */
 +#define AUDIO_CODEC_POWER_ENABLE_GPIO103
 +#define AUDIO_CODEC_RESET_GPIO   37
 +#define AUDIO_CODEC_IRQ_GPIO 59
 +#define AIC3100_I2CSLAVEADDRESS  0x18
 +
 +
 +/* Different HW revisions */
 +#define BOARD_ENCORE_REV_EVT1A   0x1
 +#define BOARD_ENCORE_REV_EVT1B   0x2
 +#define BOARD_ENCORE_REV_EVT20x3
 +#define BOARD_ENCORE_REV_DVT 0x4
 +#define BOARD_ENCORE_REV_PVT 0x5

Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-09 Thread Mark Brown
On Sun, May 08, 2011 at 05:50:06PM -0400, gr...@linuxhacker.ru wrote:

 + /*
 +  * link regulators to MMC adapters ... we know the
 +  * regulators will be set up only *after* we return.
 +  */
 + encore_vmmc1_supply.dev = mmc[1].dev;

Just specify dev_name in the supply rather than doing this.
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-08 Thread green
From: Oleg Drokin gr...@linuxhacker.ru

Bare-bones board file, comes with serial console, gpio keys,
MMC/SDCard and USB support.

Signed-off-by: Oleg Drokin gr...@linuxhacker.ru
---
 arch/arm/mach-omap2/Kconfig  |5 +
 arch/arm/mach-omap2/Makefile |2 +
 arch/arm/mach-omap2/board-omap3encore.c  |  363 ++
 arch/arm/plat-omap/include/plat/uncompress.h |1 +
 arch/arm/tools/mach-types|2 +-
 5 files changed, 372 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-omap3encore.c

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..5370561 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
 for full description please see the products webpage at
 
http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
 
+config MACH_ENCORE
+bool Barnes  Noble Encore (Nook Color)
+depends on ARCH_OMAP3
+select OMAP_PACKAGE_CBP
+
 config MACH_OVERO
bool Gumstix Overo board
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index a0c2cae..619e5ca 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -189,6 +189,8 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
board-omap3logic.o \
   hsmmc.o
 obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
   hsmmc.o
+obj-$(CONFIG_MACH_ENCORE)  += board-omap3encore.o \
+  hsmmc.o
 obj-$(CONFIG_MACH_OVERO)   += board-overo.o \
   hsmmc.o
 obj-$(CONFIG_MACH_OMAP3EVM)+= board-omap3evm.o \
diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
b/arch/arm/mach-omap2/board-omap3encore.c
new file mode 100644
index 000..6c044c0
--- /dev/null
+++ b/arch/arm/mach-omap2/board-omap3encore.c
@@ -0,0 +1,363 @@
+/*
+ * Support for BarnsNoble Nook Color
+ *
+ * Loosely based on mach-omap2/board-zoom.c
+ * Copyright (C) 2008-2010 Texas Instruments Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * May 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
+ *
+ */
+
+#include linux/kernel.h
+#include linux/platform_device.h
+#include linux/gpio_keys.h
+#include linux/err.h
+
+#include linux/spi/spi.h
+#include linux/i2c/twl.h
+#include linux/regulator/machine.h
+#include linux/regulator/fixed.h
+#include mach/hardware.h
+#include asm/mach-types.h
+#include asm/mach/arch.h
+
+#include linux/gpio.h
+#include plat/board.h
+#include plat/common.h
+#include plat/usb.h
+#include plat/mux.h
+#include plat/sram.h
+#include plat/mmc.h
+#include plat/omap-serial.h
+#include plat/system.h
+
+#include mux.h
+#include hsmmc.h
+#include sdram-hynix-h8mbx00u0mer-0em.h
+
+/* Encore-specific device-info and i2c addresses. */
+/* Battery, bus 1 */
+#define MAX17042_I2C_SLAVE_ADDRESS 0x36
+#define MAX17042_GPIO_FOR_IRQ  100
+
+/*addition of MAXIM8903/TI GPIO mapping WRT schematics */
+#define MAX8903_UOK_GPIO_FOR_IRQ   115
+#define MAX8903_DOK_GPIO_FOR_IRQ   114
+#define MAX8903_GPIO_CHG_EN110
+#define MAX8903_GPIO_CHG_STATUS111
+#define MAX8903_GPIO_CHG_FLT   101
+#define MAX8903_GPIO_CHG_IUSB  102
+#define MAX8903_GPIO_CHG_USUS  104
+#define MAX8903_GPIO_CHG_ILM   61
+
+/* TI WLAN */
+#define ENCORE_WIFI_PMENA_GPIO 22
+#define ENCORE_WIFI_IRQ_GPIO   15
+#define ENCORE_WIFI_EN_POW 16
+
+/* Accelerometer i2c bus 1*/
+#define KXTF9_I2C_SLAVE_ADDRESS0x0F
+#define KXTF9_GPIO_FOR_PWR 34
+#define KXTF9_GPIO_FOR_IRQ 113
+
+/* Touch screen i2c bus 2*/
+#define CYTTSP_I2C_SLAVEADDRESS34
+#define ENCORE_CYTTSP_GPIO 99
+#define ENCORE_CYTTSP_RESET_GPIO   46
+
+/* Audio codec, i2c bus 2 */
+#define AUDIO_CODEC_POWER_ENABLE_GPIO  103
+#define AUDIO_CODEC_RESET_GPIO 37
+#define AUDIO_CODEC_IRQ_GPIO   59
+#define AIC3100_I2CSLAVEADDRESS0x18
+
+
+/* Different HW revisions */
+#define BOARD_ENCORE_REV_EVT1A 0x1
+#define BOARD_ENCORE_REV_EVT1B 0x2
+#define BOARD_ENCORE_REV_EVT2  0x3
+#define BOARD_ENCORE_REV_DVT   0x4
+#define BOARD_ENCORE_REV_PVT   0x5
+#define BOARD_ENCORE_REV_UNKNOWN   0x6
+
+static inline int is_encore_board_evt2(void)
+{
+   return (system_rev = BOARD_ENCORE_REV_EVT2);
+}
+
+static inline int is_encore_board_evt1b(void)
+{
+   return (system_rev == BOARD_ENCORE_REV_EVT1B);
+}
+
+static int encore_twl4030_keymap[] = {
+   KEY(1, 0, 

Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-03 Thread Tony Lindgren
* gr...@linuxhacker.ru gr...@linuxhacker.ru [110428 08:55]:
 From: Oleg Drokin gr...@linuxhacker.ru
 
 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.

Good to see that. Unfortunately you probably have to do few
more rebases on the devel-cleanup branch because of the code
consolidation effort. We'll have to wait a bit and see what
new platform code we can merge after that is all the
consolidation is sorted out.

Please also post your series with linux-arm-kernel mailing
list Cc'd. Few comments below too.

 +#include mach/gpio.h

This should be linux/gpio.h nowadays.

 + if(is_encore_board_evt2()) {

You should have if ( here with space.

Maybe run scripts/checkpatch.pl --strict on the patch?

 --- a/arch/arm/tools/mach-types
 +++ b/arch/arm/tools/mach-types
 @@ -962,7 +962,7 @@ omapl138_case_a3  MACH_OMAPL138_CASE_A3   
 OMAPL138_CASE_A33280
  uemd MACH_UEMD   UEMD3281
  ccwmx51mut   MACH_CCWMX51MUT CCWMX51MUT  3282
  rockhopper   MACH_ROCKHOPPER ROCKHOPPER  3283
 -nookcolorMACH_NOOKCOLOR  NOOKCOLOR   3284
 +encore   MACH_ENCORE ENCORE  
 3284
  hkdkc100 MACH_HKDKC100   HKDKC1003285
  ts42xx   MACH_TS42XX TS42XX  
 3286
  aebl MACH_AEBL   AEBL3287

For this you need to follow the instructions at www.arm.linux.org.uk.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-05-03 Thread Vladimir Pantelic

Oleg Drokin wrote:

Hello!

   Is there any special support needed for 3621, though?
   My understanding is that's just 3630 without a phone part?


3621 is more or less a 3630 in a different package, less pins,
0.5mm ball pitch and no PoP option.


   The .29 kernel they had only added is_omap3621 stuff that's not
   called anywhere, but smartreflex code (I guess that's might be
   useful to add too of course).

   I know about the new code drop is coming, but I don't
   expect there to be any basic stuff changes (and this board file
   is coming pretty barebones right now), besides I am not so
   optimistic to actually expect this patch to be merged right away,
   but I am already gathering valuable feedback. ;)

   BTW I saw in the archives that you are also working a port,
   do you have your tree hosted anywhere?

Bye,
 Oleg
On Apr 28, 2011, at 7:34 PM, Abimanyu Gottumukkala wrote:


 Hi,

 Nook color has Ti OMAP 3621. 3621 CPU Support is not available in
 current kernel, adding CPU support will be nice before board.
 BN is set to release new source code in few days, taking new code as
 porting base is also recommended.

 Regards,
 Abimanyu G

 On Thu, Apr 28, 2011 at 9:27 PM,gr...@linuxhacker.ru  wrote:

 From: Oleg Drokingr...@linuxhacker.ru

 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.
 ---
  arch/arm/mach-omap2/Kconfig  |5 +
  arch/arm/mach-omap2/Makefile |2 +
  arch/arm/mach-omap2/board-omap3encore.c  |  380 ++
  arch/arm/plat-omap/include/plat/uncompress.h |1 +
  arch/arm/tools/mach-types|2 +-
  5 files changed, 389 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-omap3encore.c

 diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
 index b997a35..5370561 100644
 --- a/arch/arm/mach-omap2/Kconfig
 +++ b/arch/arm/mach-omap2/Kconfig
 @@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
 for full description please see the products webpage at
 
http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit

 +config MACH_ENCORE
 +bool Barnes  Noble Encore (Nook Color)
 +depends on ARCH_OMAP3
 +select OMAP_PACKAGE_CBP
 +
  config MACH_OVERO
bool Gumstix Overo board
depends on ARCH_OMAP3
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index 512b152..b894777 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -189,6 +189,8 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
board-omap3logic.o \
   hsmmc.o
  obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
   hsmmc.o
 +obj-$(CONFIG_MACH_ENCORE)  += board-omap3encore.o \
 +  hsmmc.o
  obj-$(CONFIG_MACH_OVERO)   += board-overo.o \
   hsmmc.o
  obj-$(CONFIG_MACH_OMAP3EVM)+= board-omap3evm.o \
 diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
b/arch/arm/mach-omap2/board-omap3encore.c
 new file mode 100644
 index 000..c7bf8de
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-omap3encore.c
 @@ -0,0 +1,380 @@
 +/*
 + *
 + * Copyright (C) 2008 Texas Instruments Inc.
 + * Vikram Panditavikram.pand...@ti.com
 + *
 + * Modified from mach-omap2/board-ldp.c
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + *
 + * April 2011 Oleg Drokingr...@linuxhacker.ru  - Port to 2.6.39
 + *
 + */
 +
 +#includelinux/kernel.h
 +#includelinux/platform_device.h
 +#includelinux/gpio_keys.h
 +#includelinux/err.h
 +
 +#includelinux/spi/spi.h
 +#includelinux/i2c/twl.h
 +#includelinux/regulator/machine.h
 +#includelinux/regulator/fixed.h
 +#includemach/hardware.h
 +#includeasm/mach-types.h
 +#includeasm/mach/arch.h
 +
 +#includemach/gpio.h
 +#includeplat/board.h
 +#includeplat/common.h
 +#includeplat/usb.h
 +#includeplat/mux.h
 +#includeplat/sram.h
 +#includeplat/mmc.h
 +#includeplat/omap-serial.h
 +#includeplat/system.h
 +
 +#include mux.h
 +#include hsmmc.h
 +#include sdram-hynix-h8mbx00u0mer-0em.h
 +
 +/* Encore-specific device-info and i2c addresses. */
 +/* Battery, bus 1 */
 +#define MAX17042_I2C_SLAVE_ADDRESS 0x36
 +#define MAX17042_GPIO_FOR_IRQ  100
 +
 +/*addition of MAXIM8903/TI GPIO mapping WRT schematics */
 +#define MAX8903_UOK_GPIO_FOR_IRQ   115
 +#define MAX8903_DOK_GPIO_FOR_IRQ   114
 +#define MAX8903_GPIO_CHG_EN110
 +#define MAX8903_GPIO_CHG_STATUS111
 +#define MAX8903_GPIO_CHG_FLT   101
 +#define MAX8903_GPIO_CHG_IUSB  102
 +#define MAX8903_GPIO_CHG_USUS  104
 +#define MAX8903_GPIO_CHG_ILM   61
 +
 +/* TI WLAN */
 

[PATCH 1/2] Initial BN Nook Color (encore) support.

2011-04-28 Thread green
From: Oleg Drokin gr...@linuxhacker.ru

Bare-bones board file, comes with serial console, gpio keys,
MMC/SDCard and USB support.
---
 arch/arm/mach-omap2/Kconfig  |5 +
 arch/arm/mach-omap2/Makefile |2 +
 arch/arm/mach-omap2/board-omap3encore.c  |  380 ++
 arch/arm/plat-omap/include/plat/uncompress.h |1 +
 arch/arm/tools/mach-types|2 +-
 5 files changed, 389 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-omap3encore.c

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..5370561 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
 for full description please see the products webpage at
 
http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
 
+config MACH_ENCORE
+bool Barnes  Noble Encore (Nook Color)
+depends on ARCH_OMAP3
+select OMAP_PACKAGE_CBP
+
 config MACH_OVERO
bool Gumstix Overo board
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 512b152..b894777 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -189,6 +189,8 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
board-omap3logic.o \
   hsmmc.o
 obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
   hsmmc.o
+obj-$(CONFIG_MACH_ENCORE)  += board-omap3encore.o \
+  hsmmc.o
 obj-$(CONFIG_MACH_OVERO)   += board-overo.o \
   hsmmc.o
 obj-$(CONFIG_MACH_OMAP3EVM)+= board-omap3evm.o \
diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
b/arch/arm/mach-omap2/board-omap3encore.c
new file mode 100644
index 000..c7bf8de
--- /dev/null
+++ b/arch/arm/mach-omap2/board-omap3encore.c
@@ -0,0 +1,380 @@
+/*
+ *
+ * Copyright (C) 2008 Texas Instruments Inc.
+ * Vikram Pandita vikram.pand...@ti.com
+ *
+ * Modified from mach-omap2/board-ldp.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * April 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
+ *
+ */
+
+#include linux/kernel.h
+#include linux/platform_device.h
+#include linux/gpio_keys.h
+#include linux/err.h
+
+#include linux/spi/spi.h
+#include linux/i2c/twl.h
+#include linux/regulator/machine.h
+#include linux/regulator/fixed.h
+#include mach/hardware.h
+#include asm/mach-types.h
+#include asm/mach/arch.h
+
+#include mach/gpio.h
+#include plat/board.h
+#include plat/common.h
+#include plat/usb.h
+#include plat/mux.h
+#include plat/sram.h
+#include plat/mmc.h
+#include plat/omap-serial.h
+#include plat/system.h
+
+#include mux.h
+#include hsmmc.h
+#include sdram-hynix-h8mbx00u0mer-0em.h
+
+/* Encore-specific device-info and i2c addresses. */
+/* Battery, bus 1 */
+#define MAX17042_I2C_SLAVE_ADDRESS 0x36
+#define MAX17042_GPIO_FOR_IRQ  100
+
+/*addition of MAXIM8903/TI GPIO mapping WRT schematics */
+#define MAX8903_UOK_GPIO_FOR_IRQ   115
+#define MAX8903_DOK_GPIO_FOR_IRQ   114  
+#define MAX8903_GPIO_CHG_EN110
+#define MAX8903_GPIO_CHG_STATUS111
+#define MAX8903_GPIO_CHG_FLT   101
+#define MAX8903_GPIO_CHG_IUSB  102
+#define MAX8903_GPIO_CHG_USUS  104
+#define MAX8903_GPIO_CHG_ILM   61
+
+/* TI WLAN */
+#define ENCORE_WIFI_PMENA_GPIO 22
+#define ENCORE_WIFI_IRQ_GPIO   15
+#define ENCORE_WIFI_EN_POW 16
+
+/* Accelerometer i2c bus 1*/
+#define KXTF9_I2C_SLAVE_ADDRESS0x0F
+#define KXTF9_GPIO_FOR_PWR 34
+#define KXTF9_GPIO_FOR_IRQ 113
+
+/* Touch screen i2c bus 2*/
+#define CYTTSP_I2C_SLAVEADDRESS34
+#define ENCORE_CYTTSP_GPIO 99
+#define ENCORE_CYTTSP_RESET_GPIO   46
+
+/* Audio codec, i2c bus 2 */
+#define AUDIO_CODEC_POWER_ENABLE_GPIO  103
+#define AUDIO_CODEC_RESET_GPIO 37
+#define AUDIO_CODEC_IRQ_GPIO   59
+#define AIC3100_I2CSLAVEADDRESS0x18
+
+
+/* Different HW revisions */
+#define BOARD_ENCORE_REV_EVT1A 0x1
+#define BOARD_ENCORE_REV_EVT1B 0x2
+#define BOARD_ENCORE_REV_EVT2  0x3
+#define BOARD_ENCORE_REV_DVT   0x4
+#define BOARD_ENCORE_REV_PVT   0x5
+#define BOARD_ENCORE_REV_UNKNOWN   0x6
+
+static inline int is_encore_board_evt2(void)
+{
+return (system_rev = BOARD_ENCORE_REV_EVT2);
+}
+
+static inline int is_encore_board_evt1b(void)
+{
+return (system_rev == BOARD_ENCORE_REV_EVT1B);
+}
+
+static int encore_twl4030_keymap[] = {
+   KEY(0, 0, KEY_HOME),
+   KEY(0, 1, KEY_VOLUMEUP),
+  

Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-04-28 Thread Abimanyu Gottumukkala
Hi,

Nook color has Ti OMAP 3621. 3621 CPU Support is not available in
current kernel, adding CPU support will be nice before board.
BN is set to release new source code in few days, taking new code as
porting base is also recommended.

Regards,
Abimanyu G

On Thu, Apr 28, 2011 at 9:27 PM,  gr...@linuxhacker.ru wrote:
 From: Oleg Drokin gr...@linuxhacker.ru

 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.
 ---
  arch/arm/mach-omap2/Kconfig                  |    5 +
  arch/arm/mach-omap2/Makefile                 |    2 +
  arch/arm/mach-omap2/board-omap3encore.c      |  380 
 ++
  arch/arm/plat-omap/include/plat/uncompress.h |    1 +
  arch/arm/tools/mach-types                    |    2 +-
  5 files changed, 389 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-omap3encore.c

 diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
 index b997a35..5370561 100644
 --- a/arch/arm/mach-omap2/Kconfig
 +++ b/arch/arm/mach-omap2/Kconfig
 @@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
         for full description please see the products webpage at
         
 http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit

 +config MACH_ENCORE
 +        bool Barnes  Noble Encore (Nook Color)
 +        depends on ARCH_OMAP3
 +        select OMAP_PACKAGE_CBP
 +
  config MACH_OVERO
        bool Gumstix Overo board
        depends on ARCH_OMAP3
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index 512b152..b894777 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -189,6 +189,8 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)      += 
 board-omap3logic.o \
                                           hsmmc.o
  obj-$(CONFIG_MACH_OMAP3_TORPEDO)        += board-omap3logic.o \
                                           hsmmc.o
 +obj-$(CONFIG_MACH_ENCORE)              += board-omap3encore.o \
 +                                          hsmmc.o
  obj-$(CONFIG_MACH_OVERO)               += board-overo.o \
                                           hsmmc.o
  obj-$(CONFIG_MACH_OMAP3EVM)            += board-omap3evm.o \
 diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
 b/arch/arm/mach-omap2/board-omap3encore.c
 new file mode 100644
 index 000..c7bf8de
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-omap3encore.c
 @@ -0,0 +1,380 @@
 +/*
 + *
 + * Copyright (C) 2008 Texas Instruments Inc.
 + * Vikram Pandita vikram.pand...@ti.com
 + *
 + * Modified from mach-omap2/board-ldp.c
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + *
 + * April 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
 + *
 + */
 +
 +#include linux/kernel.h
 +#include linux/platform_device.h
 +#include linux/gpio_keys.h
 +#include linux/err.h
 +
 +#include linux/spi/spi.h
 +#include linux/i2c/twl.h
 +#include linux/regulator/machine.h
 +#include linux/regulator/fixed.h
 +#include mach/hardware.h
 +#include asm/mach-types.h
 +#include asm/mach/arch.h
 +
 +#include mach/gpio.h
 +#include plat/board.h
 +#include plat/common.h
 +#include plat/usb.h
 +#include plat/mux.h
 +#include plat/sram.h
 +#include plat/mmc.h
 +#include plat/omap-serial.h
 +#include plat/system.h
 +
 +#include mux.h
 +#include hsmmc.h
 +#include sdram-hynix-h8mbx00u0mer-0em.h
 +
 +/* Encore-specific device-info and i2c addresses. */
 +/* Battery, bus 1 */
 +#define MAX17042_I2C_SLAVE_ADDRESS     0x36
 +#define MAX17042_GPIO_FOR_IRQ          100
 +
 +/*addition of MAXIM8903/TI GPIO mapping WRT schematics */
 +#define MAX8903_UOK_GPIO_FOR_IRQ       115
 +#define MAX8903_DOK_GPIO_FOR_IRQ       114
 +#define MAX8903_GPIO_CHG_EN            110
 +#define MAX8903_GPIO_CHG_STATUS                111
 +#define MAX8903_GPIO_CHG_FLT           101
 +#define MAX8903_GPIO_CHG_IUSB          102
 +#define MAX8903_GPIO_CHG_USUS          104
 +#define MAX8903_GPIO_CHG_ILM           61
 +
 +/* TI WLAN */
 +#define ENCORE_WIFI_PMENA_GPIO         22
 +#define ENCORE_WIFI_IRQ_GPIO           15
 +#define ENCORE_WIFI_EN_POW             16
 +
 +/* Accelerometer i2c bus 1*/
 +#define KXTF9_I2C_SLAVE_ADDRESS                0x0F
 +#define KXTF9_GPIO_FOR_PWR             34
 +#define KXTF9_GPIO_FOR_IRQ             113
 +
 +/* Touch screen i2c bus 2*/
 +#define CYTTSP_I2C_SLAVEADDRESS                34
 +#define ENCORE_CYTTSP_GPIO             99
 +#define ENCORE_CYTTSP_RESET_GPIO       46
 +
 +/* Audio codec, i2c bus 2 */
 +#define AUDIO_CODEC_POWER_ENABLE_GPIO  103
 +#define AUDIO_CODEC_RESET_GPIO         37
 +#define AUDIO_CODEC_IRQ_GPIO           59
 +#define AIC3100_I2CSLAVEADDRESS                0x18
 +
 +
 +/* Different HW revisions */
 +#define BOARD_ENCORE_REV_EVT1A         0x1
 +#define BOARD_ENCORE_REV_EVT1B         0x2
 +#define BOARD_ENCORE_REV_EVT2          0x3
 +#define 

Re: [PATCH 1/2] Initial BN Nook Color (encore) support.

2011-04-28 Thread Oleg Drokin
Hello!

  Is there any special support needed for 3621, though?
  My understanding is that's just 3630 without a phone part?
  The .29 kernel they had only added is_omap3621 stuff that's not
  called anywhere, but smartreflex code (I guess that's might be
  useful to add too of course).

  I know about the new code drop is coming, but I don't
  expect there to be any basic stuff changes (and this board file
  is coming pretty barebones right now), besides I am not so
  optimistic to actually expect this patch to be merged right away,
  but I am already gathering valuable feedback. ;)

  BTW I saw in the archives that you are also working a port,
  do you have your tree hosted anywhere?

Bye,
Oleg
On Apr 28, 2011, at 7:34 PM, Abimanyu Gottumukkala wrote:

 Hi,
 
 Nook color has Ti OMAP 3621. 3621 CPU Support is not available in
 current kernel, adding CPU support will be nice before board.
 BN is set to release new source code in few days, taking new code as
 porting base is also recommended.
 
 Regards,
 Abimanyu G
 
 On Thu, Apr 28, 2011 at 9:27 PM,  gr...@linuxhacker.ru wrote:
 From: Oleg Drokin gr...@linuxhacker.ru
 
 Bare-bones board file, comes with serial console, gpio keys,
 MMC/SDCard and USB support.
 ---
  arch/arm/mach-omap2/Kconfig  |5 +
  arch/arm/mach-omap2/Makefile |2 +
  arch/arm/mach-omap2/board-omap3encore.c  |  380 
 ++
  arch/arm/plat-omap/include/plat/uncompress.h |1 +
  arch/arm/tools/mach-types|2 +-
  5 files changed, 389 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-omap3encore.c
 
 diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
 index b997a35..5370561 100644
 --- a/arch/arm/mach-omap2/Kconfig
 +++ b/arch/arm/mach-omap2/Kconfig
 @@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
 for full description please see the products webpage at
 
 http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
 
 +config MACH_ENCORE
 +bool Barnes  Noble Encore (Nook Color)
 +depends on ARCH_OMAP3
 +select OMAP_PACKAGE_CBP
 +
  config MACH_OVERO
bool Gumstix Overo board
depends on ARCH_OMAP3
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index 512b152..b894777 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -189,6 +189,8 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
 board-omap3logic.o \
   hsmmc.o
  obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
   hsmmc.o
 +obj-$(CONFIG_MACH_ENCORE)  += board-omap3encore.o \
 +  hsmmc.o
  obj-$(CONFIG_MACH_OVERO)   += board-overo.o \
   hsmmc.o
  obj-$(CONFIG_MACH_OMAP3EVM)+= board-omap3evm.o \
 diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
 b/arch/arm/mach-omap2/board-omap3encore.c
 new file mode 100644
 index 000..c7bf8de
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-omap3encore.c
 @@ -0,0 +1,380 @@
 +/*
 + *
 + * Copyright (C) 2008 Texas Instruments Inc.
 + * Vikram Pandita vikram.pand...@ti.com
 + *
 + * Modified from mach-omap2/board-ldp.c
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + *
 + * April 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
 + *
 + */
 +
 +#include linux/kernel.h
 +#include linux/platform_device.h
 +#include linux/gpio_keys.h
 +#include linux/err.h
 +
 +#include linux/spi/spi.h
 +#include linux/i2c/twl.h
 +#include linux/regulator/machine.h
 +#include linux/regulator/fixed.h
 +#include mach/hardware.h
 +#include asm/mach-types.h
 +#include asm/mach/arch.h
 +
 +#include mach/gpio.h
 +#include plat/board.h
 +#include plat/common.h
 +#include plat/usb.h
 +#include plat/mux.h
 +#include plat/sram.h
 +#include plat/mmc.h
 +#include plat/omap-serial.h
 +#include plat/system.h
 +
 +#include mux.h
 +#include hsmmc.h
 +#include sdram-hynix-h8mbx00u0mer-0em.h
 +
 +/* Encore-specific device-info and i2c addresses. */
 +/* Battery, bus 1 */
 +#define MAX17042_I2C_SLAVE_ADDRESS 0x36
 +#define MAX17042_GPIO_FOR_IRQ  100
 +
 +/*addition of MAXIM8903/TI GPIO mapping WRT schematics */
 +#define MAX8903_UOK_GPIO_FOR_IRQ   115
 +#define MAX8903_DOK_GPIO_FOR_IRQ   114
 +#define MAX8903_GPIO_CHG_EN110
 +#define MAX8903_GPIO_CHG_STATUS111
 +#define MAX8903_GPIO_CHG_FLT   101
 +#define MAX8903_GPIO_CHG_IUSB  102
 +#define MAX8903_GPIO_CHG_USUS  104
 +#define MAX8903_GPIO_CHG_ILM   61
 +
 +/* TI WLAN */
 +#define ENCORE_WIFI_PMENA_GPIO 22
 +#define ENCORE_WIFI_IRQ_GPIO   15
 +#define 

Re: [PATCH 1/2] Initial BN Nook Color (Encore) support

2011-04-27 Thread Mike Rapoport
On 04/27/11 04:52, gr...@linuxhacker.ru wrote:
 From: Oleg Drokin gr...@linuxhacker.ru
 
 Just bare-bones board file that has only serial console working.
 ---
  arch/arm/mach-omap2/Kconfig|5 +
  arch/arm/mach-omap2/Makefile   |1 +
  arch/arm/mach-omap2/board-omap3encore.c|  152 
 
  arch/arm/plat-omap/include/plat/board-encore.h |   76 
  arch/arm/plat-omap/include/plat/uncompress.h   |1 +
  arch/arm/tools/mach-types  |2 +-
  6 files changed, 236 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-omap2/board-omap3encore.c
  create mode 100644 arch/arm/plat-omap/include/plat/board-encore.h
 
 diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
 index b997a35..5370561 100644
 --- a/arch/arm/mach-omap2/Kconfig
 +++ b/arch/arm/mach-omap2/Kconfig
 @@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
for full description please see the products webpage at

 http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
  
 +config MACH_ENCORE
 +bool Barnes  Noble Encore (Nook Color)
 +depends on ARCH_OMAP3
 +select OMAP_PACKAGE_CBP
 +
  config MACH_OVERO
   bool Gumstix Overo board
   depends on ARCH_OMAP3
 diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
 index 512b152..207f372 100644
 --- a/arch/arm/mach-omap2/Makefile
 +++ b/arch/arm/mach-omap2/Makefile
 @@ -189,6 +189,7 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
 board-omap3logic.o \
  hsmmc.o
  obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
  hsmmc.o
 +obj-$(CONFIG_MACH_ENCORE)   += board-omap3encore.o
  obj-$(CONFIG_MACH_OVERO) += board-overo.o \
  hsmmc.o
  obj-$(CONFIG_MACH_OMAP3EVM)  += board-omap3evm.o \
 diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
 b/arch/arm/mach-omap2/board-omap3encore.c
 new file mode 100644
 index 000..9a00d6b
 --- /dev/null
 +++ b/arch/arm/mach-omap2/board-omap3encore.c
 @@ -0,0 +1,152 @@
 +/*
 + *
 + * Copyright (C) 2008 Texas Instruments Inc.
 + * Vikram Pandita vikram.pand...@ti.com
 + *
 + * Modified from mach-omap2/board-ldp.c
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License version 2 as
 + * published by the Free Software Foundation.
 + *
 + * Apri 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
 + *
 + */
 +
 +#include linux/kernel.h
 +#include linux/init.h
 +#include linux/platform_device.h
 +#include linux/delay.h
 +#include linux/input.h
 +#include linux/gpio_keys.h
 +#include linux/workqueue.h
 +#include linux/err.h
 +#include linux/clk.h
 +
 +#include linux/spi/spi.h
 +#include linux/interrupt.h
 +#include linux/regulator/machine.h
 +#include linux/regulator/fixed.h
 +#include linux/dma-mapping.h
 +#include plat/board-encore.h
 +#include mach/hardware.h
 +#include asm/mach-types.h
 +#include asm/mach/arch.h
 +#include asm/mach/map.h
 +
 +#include plat/mcspi.h
 +#include mach/gpio.h
 +#include plat/board.h
 +#include plat/common.h
 +#include plat/gpmc.h
 +#include plat/usb.h
 +#include plat/mux.h
 +
 +#include asm/system.h // For system_serial_high  system_serial_low

No C++ comments, please.

 +#include asm/io.h
 +#include asm/delay.h
 +#include plat/sram.h
 +
 +#include plat/display.h
 +#include plat/omap-serial.h
 +
 +#include plat/system.h
 +
 +#include mux.h
 +#include prcm-common.h
 +
 +#include sdram-hynix-h8mbx00u0mer-0em.h
 +
 +#include media/v4l2-int-device.h

Please check what header files are actually required and drop the rest...

 +#ifdef CONFIG_ANDROID_RAM_CONSOLE
 +#include linux/bootmem.h
 +#endif

AFAIK, there's no CONFIG_ANDROID_ in the kernel

 +/* Use address that is most likely unused and untouched by u-boot */
 +#define ENCORE_RAM_CONSOLE_START 0x8e00
 +#define ENCORE_RAM_CONSOLE_SIZE (0x2)
 +
 +static struct resource encore_ram_console_resource[] = { 
 +{
 +.start  = ENCORE_RAM_CONSOLE_START,
 +.end= ENCORE_RAM_CONSOLE_START + ENCORE_RAM_CONSOLE_SIZE - 1,
 +.flags  = IORESOURCE_MEM,
 +}
 +};
 +
 +static struct platform_device encore_ram_console_device = {
 +.name   = ram_console,
 +.id = 0,
 +.num_resources  = ARRAY_SIZE(encore_ram_console_resource),
 +.resource   = encore_ram_console_resource,
 +};

and there's no ram_console driver as well.
I don't think it'd make sense to register ram_console device at all.

 +static struct platform_device *encore_devices[] __initdata = {
 + encore_ram_console_device,
 +};
 +
 +static void __init omap_encore_init_early(void)
 +{
 +printk(in early ini\n);
 + omap2_init_common_infrastructure();
 + omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params,
 +  

[PATCH 1/2] Initial BN Nook Color (Encore) support

2011-04-26 Thread green
From: Oleg Drokin gr...@linuxhacker.ru

Just bare-bones board file that has only serial console working.
---
 arch/arm/mach-omap2/Kconfig|5 +
 arch/arm/mach-omap2/Makefile   |1 +
 arch/arm/mach-omap2/board-omap3encore.c|  152 
 arch/arm/plat-omap/include/plat/board-encore.h |   76 
 arch/arm/plat-omap/include/plat/uncompress.h   |1 +
 arch/arm/tools/mach-types  |2 +-
 6 files changed, 236 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-omap2/board-omap3encore.c
 create mode 100644 arch/arm/plat-omap/include/plat/board-encore.h

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index b997a35..5370561 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -173,6 +173,11 @@ config MACH_OMAP3_TORPEDO
 for full description please see the products webpage at
 
http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit
 
+config MACH_ENCORE
+bool Barnes  Noble Encore (Nook Color)
+depends on ARCH_OMAP3
+select OMAP_PACKAGE_CBP
+
 config MACH_OVERO
bool Gumstix Overo board
depends on ARCH_OMAP3
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 512b152..207f372 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -189,6 +189,7 @@ obj-$(CONFIG_MACH_OMAP3530_LV_SOM)  += 
board-omap3logic.o \
   hsmmc.o
 obj-$(CONFIG_MACH_OMAP3_TORPEDO)+= board-omap3logic.o \
   hsmmc.o
+obj-$(CONFIG_MACH_ENCORE)   += board-omap3encore.o
 obj-$(CONFIG_MACH_OVERO)   += board-overo.o \
   hsmmc.o
 obj-$(CONFIG_MACH_OMAP3EVM)+= board-omap3evm.o \
diff --git a/arch/arm/mach-omap2/board-omap3encore.c 
b/arch/arm/mach-omap2/board-omap3encore.c
new file mode 100644
index 000..9a00d6b
--- /dev/null
+++ b/arch/arm/mach-omap2/board-omap3encore.c
@@ -0,0 +1,152 @@
+/*
+ *
+ * Copyright (C) 2008 Texas Instruments Inc.
+ * Vikram Pandita vikram.pand...@ti.com
+ *
+ * Modified from mach-omap2/board-ldp.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Apri 2011 Oleg Drokin gr...@linuxhacker.ru - Port to 2.6.39
+ *
+ */
+
+#include linux/kernel.h
+#include linux/init.h
+#include linux/platform_device.h
+#include linux/delay.h
+#include linux/input.h
+#include linux/gpio_keys.h
+#include linux/workqueue.h
+#include linux/err.h
+#include linux/clk.h
+
+#include linux/spi/spi.h
+#include linux/interrupt.h
+#include linux/regulator/machine.h
+#include linux/regulator/fixed.h
+#include linux/dma-mapping.h
+#include plat/board-encore.h
+#include mach/hardware.h
+#include asm/mach-types.h
+#include asm/mach/arch.h
+#include asm/mach/map.h
+
+#include plat/mcspi.h
+#include mach/gpio.h
+#include plat/board.h
+#include plat/common.h
+#include plat/gpmc.h
+#include plat/usb.h
+#include plat/mux.h
+
+#include asm/system.h // For system_serial_high  system_serial_low
+#include asm/io.h
+#include asm/delay.h
+#include plat/sram.h
+
+#include plat/display.h
+#include plat/omap-serial.h
+
+#include plat/system.h
+
+#include mux.h
+#include prcm-common.h
+
+#include sdram-hynix-h8mbx00u0mer-0em.h
+
+#include media/v4l2-int-device.h
+
+#ifdef CONFIG_ANDROID_RAM_CONSOLE
+#include linux/bootmem.h
+#endif
+
+/* Use address that is most likely unused and untouched by u-boot */
+#define ENCORE_RAM_CONSOLE_START 0x8e00
+#define ENCORE_RAM_CONSOLE_SIZE (0x2)
+
+static struct resource encore_ram_console_resource[] = { 
+{
+.start  = ENCORE_RAM_CONSOLE_START,
+.end= ENCORE_RAM_CONSOLE_START + ENCORE_RAM_CONSOLE_SIZE - 1,
+.flags  = IORESOURCE_MEM,
+}
+};
+
+static struct platform_device encore_ram_console_device = {
+.name   = ram_console,
+.id = 0,
+.num_resources  = ARRAY_SIZE(encore_ram_console_resource),
+.resource   = encore_ram_console_resource,
+};
+
+static struct platform_device *encore_devices[] __initdata = {
+   encore_ram_console_device,
+};
+
+static void __init omap_encore_init_early(void)
+{
+printk(in early ini\n);
+   omap2_init_common_infrastructure();
+   omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params,
+ h8mbx00u0mer0em_sdrc_params);
+#ifdef CONFIG_ANDROID_RAM_CONSOLE
+   reserve_bootmem(ENCORE_RAM_CONSOLE_START, ENCORE_RAM_CONSOLE_SIZE, 0);
+#endif /* CONFIG_ANDROID_RAM_CONSOLE */
+printk(done early ini\n);
+}
+
+#if defined(CONFIG_USB_ANDROID) || defined(CONFIG_USB_ANDROID_MODULE)
+static struct usb_mass_storage_platform_data mass_storage_pdata = {
+   .vendor = BN ,
+