From 977a6c3ce7a2ab960590e9d997388cca2e4c29ee Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Mon, 18 Nov 2013 20:07:02 +0000 Subject: Initial commit for the Creative ZEN V Change-Id: I3408cfdf742ea5995d5c87bf76653f436e1ec2b0 --- rbutil/mkzenboot/dualboot.c | 13 +++++++++++++ rbutil/mkzenboot/dualboot.h | 1 + rbutil/mkzenboot/dualboot/Makefile | 3 ++- rbutil/mkzenboot/dualboot/dualboot.c | 4 +++- rbutil/mkzenboot/mkzenboot.c | 4 ++-- 5 files changed, 21 insertions(+), 4 deletions(-) (limited to 'rbutil/mkzenboot') diff --git a/rbutil/mkzenboot/dualboot.c b/rbutil/mkzenboot/dualboot.c index 42baada495..4c98468b3b 100644 --- a/rbutil/mkzenboot/dualboot.c +++ b/rbutil/mkzenboot/dualboot.c @@ -41,3 +41,16 @@ unsigned char dualboot_zen[168] = { 0x00, 0x00, 0x05, 0x80, 0xa4, 0x00, 0x00, 0x41, 0xda, 0x00, 0xeb, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; +unsigned char dualboot_zenv[168] = { + 0x10, 0x40, 0x2d, 0xe9, 0x7c, 0x30, 0x9f, 0xe5, 0x00, 0x30, 0x93, 0xe5, 0x78, 0x20, 0x9f, 0xe5, + 0x00, 0x00, 0x92, 0xe5, 0x74, 0x20, 0x9f, 0xe5, 0x02, 0x11, 0xa0, 0xe3, 0x08, 0x10, 0x82, 0xe5, + 0x03, 0x11, 0x81, 0xe2, 0x08, 0x10, 0x82, 0xe5, 0xff, 0x14, 0x81, 0xe2, 0x58, 0x10, 0x82, 0xe5, + 0xc2, 0x14, 0x81, 0xe2, 0x24, 0x10, 0x82, 0xe5, 0x01, 0x10, 0xa0, 0xe3, 0x18, 0x10, 0x82, 0xe5, + 0x04, 0x10, 0x82, 0xe5, 0x02, 0x10, 0xa0, 0xe1, 0x10, 0x20, 0x91, 0xe5, 0x01, 0x00, 0x12, 0xe3, + 0xfc, 0xff, 0xff, 0x0a, 0x34, 0x20, 0x9f, 0xe5, 0x50, 0x20, 0x92, 0xe5, 0xff, 0x24, 0xc2, 0xe3, + 0x3f, 0x27, 0xc2, 0xe3, 0xa5, 0x2e, 0x42, 0xe2, 0x0a, 0x20, 0x42, 0xe2, 0x63, 0x00, 0x52, 0xe3, + 0x00, 0x30, 0xa0, 0x93, 0x20, 0x00, 0x83, 0x95, 0x14, 0x20, 0x9f, 0xe5, 0x00, 0x00, 0x92, 0xe5, + 0x33, 0xff, 0x2f, 0xe1, 0x10, 0x80, 0xbd, 0xe8, 0xa0, 0x00, 0x00, 0x61, 0x9c, 0x00, 0x00, 0x61, + 0x00, 0x00, 0x05, 0x80, 0xa4, 0x00, 0x00, 0x61, 0xda, 0x00, 0xeb, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/rbutil/mkzenboot/dualboot.h b/rbutil/mkzenboot/dualboot.h index c6c2d402d0..2497d2900c 100644 --- a/rbutil/mkzenboot/dualboot.h +++ b/rbutil/mkzenboot/dualboot.h @@ -3,3 +3,4 @@ extern unsigned char dualboot_zenmozaic[168]; extern unsigned char dualboot_zenxfi[168]; extern unsigned char dualboot_zen[168]; +extern unsigned char dualboot_zenv[168]; diff --git a/rbutil/mkzenboot/dualboot/Makefile b/rbutil/mkzenboot/dualboot/Makefile index cc8c604f6e..752cc3ca28 100644 --- a/rbutil/mkzenboot/dualboot/Makefile +++ b/rbutil/mkzenboot/dualboot/Makefile @@ -11,10 +11,11 @@ LDFLAGS= # 1) add x to the list in TARGETS # 2) create a variable named OPT_x of the form: # OPT_x=target specific defines -TARGETS=zenmozaic zenxfi zen +TARGETS=zenmozaic zenxfi zen zenv OPT_zenmozaic=-DCREATIVE_ZENMOZAIC -DIMX233_SUBTARGET=3700 OPT_zenxfi=-DCREATIVE_ZENXFI -DIMX233_SUBTARGET=3700 OPT_zen=-DCREATIVE_ZEN -DIMX233_SUBTARGET=3700 +OPT_zenv=-DCREATIVE_ZENV -DIMX233_SUBTARGET=3600 BOOTLDS=$(patsubst %, dualboot_%.lds, $(TARGETS)) BOOTOBJS=$(patsubst %, dualboot_%.o, $(TARGETS)) diff --git a/rbutil/mkzenboot/dualboot/dualboot.c b/rbutil/mkzenboot/dualboot/dualboot.c index d0587fa65d..0b32772afb 100644 --- a/rbutil/mkzenboot/dualboot/dualboot.c +++ b/rbutil/mkzenboot/dualboot/dualboot.c @@ -21,6 +21,7 @@ #include "regs-pinctrl.h" #include "regs-power.h" #include "regs-lradc.h" +#include "regs-digctl.h" typedef unsigned long uint32_t; @@ -83,7 +84,8 @@ static inline void __attribute__((noreturn)) power_down() * Boot decision functions */ -#if defined(CREATIVE_ZENMOZAIC) || defined(CREATIVE_ZEN) || defined(CREATIVE_ZENXFI) +#if defined(CREATIVE_ZENMOZAIC) || defined(CREATIVE_ZEN) || defined(CREATIVE_ZENXFI) \ + || defined(CREATIVE_ZENV) static enum boot_t boot_decision() { setup_lradc(0); // setup LRADC channel 0 to read keys diff --git a/rbutil/mkzenboot/mkzenboot.c b/rbutil/mkzenboot/mkzenboot.c index 0a597d1a91..2817b7e666 100644 --- a/rbutil/mkzenboot/mkzenboot.c +++ b/rbutil/mkzenboot/mkzenboot.c @@ -94,7 +94,7 @@ static struct player_info_t zen_players[] = {"Zen SleekPhoto", null_key_v1, tl_zsp_key, true, NULL}, {"Zen Touch", null_key_v1, tl_zt_key, true, NULL}, {"Zen Xtra", null_key_v1, tl_zx_key, true, NULL}, - {"Zen V", null_key_v3, tl_zenv_key, false, NULL}, + {"Zen V", null_key_v3, tl_zenv_key, false, "Creative ZEN V"}, {"Zen V Plus", null_key_v3, tl_zenvp_key, false, NULL}, {"Zen V Video", null_key_v3, tl_zenvv_key, false, NULL}, {NULL, NULL, NULL, false, NULL} @@ -130,7 +130,7 @@ static const struct zen_model_desc_t zen_models[] = }, [MODEL_ZENV] = { - "Zen V", "zenv", 85, 0x60000000, NULL, 0 + "Zen V", "zenv", 85, 0x61000000, dualboot_zenv, sizeof(dualboot_zenv) }, [MODEL_ZENXFI] = { -- cgit v1.2.3