From 758bb3bc628705ff8e5c677b3b2d87720c726c13 Mon Sep 17 00:00:00 2001 From: Mark Arigo Date: Mon, 25 May 2009 21:10:45 +0000 Subject: [PATCH] 3 new ports: Samsung YH-820, YH-920, and YH-925. Mostly functional. Audio working on 820 & 925 (untested on the 920). No battery readings. No recording. No plugins. Keymap needs work. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21083 a1c6a512-1295-4272-9138-f99709370657 --- apps/SOURCES | 2 + apps/debug_menu.c | 3 + apps/keymaps/keymap-yh8xx_yh9xx.c | 356 ++++++++++ bootloader/SOURCES | 3 +- bootloader/main-pp.c | 3 + firmware/SOURCES | 52 ++ firmware/drivers/audio/ak4537.c | 280 ++++++++ firmware/export/ak4537.h | 193 ++++++ firmware/export/akcodec.h | 29 + firmware/export/audiohw.h | 2 + firmware/export/config-yh820.h | 187 +++++ firmware/export/config-yh920.h | 193 ++++++ firmware/export/config-yh925.h | 190 ++++++ firmware/export/config.h | 10 +- firmware/export/usb.h | 3 + firmware/sound.c | 7 +- firmware/target/arm/ata-pp5020.c | 4 + firmware/target/arm/i2c-pp.c | 3 +- firmware/target/arm/samsung/adc-target.h | 36 + .../target/arm/samsung/akcodec-yh82x_yh92x.c | 102 +++ firmware/target/arm/samsung/app.lds | 198 ++++++ .../target/arm/samsung/backlight-target.h | 28 + firmware/target/arm/samsung/boot.lds | 64 ++ firmware/target/arm/samsung/button-target.h | 55 ++ .../target/arm/samsung/button-yh82x_yh92x.c | 72 ++ .../target/arm/samsung/power-yh82x_yh92x.c | 77 +++ .../arm/samsung/yh820/backlight-yh820.c | 47 ++ .../target/arm/samsung/yh820/lcd-as-yh820.S | 551 +++++++++++++++ firmware/target/arm/samsung/yh820/lcd-yh820.c | 375 ++++++++++ .../arm/samsung/yh820/powermgmt-yh820.c | 59 ++ .../arm/samsung/yh920/backlight-yh920.c | 47 ++ firmware/target/arm/samsung/yh920/lcd-yh920.c | 294 ++++++++ .../arm/samsung/yh920/powermgmt-yh920.c | 59 ++ .../arm/samsung/yh925/backlight-yh925.c | 47 ++ .../target/arm/samsung/yh925/lcd-as-yh925.S | 538 +++++++++++++++ firmware/target/arm/samsung/yh925/lcd-yh925.c | 638 ++++++++++++++++++ .../arm/samsung/yh925/powermgmt-yh925.c | 59 ++ firmware/target/arm/system-pp502x.c | 6 + firmware/target/arm/usb-fw-pp502x.c | 7 + tools/configure | 112 ++- tools/scramble.c | 9 +- uisimulator/sdl/UI-yh_820.bmp | Bin 0 -> 472566 bytes uisimulator/sdl/UI-yh_920.bmp | Bin 0 -> 555750 bytes uisimulator/sdl/UI-yh_925.bmp | Bin 0 -> 555750 bytes uisimulator/sdl/button.c | 36 + uisimulator/sdl/uisdl.h | 18 + 46 files changed, 5028 insertions(+), 26 deletions(-) create mode 100755 apps/keymaps/keymap-yh8xx_yh9xx.c create mode 100644 firmware/drivers/audio/ak4537.c create mode 100644 firmware/export/ak4537.h create mode 100644 firmware/export/akcodec.h create mode 100644 firmware/export/config-yh820.h create mode 100644 firmware/export/config-yh920.h create mode 100644 firmware/export/config-yh925.h create mode 100644 firmware/target/arm/samsung/adc-target.h create mode 100644 firmware/target/arm/samsung/akcodec-yh82x_yh92x.c create mode 100644 firmware/target/arm/samsung/app.lds create mode 100644 firmware/target/arm/samsung/backlight-target.h create mode 100644 firmware/target/arm/samsung/boot.lds create mode 100644 firmware/target/arm/samsung/button-target.h create mode 100644 firmware/target/arm/samsung/button-yh82x_yh92x.c create mode 100644 firmware/target/arm/samsung/power-yh82x_yh92x.c create mode 100644 firmware/target/arm/samsung/yh820/backlight-yh820.c create mode 100644 firmware/target/arm/samsung/yh820/lcd-as-yh820.S create mode 100644 firmware/target/arm/samsung/yh820/lcd-yh820.c create mode 100644 firmware/target/arm/samsung/yh820/powermgmt-yh820.c create mode 100644 firmware/target/arm/samsung/yh920/backlight-yh920.c create mode 100644 firmware/target/arm/samsung/yh920/lcd-yh920.c create mode 100644 firmware/target/arm/samsung/yh920/powermgmt-yh920.c create mode 100644 firmware/target/arm/samsung/yh925/backlight-yh925.c create mode 100644 firmware/target/arm/samsung/yh925/lcd-as-yh925.S create mode 100644 firmware/target/arm/samsung/yh925/lcd-yh925.c create mode 100644 firmware/target/arm/samsung/yh925/powermgmt-yh925.c create mode 100644 uisimulator/sdl/UI-yh_820.bmp create mode 100644 uisimulator/sdl/UI-yh_920.bmp create mode 100644 uisimulator/sdl/UI-yh_925.bmp diff --git a/apps/SOURCES b/apps/SOURCES index 62bb78a473..c974379e39 100644 --- a/apps/SOURCES +++ b/apps/SOURCES @@ -230,4 +230,6 @@ keymaps/keymap-fuze.c keymaps/keymap-ondavx747.c #elif CONFIG_KEYPAD == ONDAVX767_PAD keymaps/keymap-ondavx767.c +#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD +keymaps/keymap-yh8xx_yh9xx.c #endif diff --git a/apps/debug_menu.c b/apps/debug_menu.c index 8a2b945fe1..92ef222d98 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c @@ -1032,6 +1032,9 @@ static bool dbg_spdif(void) (CONFIG_KEYPAD == PHILIPS_HDD1630_PAD) # define DEBUG_CANCEL BUTTON_POWER +#elif (CONFIG_KEYPAD == SAMSUNG_YH_PAD) +# define DEBUG_CANCEL BUTTON_PLAY + #endif /* key definitions */ /* Test code!!! */ diff --git a/apps/keymaps/keymap-yh8xx_yh9xx.c b/apps/keymaps/keymap-yh8xx_yh9xx.c new file mode 100755 index 0000000000..96935edde5 --- /dev/null +++ b/apps/keymaps/keymap-yh8xx_yh9xx.c @@ -0,0 +1,356 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: keymap-h1x0_h3x0.c 17847 2008-06-28 18:10:04Z bagder $ + * + * Copyright (C) 2006 Jonathan Gordon + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +/* Button Code Definitions for iriver h100/h300 target */ +#include +#include +#include + +#include "config.h" +#include "action.h" +#include "button.h" +#include "settings.h" + +/* + * The format of the list is as follows + * { Action Code, Button code, Prereq button code } + * if there's no need to check the previous button's value, use BUTTON_NONE + * Insert LAST_ITEM_IN_LIST at the end of each mapping + */ + +/* CONTEXT_CUSTOM's used in this file... + +CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions) +CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker screens + i.e where up/down is inc/dec + CONTEXT_SETTINGS = up/down is prev/next, l/r is inc/dec + +*/ + + +static const struct button_mapping button_context_standard[] = { + { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, + + { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_STD_MENU, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, + { ACTION_STD_CONTEXT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, + { ACTION_STD_QUICKSCREEN, BUTTON_PLAY|BUTTON_LEFT, BUTTON_PLAY }, + + { ACTION_STD_REC, BUTTON_REC|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_standard */ + +static const struct button_mapping button_context_wps[] = { + { ACTION_WPS_PLAY, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_WPS_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + + { ACTION_WPS_SKIPNEXT, BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD }, + { ACTION_WPS_SEEKFWD, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_FFWD|BUTTON_REL, BUTTON_FFWD|BUTTON_REPEAT }, + + { ACTION_WPS_SKIPPREV, BUTTON_REW|BUTTON_REL, BUTTON_REW }, + { ACTION_WPS_SEEKBACK, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_STOPSEEK, BUTTON_REW|BUTTON_REL, BUTTON_REW|BUTTON_REPEAT }, + + { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_PLAY|BUTTON_RIGHT, BUTTON_PLAY }, + { ACTION_WPS_ABSETA_PREVDIR,BUTTON_PLAY|BUTTON_LEFT, BUTTON_PLAY }, + { ACTION_WPS_ABRESET, BUTTON_PLAY|BUTTON_UP, BUTTON_PLAY }, + + { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, + + { ACTION_WPS_BROWSE, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_WPS_ID3SCREEN, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_WPS_PITCHSCREEN, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_PLAY }, + + /* these match context_standard */ + { ACTION_WPS_MENU, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, + { ACTION_WPS_CONTEXT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_RIGHT }, + { ACTION_WPS_QUICKSCREEN, BUTTON_PLAY|BUTTON_LEFT, BUTTON_PLAY }, + + { ACTION_WPS_REC, BUTTON_REC|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_wps */ + +static const struct button_mapping button_context_list[] = { +#ifdef SAMSUNG_YH820 + { ACTION_LISTTREE_PGUP, BUTTON_REC|BUTTON_UP, BUTTON_REC }, + { ACTION_LISTTREE_PGDOWN, BUTTON_REC|BUTTON_DOWN, BUTTON_REC }, +#else + { ACTION_LISTTREE_PGUP, BUTTON_FFWD, BUTTON_NONE }, + { ACTION_LISTTREE_PGDOWN, BUTTON_REW, BUTTON_NONE }, +#endif + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_list */ + +static const struct button_mapping button_context_tree[] = { + { ACTION_TREE_WPS, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_TREE_STOP, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_tree */ + +static const struct button_mapping button_context_listtree_scroll_with_combo[] = { + { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_TREE_PGLEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_REC }, + { ACTION_TREE_PGLEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT,BUTTON_NONE }, + + { ACTION_TREE_PGRIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_REC }, + { ACTION_TREE_PGRIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT,BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE) +}; + +static const struct button_mapping button_context_listtree_scroll_without_combo[] = { + { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, + { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, + + { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, + + { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, + + { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE) +}; + +static const struct button_mapping button_context_settings[] = { + { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT,BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT,BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_SETTINGS_RESET, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings */ + +static const struct button_mapping button_context_settings_right_is_inc[] = { + { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT,BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT,BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, + { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_SETTINGS_RESET, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settingsgraphical */ + +static const struct button_mapping button_context_yesno[] = { + { ACTION_YESNO_ACCEPT, BUTTON_RIGHT|BUTTON_REL, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_settings_yesno */ + +static const struct button_mapping button_context_colorchooser[] = { + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS) +}; /* button_context_settings_colorchooser */ + +static const struct button_mapping button_context_eq[] = { + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS) +}; /* button_context_settings_context_eq */ + +static const struct button_mapping button_context_bmark[] = { + { ACTION_BMS_DELETE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) +}; /* button_context_settings_bmark */ + +static const struct button_mapping button_context_time[] = { + { ACTION_STD_OK, BUTTON_PLAY|BUTTON_REL, BUTTON_PLAY }, + { ACTION_STD_CANCEL, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS) +}; /* button_context_settings_bmark */ + +static const struct button_mapping button_context_quickscreen[] = { + { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, + { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_STD_CANCEL, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_quickscreen */ + +static const struct button_mapping button_context_pitchscreen[] = { + { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, + { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, + + { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, + + { ACTION_PS_TOGGLE_MODE, BUTTON_FFWD, BUTTON_NONE }, + { ACTION_PS_RESET, BUTTON_REW, BUTTON_NONE }, + { ACTION_PS_EXIT, BUTTON_PLAY, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_pitchcreen */ + +static const struct button_mapping button_context_recscreen[] = { + { ACTION_REC_PAUSE, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, +#ifdef SAMSUNG_YH820 + /* the yh-820 has a rec button */ + { ACTION_REC_NEWFILE, BUTTON_REC, BUTTON_NONE }, +#else + /* the yh-920 & yh-925 have a rec switch */ + { ACTION_REC_NEWFILE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE }, +#endif + + { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + + LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) +}; /* button_context_recscreen */ + +static const struct button_mapping button_context_keyboard[] = { + { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, + { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, + { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_KBD_CURSOR_LEFT, BUTTON_REW, BUTTON_NONE }, + { ACTION_KBD_CURSOR_LEFT, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_KBD_CURSOR_RIGHT, BUTTON_FFWD, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_FFWD|BUTTON_REPEAT, BUTTON_NONE }, + + { ACTION_KBD_BACKSPACE, BUTTON_LEFT|BUTTON_REW, BUTTON_NONE }, + { ACTION_KBD_BACKSPACE, BUTTON_LEFT|BUTTON_REW|BUTTON_REPEAT,BUTTON_NONE }, + + { ACTION_KBD_SELECT, BUTTON_PLAY, BUTTON_NONE }, + { ACTION_KBD_PAGE_FLIP, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE }, + + { ACTION_KBD_DONE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + { ACTION_KBD_ABORT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_PLAY }, + + { ACTION_KBD_MORSE_INPUT, BUTTON_PLAY|BUTTON_FFWD, BUTTON_NONE }, + { ACTION_KBD_MORSE_SELECT, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE }, + + LAST_ITEM_IN_LIST +}; /* button_context_keyboard */ + +const struct button_mapping* get_context_mapping(int context) +{ + switch (context) + { + case CONTEXT_STD: + return button_context_standard; + case CONTEXT_WPS: + return button_context_wps; + + case CONTEXT_LIST: + return button_context_list; + case CONTEXT_TREE: + case CONTEXT_MAINMENU: + if (global_settings.hold_lr_for_scroll_in_list) + return button_context_listtree_scroll_without_combo; + else + return button_context_listtree_scroll_with_combo; + case CONTEXT_CUSTOM|CONTEXT_TREE: + return button_context_tree; + + case CONTEXT_SETTINGS: + return button_context_settings; + case CONTEXT_CUSTOM|CONTEXT_SETTINGS: + case CONTEXT_SETTINGS_RECTRIGGER: + return button_context_settings_right_is_inc; + + case CONTEXT_SETTINGS_COLOURCHOOSER: + return button_context_colorchooser; + case CONTEXT_SETTINGS_EQ: + return button_context_eq; + + case CONTEXT_SETTINGS_TIME: + return button_context_time; + + case CONTEXT_YESNOSCREEN: + return button_context_yesno; + case CONTEXT_BOOKMARKSCREEN: + return button_context_bmark; + case CONTEXT_QUICKSCREEN: + return button_context_quickscreen; + case CONTEXT_PITCHSCREEN: + return button_context_pitchscreen; + case CONTEXT_RECSCREEN: + return button_context_recscreen; + case CONTEXT_KEYBOARD: + return button_context_keyboard; + } + return button_context_standard; +} diff --git a/bootloader/SOURCES b/bootloader/SOURCES index d86a815840..7ad12610d1 100644 --- a/bootloader/SOURCES +++ b/bootloader/SOURCES @@ -10,7 +10,8 @@ gigabeat-s.c #elif defined(IRIVER_H10) || defined(IRIVER_H10_5GB) || \ defined(SANSA_E200) || defined(SANSA_C200) || \ defined(MROBE_100) || defined(PHILIPS_SA9200) || \ - defined(PHILIPS_HDD1630) + defined(PHILIPS_HDD1630) || defined(SAMSUNG_YH820) || \ + defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925) #ifdef E200R_INSTALLER main-e200r-installer.c #elif defined(C240_ERASE) diff --git a/bootloader/main-pp.c b/bootloader/main-pp.c index b26807dd62..b79ca30ea4 100644 --- a/bootloader/main-pp.c +++ b/bootloader/main-pp.c @@ -70,6 +70,9 @@ extern int show_logo(void); #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD #define BOOTLOADER_BOOT_OF BUTTON_MENU +#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD +#define BOOTLOADER_BOOT_OF BUTTON_LEFT + #endif /* Maximum allowed firmware image size. 10MB is more than enough */ diff --git a/firmware/SOURCES b/firmware/SOURCES index a3bc4f2a1f..3a78f5540c 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES @@ -250,6 +250,8 @@ drivers/audio/as3514.c drivers/audio/tlv320.c #elif defined(HAVE_MAS35XX) drivers/audio/mas35xx.c +#elif defined(HAVE_AK4537) +drivers/audio/ak4537.c #endif /* defined(HAVE_*) */ #endif /* !defined(SIMULATOR) && !defined(BOOTLOADER) */ @@ -1282,3 +1284,53 @@ target/arm/at91sam/lyre_proto1/system-lyre_proto1.c target/arm/at91sam/lyre_proto1/timer-lyre_proto1.c #endif #endif /* SIMULATOR */ + +#ifdef SAMSUNG_YH820 +#ifndef SIMULATOR +target/arm/ata-as-arm.S +target/arm/ata-pp5020.c +target/arm/adc-pp5020.c +target/arm/i2s-pp.c +target/arm/usb-fw-pp502x.c +target/arm/samsung/akcodec-yh82x_yh92x.c +target/arm/samsung/button-yh82x_yh92x.c +target/arm/samsung/power-yh82x_yh92x.c +target/arm/samsung/yh820/backlight-yh820.c +target/arm/samsung/yh820/lcd-yh820.c +target/arm/samsung/yh820/lcd-as-yh820.S +target/arm/samsung/yh820/powermgmt-yh820.c +#endif /* SIMULATOR */ +#endif /* SAMSUNG_YH820 */ + +#ifdef SAMSUNG_YH920 +#ifndef SIMULATOR +target/arm/ata-as-arm.S +target/arm/ata-pp5020.c +target/arm/adc-pp5020.c +target/arm/i2s-pp.c +target/arm/usb-fw-pp502x.c +target/arm/samsung/akcodec-yh82x_yh92x.c +target/arm/samsung/button-yh82x_yh92x.c +target/arm/samsung/power-yh82x_yh92x.c +target/arm/samsung/yh920/backlight-yh920.c +target/arm/samsung/yh920/lcd-yh920.c +target/arm/samsung/yh920/powermgmt-yh920.c +#endif /* SIMULATOR */ +#endif /* SAMSUNG_YH920 */ + +#ifdef SAMSUNG_YH925 +#ifndef SIMULATOR +target/arm/ata-as-arm.S +target/arm/ata-pp5020.c +target/arm/adc-pp5020.c +target/arm/i2s-pp.c +target/arm/usb-fw-pp502x.c +target/arm/samsung/akcodec-yh82x_yh92x.c +target/arm/samsung/button-yh82x_yh92x.c +target/arm/samsung/power-yh82x_yh92x.c +target/arm/samsung/yh925/backlight-yh925.c +target/arm/samsung/yh925/lcd-yh925.c +target/arm/samsung/yh925/lcd-as-yh925.S +target/arm/samsung/yh925/powermgmt-yh925.c +#endif /* SIMULATOR */ +#endif /* SAMSUNG_YH925 */ diff --git a/firmware/drivers/audio/ak4537.c b/firmware/drivers/audio/ak4537.c new file mode 100644 index 0000000000..83a040e177 --- /dev/null +++ b/firmware/drivers/audio/ak4537.c @@ -0,0 +1,280 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2009 Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "system.h" +#include "string.h" + +// #define LOGF_ENABLE +#include "logf.h" + +#include "pcm_sampr.h" +#include "audio.h" +#include "akcodec.h" +#include "audiohw.h" +#include "sound.h" + +const struct sound_settings_info audiohw_settings[] = { + [SOUND_VOLUME] = {"dB", 0, 1,-127, 0, -25}, + /* HAVE_SW_TONE_CONTROLS */ + [SOUND_BASS] = {"dB", 0, 1, -24, 24, 0}, + [SOUND_TREBLE] = {"dB", 0, 1, -24, 24, 0}, + [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0}, + [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0}, + [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100}, +#if defined(HAVE_RECORDING) + [SOUND_LEFT_GAIN] = {"dB", 1, 1, 0, 31, 23}, + [SOUND_RIGHT_GAIN] = {"dB", 1, 1, 0, 31, 23}, + [SOUND_MIC_GAIN] = {"dB", 1, 1, 0, 1, 0}, +#endif +}; + +static unsigned char akc_regs[AKC_NUM_REGS]; + +static void akc_write(int reg, unsigned val) +{ + if ((unsigned)reg >= AKC_NUM_REGS) + return; + + akc_regs[reg] = (unsigned char)val; + akcodec_write(reg, val); +} + +static void akc_set(int reg, unsigned bits) +{ + akc_write(reg, akc_regs[reg] | bits); +} + +static void akc_clear(int reg, unsigned bits) +{ + akc_write(reg, akc_regs[reg] & ~bits); +} + +static void akc_write_masked(int reg, unsigned bits, unsigned mask) +{ + akc_write(reg, (akc_regs[reg] & ~mask) | (bits & mask)); +} + +#if 0 +static void codec_set_active(int active) +{ + (void)active; +} +#endif + +/* convert tenth of dB volume (-1270..0) to master volume register value */ +int tenthdb2master(int db) +{ + if (db < VOLUME_MIN) + return 0xff; /* mute */ + else if (db >= VOLUME_MAX) + return 0x00; + else + return ((-db)/5); +} + +int sound_val2phys(int setting, int value) +{ + int result; + + switch(setting) + { +#ifdef HAVE_RECORDING + case SOUND_LEFT_GAIN: + case SOUND_RIGHT_GAIN: + result = (value - 23) * 15; /* fix */ + break; + case SOUND_MIC_GAIN: + result = value * 200; /* fix */ + break; +#endif + default: + result = value; + break; + } + + return result; +} + +void audiohw_mute(bool mute) +{ + if (mute) + { + akc_set(AK4537_DAC, SMUTE); + udelay(200000); + } + else + { + udelay(200000); + akc_clear(AK4537_DAC, SMUTE); + } +} + +void audiohw_preinit(void) +{ + int i; + for (i = 0; i < AKC_NUM_REGS; i++) + akc_regs[i] = akcodec_read(i); + + /* POWER UP SEQUENCE (from the datasheet) */ + /* Note: the delay length is what the OF uses, although the datasheet + suggests they can be shorter */ + + /* power up VCOM */ + akc_set(AK4537_PM1, PMVCM); + udelay(100000); + + /* setup AK4537_SIGSEL1 */ + akc_set(AK4537_SIGSEL1, ALCS | MOUT2); + udelay(100000); + + /* setup AK4537_SIGSEL2 */ + akc_write_masked(AK4537_SIGSEL2, DAHS, (DAHS | HPL | HPR)); + udelay(100000); + + /* setup AK4537_MODE1 */ + akc_write_masked(AK4537_MODE1, DIF_I2S | BICK_32FS | MCKI_PLL_12000KHZ, + (DIF_MASK | BICK_MASK | MCKI_MASK)); + udelay(100000); + + /* CLOCK SETUP - X'tal used in PLL mode (master mode) */ + + /* release the pull-down of the XTI pin and power-up the X'tal osc */ + akc_write_masked(AK4537_PM2, PMXTL, (MCLKPD | PMXTL)); + udelay(100000); + + /* power-up the PLL */ + akc_set(AK4537_PM2, PMPLL); + udelay(100000); + + /* enable MCKO output and setup MCKO output freq */ + akc_set(AK4537_MODE1, MCKO_EN); + udelay(100000); + + /* ENABLE HEADPHONE AMP OUTPUT */ + + /* setup the sampling freq if PLL mode is used */ + akc_write_masked(AK4537_MODE2, AKC_PLL_44100HZ, FS_MASK); + + /* setup the low freq boost level */ + akc_write_masked(AK4537_DAC, BST_OFF, BST_MASK); + + /* setup the digital volume */ + akc_write(AK4537_ATTL, 0x10); + akc_write(AK4537_ATTR, 0x10); + + /* power up the DAC */ + akc_set(AK4537_PM2, PMDAC); + udelay(100000); + + /* power up the headphone amp */ + akc_clear(AK4537_SIGSEL2, HPL | HPR); + udelay(100000); + + /* power up the common voltage of headphone amp */ + akc_set(AK4537_PM2, PMHPL | PMHPR); + udelay(100000); +} + +void audiohw_postinit(void) +{ + /* nothing */ +} + +void audiohw_close(void) +{ + /* POWER DOWN SEQUENCE (from the datasheet) */ + + /* mute */ + akc_write(AK4537_ATTL, 0xff); + akc_write(AK4537_ATTR, 0xff); + akc_set(AK4537_DAC, SMUTE); + udelay(100000); + + /* power down the common voltage of headphone amp */ + akc_clear(AK4537_PM2, PMHPL | PMHPR); + + /* power down the DAC */ + akc_clear(AK4537_PM2, PMDAC); + + /* power down the headphone amp */ + akc_set(AK4537_SIGSEL2, HPL | HPR); + + /* disable MCKO */ + akc_clear(AK4537_MODE1, MCKO_EN); + + /* power down X'tal and PLL, pull down the XTI pin */ + akc_write_masked(AK4537_PM2, MCLKPD, (MCLKPD | PMXTL | PMPLL)); + + /* power down VCOM */ + akc_clear(AK4537_PM1, PMVCM); + udelay(100000); + + akcodec_close(); /* target-specific */ +} + +void audiohw_set_master_vol(int vol_l, int vol_r) +{ + akc_write(AK4537_ATTL, vol_l & 0xff); + akc_write(AK4537_ATTR, vol_r & 0xff); +} + +void audiohw_set_frequency(int fsel) +{ + static const unsigned char srctrl_table[HW_NUM_FREQ] = + { + HW_HAVE_8_([HW_FREQ_8] = AKC_PLL_8000HZ, ) + HW_HAVE_11_([HW_FREQ_11] = AKC_PLL_11025HZ,) + HW_HAVE_16_([HW_FREQ_16] = AKC_PLL_16000HZ,) + HW_HAVE_22_([HW_FREQ_22] = AKC_PLL_22050HZ,) + HW_HAVE_24_([HW_FREQ_24] = AKC_PLL_24000HZ,) + HW_HAVE_32_([HW_FREQ_32] = AKC_PLL_32000HZ,) + HW_HAVE_44_([HW_FREQ_44] = AKC_PLL_44100HZ,) + HW_HAVE_48_([HW_FREQ_48] = AKC_PLL_48000HZ,) + }; + + if ((unsigned)fsel >= HW_NUM_FREQ) + fsel = HW_FREQ_DEFAULT; + + akc_write_masked(AK4537_MODE2, srctrl_table[fsel], FS_MASK); +} + +#if defined(HAVE_RECORDING) +void audiohw_enable_recording(bool source_mic) +{ + (void)source_mic; +} + +void audiohw_disable_recording(void) +{ +} + +void audiohw_set_recvol(int left, int right, int type) +{ + (void)left; + (void)right; + (void)type; +} + +void audiohw_set_monitor(bool enable) +{ + (void)enable; +} +#endif /* HAVE_RECORDING */ diff --git a/firmware/export/ak4537.h b/firmware/export/ak4537.h new file mode 100644 index 0000000000..1f272d41fc --- /dev/null +++ b/firmware/export/ak4537.h @@ -0,0 +1,193 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _AK4537_H +#define _AK4537_H + +/* Volume goes from -127.0 ... 0 dB in 0.5 dB increments */ +#define VOLUME_MIN -1270 +#define VOLUME_MAX 0 + +extern int tenthdb2master(int db); + +extern void audiohw_set_master_vol(int vol_l, int vol_r); + +#define AKC_NUM_REGS 0x11 + +/* Common register bits */ + +/* Power Management 1 */ +#define AK4537_PM1 0x00 +#define PMADL (1 << 0) +#define PMMICL (1 << 1) +#define PMIPGL (1 << 2) +#define PMMO (1 << 3) +#define PMLO (1 << 4) +#define PMBPM (1 << 5) +#define PMBPS (1 << 6) +#define PMVCM (1 << 7) + +/* Power Management 2 */ +#define AK4537_PM2 0x01 +#define PMDAC (1 << 0) +#define PMHPR (1 << 1) +#define PMHPL (1 << 2) +#define PMSPK (1 << 3) +#define SPKG (1 << 4) +#define PMPLL (1 << 5) +#define PMXTL (1 << 6) +#define MCLKPD (1 << 7) + +/* Signal Select 1 */ +#define AK4537_SIGSEL1 0x02 +#define MOUT2 (1 << 0) +#define ALCS (1 << 1) +#define BPMSP (1 << 2) +#define BPSSP (1 << 3) +#define MICM (1 << 4) +#define DAMO (1 << 5) +#define PSMO (1 << 6) +#define MOGN (1 << 7) + +/* Signal Select 2 */ +#define AK4537_SIGSEL2 0x03 +#define HPR (1 << 0) +#define HPL (1 << 1) +#define BPMHP (1 << 2) +#define BPSHP (1 << 3) +#define MICL (1 << 4) +#define PSLO (1 << 6) +#define DAHS (1 << 7) + +/* Mode Control 1 */ +#define AK4537_MODE1 0x04 +#define DIF_MASK (3 << 0) +#define BICK_MASK (1 << 2) +#define MCKO_EN (1 << 3) +#define MCKO_MASK (3 << 4) +#define MCKI_MASK (3 << 6) + +/* Mode Control 2 */ +#define AK4537_MODE2 0x05 +#define SPPS (1 << 0) +#define LOOP (1 << 1) +#define HPM (1 << 2) +#define FS_MASK (7 << 5) + +/* DAC Control */ +#define AK4537_DAC 0x06 +#define DEM_MASK (3 << 0) +#define BST_MASK (3 << 2) +#define DATTC (1 << 4) +#define SMUTE (1 << 5) +#define TM_MASK (3 << 6) + +/* MIC Control */ +#define AK4537_MIC 0x07 +#define MGAIN (1 << 0) +#define MSEL (1 << 1) +#define MICAD (1 << 2) +#define MPWRI (1 << 3) +#define MPWRE (1 << 4) +#define IPGAC (1 << 5) + +/* Timer Select */ +#define AK4537_TIMER 0x08 +#define LTM_MASK (3 << 0) +#define WTM_MASK (3 << 2) +#define ZTM_MASK (3 << 4) +#define ZTM1 (1 << 5) +#define ROTM (1 << 6) + +/* ALC Mode Control 1 */ +#define AK4537_ALC1 0x09 +#define LMTH (1 << 0) +#define RATT (1 << 1) +#define LMAT_MASK (3 << 2) +#define ZELM (1 << 4) +#define ALC1 (1 << 5) +#define ALC2 (1 << 6) + +/* ALC Mode Control 2 */ +#define AK4537_ALC2 0x0a + +/* Lch Input PGA Control */ +#define AK4537_IPGAL 0x0b + +/* Lch Digital ATT Control */ +#define AK4537_ATTL 0x0c + +/* Rch Digital ATT Control */ +#define AK4537_ATTR 0x0d + +/* Volume Control */ +#define AK4537_VOLUME 0x0e +#define ATTS_MASK (7 << 4) +#define ATTRM (1 << 7) + +/* Rch Input PGA Control */ +#define AK4537_IPGAR 0x0f + +/* Power Management 3 */ +#define AK4537_PM3 0x10 +#define PMADR (1 << 0) +#define PMMICR (1 << 1) +#define PMIPGR (1 << 2) +#define INR (1 << 3) +#define INL (1 << 4) + +/* Sampling frequency (PLL mode) */ +#define AKC_PLL_8000HZ (7 << 5) +#define AKC_PLL_11025HZ (2 << 5) +#define AKC_PLL_16000HZ (6 << 5) +#define AKC_PLL_22050HZ (1 << 5) +#define AKC_PLL_24000HZ (5 << 5) +#define AKC_PLL_32000HZ (4 << 5) +#define AKC_PLL_44100HZ (0 << 5) +#define AKC_PLL_48000HZ (3 << 5) + +/* MCKI input frequency (PLL mode) */ +#define MCKI_PLL_12288KHZ (0 << 6) +#define MCKI_PLL_11289KHZ (1 << 6) +#define MCKI_PLL_12000KHZ (2 << 6) + +/* MCKO frequency (PLL mode, MCKO bit = 1) */ +#define MCKO_PLL_256FS (0 << 4) +#define MCKO_PLL_128FS (1 << 4) +#define MCKO_PLL_64FS (2 << 4) +#define MCKO_PLL_32FS (3 << 4) + +/* BICK frequency */ +#define BICK_64FS (0 << 2) +#define BICK_32FS (1 << 2) + +/* Audio interface format */ +#define DIF_MSB_LSB (0 << 0) +#define DIF_MSB_MSB (1 << 0) +#define DIF_I2S (2 << 0) + +/* Low frequency boost control */ +#define BST_OFF (0 << 2) +#define BST_MIN (1 << 2) +#define BST_MID (2 << 2) +#define BST_MAX (3 << 2) + +#endif /* _AK4537_H */ diff --git a/firmware/export/akcodec.h b/firmware/export/akcodec.h new file mode 100644 index 0000000000..7cb2bad7e5 --- /dev/null +++ b/firmware/export/akcodec.h @@ -0,0 +1,29 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Marcoen Hirschberg + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _AKCODEC_H +#define _AKCODEC_H + +int akcodec_read(int reg); +void akcodec_write(int reg, int data); +void akcodec_close(void); + +#endif diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h index e53db7e7b9..66fc19f923 100644 --- a/firmware/export/audiohw.h +++ b/firmware/export/audiohw.h @@ -59,6 +59,8 @@ #include "tsc2100.h" #elif defined(HAVE_JZ4740_CODEC) #include "jz4740-codec.h" +#elif defined(HAVE_AK4537) +#include "ak4537.h" #endif /* convert caps into defines */ diff --git a/firmware/export/config-yh820.h b/firmware/export/config-yh820.h new file mode 100644 index 0000000000..b96a7c72ea --- /dev/null +++ b/firmware/export/config-yh820.h @@ -0,0 +1,187 @@ +/* + * This config file is for the Samsung YH-820 + */ + +#define TARGET_TREE /* this target is using the target tree system */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 57 +#define MODEL_NAME "Samsung YH-820" + +/* define this if you have recording possibility */ +/* todo #define HAVE_RECORDING */ + +/* Define bitmask of input sources - recordable bitmask can be defined + explicitly if different */ +#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN ) + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ + SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \ + SAMPR_CAP_11 | SAMPR_CAP_8) + +/* define the bitmask of recording sample rates */ +#define REC_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ + SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \ + SAMPR_CAP_11 | SAMPR_CAP_8) + +/* Type of LCD */ +#define CONFIG_LCD LCD_S6B33B2 + +/* LCD dimensions */ +#define LCD_WIDTH 128 +#define LCD_HEIGHT 96 +#define LCD_DEPTH 16 /* 65536 colours */ +#define LCD_PIXELFORMAT RGB565 + +#ifndef BOOTLOADER +/* Define this if your LCD can be enabled/disabled */ +#define HAVE_LCD_ENABLE + +/* Define this if your LCD can be put to sleep. + HAVE_LCD_ENABLE should be defined as well. */ +/* todo #define HAVE_LCD_SLEEP*/ +/* todo #define HAVE_LCD_SLEEP_SETTING */ +#endif /* !BOOTLOADER */ + +/* Define this for LCD backlight available */ +#define HAVE_BACKLIGHT + +/* Define this if your LCD can set contrast */ +#define HAVE_LCD_CONTRAST + +#define MIN_CONTRAST_SETTING 0 +#define MAX_CONTRAST_SETTING 255 +#define DEFAULT_CONTRAST_SETTING 137 + +/* define this if you can flip your LCD */ +/* #define HAVE_LCD_FLIP */ + +/* define this if you can invert the colours on your LCD */ +/* todo #define HAVE_LCD_INVERT */ + +/* put the lcd frame buffer in IRAM */ +/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR */ + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR + +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you have access to the pitchscreen */ +#define HAVE_PITCHSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +#define CONFIG_KEYPAD SAMSUNG_YH_PAD + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +/* todo verify rtc (or none) */ +/* #ifndef BOOTLOADER */ +#if 0 +#define CONFIG_RTC RTC_E8564 +#define HAVE_RTC_ALARM +#endif + +/* define this if you have a disk storage, i.e. something + that needs spinups and can cause skips when shaked */ +#define HAVE_DISK_STORAGE + +/* define this if you use an ATA controller */ +#define CONFIG_STORAGE STORAGE_ATA + +/* We're able to shut off power to the HDD */ +#ifndef SIMULATOR +/* todo #define HAVE_ATA_POWER_OFF */ +#endif + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x100000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x80000 + +/* Define this if you have the AK4537 audio codec */ +#define HAVE_AK4537 + +/* AK4537 has no tone controls, so we use the software ones */ +#define HAVE_SW_TONE_CONTROLS + +#define AB_REPEAT_ENABLE 1 + +#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */ +#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 50 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ + +/* Hardware controlled charging */ +#define CONFIG_CHARGING CHARGING_SIMPLE + +/* define this if the unit can be powered or charged via USB */ +#define HAVE_USB_POWER + +#ifndef SIMULATOR + +/* Define this if you have a PortalPlayer PP5020 */ +#define CONFIG_CPU PP5020 + +/* Define this if you want to use the PP5020 i2c interface */ +#define CONFIG_I2C I2C_PP5020 + +/* define this if the hardware can be powered off while charging */ +#define HAVE_POWEROFF_WHILE_CHARGING + +/* The start address index for ROM builds */ +#define ROM_START 0x00000000 + +/* The size of the flash ROM */ +#define FLASH_SIZE 0x100000 + +/* Define this to the CPU frequency */ +#define CPU_FREQ 75000000 + +/* USB On-the-go */ +#define CONFIG_USBOTG USBOTG_ARC + +/* enable these for the experimental usb stack */ +#define HAVE_USBSTACK +#define USE_ROCKBOX_USB +/* todo - check */ +#define USB_VENDOR_ID 0x04e8 +#define USB_PRODUCT_ID 0x5023 + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +#define MI4_FORMAT +#define BOOTFILE_EXT "mi4" +#define BOOTFILE "rockbox." BOOTFILE_EXT +#define BOOTDIR "/.rockbox" + +/* Offset ( in the firmware file's header ) to the file CRC */ +#define FIRMWARE_OFFSET_FILE_CRC 0x00 + +/* Offset ( in the firmware file's header ) to the real data */ +#define FIRMWARE_OFFSET_FILE_DATA 0x00 + +#define ICODE_ATTR_TREMOR_NOT_MDCT + +#endif /* !SIMULATOR */ diff --git a/firmware/export/config-yh920.h b/firmware/export/config-yh920.h new file mode 100644 index 0000000000..62febaac71 --- /dev/null +++ b/firmware/export/config-yh920.h @@ -0,0 +1,193 @@ +/* + * This config file is for the Samsung YH-920 + */ + +#define TARGET_TREE /* this target is using the target tree system */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 58 +#define MODEL_NAME "Samsung YH-920" + +/* define this if you have recording possibility */ +/* todo #define HAVE_RECORDING */ + +/* Define bitmask of input sources - recordable bitmask can be defined + explicitly if different */ +#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN ) + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ + SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \ + SAMPR_CAP_11 | SAMPR_CAP_8) + +/* define the bitmask of recording sample rates */ +#define REC_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ + SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \ + SAMPR_CAP_11 | SAMPR_CAP_8) + +/* Type of LCD */ +#define CONFIG_LCD LCD_S1D15E06 + +/* LCD dimensions */ +#define LCD_WIDTH 160 +#define LCD_HEIGHT 128 +#define LCD_DEPTH 2 +#define LCD_PIXELFORMAT VERTICAL_PACKING + +/* Display colours, for screenshots and sim (0xRRGGBB) */ +#define LCD_DARKCOLOR 0x000000 +#define LCD_BRIGHTCOLOR 0x5a915a +#define LCD_BL_DARKCOLOR 0x000000 +#define LCD_BL_BRIGHTCOLOR 0xadd8e6 + +/* todo */ +/* #ifndef BOOTLOADER */ +#if 0 +/* Define this if your LCD can be enabled/disabled */ +#define HAVE_LCD_ENABLE + +/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE + * should be defined as well. + * We can currently put the lcd to sleep but it won't wake up properly */ +#define HAVE_LCD_SLEEP +#define HAVE_LCD_SLEEP_SETTING +#endif + +/* Define this for LCD backlight available */ +#define HAVE_BACKLIGHT + +/* Define this if your LCD can set contrast */ +/* todo #define HAVE_LCD_CONTRAST */ + +#define MIN_CONTRAST_SETTING 0 +#define MAX_CONTRAST_SETTING 30 +#define DEFAULT_CONTRAST_SETTING 14 /* Match boot contrast */ + +/* define this if you can flip your LCD */ +/* todo #define HAVE_LCD_FLIP */ + +/* define this if you can invert the colours on your LCD */ +/* todo #define HAVE_LCD_INVERT */ + +/* put the lcd frame buffer in IRAM */ +/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR */ + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you have access to the pitchscreen */ +#define HAVE_PITCHSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +#define CONFIG_KEYPAD SAMSUNG_YH_PAD + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +/* todo verify rtc (or none) */ +/* #ifndef BOOTLOADER */ +#if 0 +#define CONFIG_RTC RTC_E8564 +#define HAVE_RTC_ALARM +#endif + +/* define this if you have a disk storage, i.e. something + that needs spinups and can cause skips when shaked */ +#define HAVE_DISK_STORAGE + +/* define this if you use an ATA controller */ +#define CONFIG_STORAGE STORAGE_ATA + +/* We're able to shut off power to the HDD */ +#ifndef SIMULATOR +/* todo #define HAVE_ATA_POWER_OFF */ +#endif + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x100000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x80000 + +/* Define this if you have the AK4537 audio codec */ +#define HAVE_AK4537 + +/* AK4537 has no tone controls, so we use the software ones */ +#define HAVE_SW_TONE_CONTROLS + +#define AB_REPEAT_ENABLE 1 + +#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */ +#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 50 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ + +/* Hardware controlled charging */ +#define CONFIG_CHARGING CHARGING_SIMPLE + +/* define this if the unit can be powered or charged via USB */ +#define HAVE_USB_POWER + +#ifndef SIMULATOR + +/* Define this if you have a PortalPlayer PP5020 */ +#define CONFIG_CPU PP5020 + +/* Define this if you want to use the PP5020 i2c interface */ +#define CONFIG_I2C I2C_PP5020 + +/* define this if the hardware can be powered off while charging */ +#define HAVE_POWEROFF_WHILE_CHARGING + +/* The start address index for ROM builds */ +#define ROM_START 0x00000000 + +/* The size of the flash ROM */ +#define FLASH_SIZE 0x100000 + +/* Define this to the CPU frequency */ +#define CPU_FREQ 75000000 + +/* USB On-the-go */ +#define CONFIG_USBOTG USBOTG_ARC + +/* enable these for the experimental usb stack */ +#define HAVE_USBSTACK +#define USE_ROCKBOX_USB +/* todo - check */ +#define USB_VENDOR_ID 0x04e8 +#define USB_PRODUCT_ID 0x5022 + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +#define MI4_FORMAT +#define BOOTFILE_EXT "mi4" +#define BOOTFILE "rockbox." BOOTFILE_EXT +#define BOOTDIR "/.rockbox" + +/* Offset ( in the firmware file's header ) to the file CRC */ +#define FIRMWARE_OFFSET_FILE_CRC 0x00 + +/* Offset ( in the firmware file's header ) to the real data */ +#define FIRMWARE_OFFSET_FILE_DATA 0x00 + +#define ICODE_ATTR_TREMOR_NOT_MDCT + +#endif /* !SIMULATOR */ diff --git a/firmware/export/config-yh925.h b/firmware/export/config-yh925.h new file mode 100644 index 0000000000..3a6403f93f --- /dev/null +++ b/firmware/export/config-yh925.h @@ -0,0 +1,190 @@ +/* + * This config file is for the Samsung YH-925 + */ + +#define TARGET_TREE /* this target is using the target tree system */ + +/* For Rolo and boot loader */ +#define MODEL_NUMBER 59 +#define MODEL_NAME "Samsung YH-925" + +/* define this if you have recording possibility */ +/* todo #define HAVE_RECORDING */ + +/* Define bitmask of input sources - recordable bitmask can be defined + explicitly if different */ +#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN ) + +/* define the bitmask of hardware sample rates */ +#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ + SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \ + SAMPR_CAP_11 | SAMPR_CAP_8) + +/* define the bitmask of recording sample rates */ +#define REC_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ + SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \ + SAMPR_CAP_11 | SAMPR_CAP_8) + +/* Type of LCD */ +#define CONFIG_LCD LCD_YH925 + +/* LCD dimensions */ +#define LCD_WIDTH 160 +#define LCD_HEIGHT 128 +#define LCD_DEPTH 16 /* 65536 colours */ +#define LCD_PIXELFORMAT RGB565 + +/* todo */ +/* #ifndef BOOTLOADER */ +#if 0 +/* Define this if your LCD can be enabled/disabled */ +#define HAVE_LCD_ENABLE + +/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE + * should be defined as well. + * We can currently put the lcd to sleep but it won't wake up properly */ +#define HAVE_LCD_SLEEP +#define HAVE_LCD_SLEEP_SETTING +#endif + +/* Define this for LCD backlight available */ +#define HAVE_BACKLIGHT + +/* Define this if your LCD can set contrast */ +/* todo #define HAVE_LCD_CONTRAST */ + +#define MIN_CONTRAST_SETTING 0 +#define MAX_CONTRAST_SETTING 30 +#define DEFAULT_CONTRAST_SETTING 14 /* Match boot contrast */ + +/* define this if you can flip your LCD */ +/* todo #define HAVE_LCD_FLIP */ + +/* define this if you can invert the colours on your LCD */ +/* todo #define HAVE_LCD_INVERT */ + +/* put the lcd frame buffer in IRAM */ +/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR */ + +/* define this if you have a bitmap LCD display */ +#define HAVE_LCD_BITMAP + +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR + +/* define this if you want album art for this target */ +#define HAVE_ALBUMART + +/* define this if you have access to the quickscreen */ +#define HAVE_QUICKSCREEN + +/* define this if you have access to the pitchscreen */ +#define HAVE_PITCHSCREEN + +/* define this if you would like tagcache to build on this target */ +#define HAVE_TAGCACHE + +#define CONFIG_KEYPAD SAMSUNG_YH_PAD + +/* Define this if you do software codec */ +#define CONFIG_CODEC SWCODEC + +/* define this if you have a real-time clock */ +/* todo verify rtc (or none) */ +/* #ifndef BOOTLOADER */ +#if 0 +#define CONFIG_RTC RTC_E8564 +#define HAVE_RTC_ALARM +#endif + +/* define this if you have a disk storage, i.e. something + that needs spinups and can cause skips when shaked */ +#define HAVE_DISK_STORAGE + +/* define this if you use an ATA controller */ +#define CONFIG_STORAGE STORAGE_ATA + +/* We're able to shut off power to the HDD */ +#ifndef SIMULATOR +/* todo #define HAVE_ATA_POWER_OFF */ +#endif + +/* Define this if you have a software controlled poweroff */ +#define HAVE_SW_POWEROFF + +/* The number of bytes reserved for loadable codecs */ +#define CODEC_SIZE 0x100000 + +/* The number of bytes reserved for loadable plugins */ +#define PLUGIN_BUFFER_SIZE 0x80000 + +/* Define this if you have the AK4537 audio codec */ +#define HAVE_AK4537 + +/* AK4537 has no tone controls, so we use the software ones */ +#define HAVE_SW_TONE_CONTROLS + +#define AB_REPEAT_ENABLE 1 + +#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */ +#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */ +#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */ +#define BATTERY_CAPACITY_INC 50 /* capacity increment */ +#define BATTERY_TYPES_COUNT 1 /* only one type */ + +/* Hardware controlled charging */ +#define CONFIG_CHARGING CHARGING_SIMPLE + +/* define this if the unit can be powered or charged via USB */ +#define HAVE_USB_POWER + +#ifndef SIMULATOR + +/* Define this if you have a PortalPlayer PP5020 */ +#define CONFIG_CPU PP5020 + +/* Define this if you want to use the PP5020 i2c interface */ +#define CONFIG_I2C I2C_PP5020 + +/* define this if the hardware can be powered off while charging */ +#define HAVE_POWEROFF_WHILE_CHARGING + +/* The start address index for ROM builds */ +#define ROM_START 0x00000000 + +/* The size of the flash ROM */ +#define FLASH_SIZE 0x100000 + +/* Define this to the CPU frequency */ +#define CPU_FREQ 75000000 + +/* USB On-the-go */ +#define CONFIG_USBOTG USBOTG_ARC + +/* enable these for the experimental usb stack */ +#define HAVE_USBSTACK +#define USE_ROCKBOX_USB +/* todo - check */ +#define USB_VENDOR_ID 0x04e8 +#define USB_PRODUCT_ID 0x5024 + +/* Virtual LED (icon) */ +#define CONFIG_LED LED_VIRTUAL + +/* Define this if you have adjustable CPU frequency */ +#define HAVE_ADJUSTABLE_CPU_FREQ + +#define MI4_FORMAT +#define BOOTFILE_EXT "mi4" +#define BOOTFILE "rockbox." BOOTFILE_EXT +#define BOOTDIR "/.rockbox" + +/* Offset ( in the firmware file's header ) to the file CRC */ +#define FIRMWARE_OFFSET_FILE_CRC 0x00 + +/* Offset ( in the firmware file's header ) to the real data */ +#define FIRMWARE_OFFSET_FILE_DATA 0x00 + +#define ICODE_ATTR_TREMOR_NOT_MDCT + +#endif /* !SIMULATOR */ diff --git a/firmware/export/config.h b/firmware/export/config.h index ff9a8e9589..56cd2dec94 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -109,6 +109,7 @@ #define SANSA_CLIP_PAD 35 #define SANSA_FUZE_PAD 36 #define LYRE_PROTO1_PAD 37 +#define SAMSUNG_YH_PAD 38 /* CONFIG_REMOTE_KEYPAD */ #define H100_REMOTE 1 @@ -185,7 +186,8 @@ #define LCD_SSD1303 31 /* as used by the Sansa Clip */ #define LCD_FUZE 32 /* as used by the Sansa Fuze */ #define LCD_LYRE_PROTO1 33 /* as used by the Lyre */ - +#define LCD_YH925 34 /* as used by Samsung YH-925 (similar to the H10 20GB) */ + /* LCD_PIXELFORMAT */ #define HORIZONTAL_PACKING 1 #define VERTICAL_PACKING 2 @@ -364,6 +366,12 @@ Lyre prototype 1*/ #include "config-c200v2.h" #elif defined(LYRE_PROTO1) #include "config-lyre_proto1.h" +#elif defined(SAMSUNG_YH820) +#include "config-yh820.h" +#elif defined(SAMSUNG_YH920) +#include "config-yh920.h" +#elif defined(SAMSUNG_YH925) +#include "config-yh925.h" #else /* no known platform */ #endif diff --git a/firmware/export/usb.h b/firmware/export/usb.h index 42893c3468..557639c622 100644 --- a/firmware/export/usb.h +++ b/firmware/export/usb.h @@ -84,6 +84,9 @@ enum { #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD #define USBPOWER_BUTTON BUTTON_PLAYLIST #define USBPOWER_BTN_IGNORE BUTTON_POWER +#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD +#define USBPOWER_BUTTON BUTTON_RIGHT +#define USBPOWER_BTN_IGNORE BUTTON_LEFT #endif #endif /* HAVE_USB_POWER */ diff --git a/firmware/sound.c b/firmware/sound.c index 5e5a596374..0e16c5a3a9 100644 --- a/firmware/sound.c +++ b/firmware/sound.c @@ -254,7 +254,8 @@ static void set_prescaled_volume(void) dac_volume(tenthdb2reg(l), tenthdb2reg(r), false); #elif defined(HAVE_UDA1380) || defined(HAVE_WM8975) || defined(HAVE_WM8758) \ || defined(HAVE_WM8711) || defined(HAVE_WM8721) || defined(HAVE_WM8731) \ - || defined(HAVE_WM8751) || defined(HAVE_AS3514) || defined(HAVE_TSC2100) + || defined(HAVE_WM8751) || defined(HAVE_AS3514) || defined(HAVE_TSC2100) \ + || defined(HAVE_AK4537) audiohw_set_master_vol(tenthdb2master(l), tenthdb2master(r)); #if defined(HAVE_WM8975) || defined(HAVE_WM8758) \ || (defined(HAVE_WM8751) && !defined(MROBE_100)) || defined(HAVE_WM8985) @@ -584,8 +585,8 @@ void sound_set(int setting, int value) #if (!defined(HAVE_AS3514) && !defined(HAVE_WM8975) \ && !defined(HAVE_WM8758) && !defined(HAVE_TSC2100) \ && !defined (HAVE_WM8711) && !defined (HAVE_WM8721) \ - && !defined (HAVE_WM8731) && !defined (HAVE_WM8978)) \ - || defined(SIMULATOR) + && !defined (HAVE_WM8731) && !defined (HAVE_WM8978) \ + && !defined(HAVE_AK4537)) || defined(SIMULATOR) int sound_val2phys(int setting, int value) { #if CONFIG_CODEC == MAS3587F diff --git a/firmware/target/arm/ata-pp5020.c b/firmware/target/arm/ata-pp5020.c index ee770b4c5b..8e2200c901 100644 --- a/firmware/target/arm/ata-pp5020.c +++ b/firmware/target/arm/ata-pp5020.c @@ -45,6 +45,10 @@ bool ata_is_coldstart() void ata_device_init() { +#ifdef SAMSUNG_YH920 + CPU_INT_DIS = (1< ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef _ADC_TARGET_H_ +#define _ADC_TARGET_H_ + +#define NUM_ADC_CHANNELS 2 + +#define ADC_CHANNEL_0 0 +#define ADC_CHANNEL_1 1 +#define ADC_CHANNEL_2 2 +#define ADC_CHANNEL_3 3 + +#define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */ + +/* Force a scan now */ +unsigned short adc_scan(int channel); + +#endif diff --git a/firmware/target/arm/samsung/akcodec-yh82x_yh92x.c b/firmware/target/arm/samsung/akcodec-yh82x_yh92x.c new file mode 100644 index 0000000000..bfdd9203ce --- /dev/null +++ b/firmware/target/arm/samsung/akcodec-yh82x_yh92x.c @@ -0,0 +1,102 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (c) 2009 Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "system.h" +#include "audiohw.h" +#include "i2c-pp.h" +#include "i2s.h" +#include "akcodec.h" + +// #define LOGF_ENABLE +#include "logf.h" + +#define I2C_AUDIO_ADDRESS 0x10 + +/* + * Initialise the PP I2C and I2S. + */ +void audiohw_init(void) +{ + unsigned long tmp; + + logf("audiohw_init"); + + /* I2S device enable */ + DEV_EN |= (DEV_I2S | DEV_EXTCLOCKS); + + /* I2S device reset */ + DEV_RS |= DEV_I2S; + asm volatile ("nop\n"); + DEV_RS &= ~DEV_I2S; + + DEV_INIT1 &= ~0x3000000; + + tmp = DEV_INIT1; + DEV_INIT1 = tmp; + + DEV_INIT2 &= ~0x100; + + /* reset the I2S controller into known state */ + i2s_reset(); + + /* this gpio pin maybe powers the codec chip */ + GPIOB_ENABLE |= 0x01; + GPIOB_OUTPUT_EN |= 0x01; + GPIOB_OUTPUT_VAL |= 0x01; + + GPIOL_ENABLE |= 0x20; + GPIOL_OUTPUT_VAL &= ~0x20; + GPIOL_OUTPUT_EN |= 0x20; + + GPO32_VAL |= 0x00000020; + GPO32_ENABLE |= 0x00000020; + + GPIOF_ENABLE |= 0x80; + GPIOF_OUTPUT_VAL |= 0x80; + GPIOF_OUTPUT_EN |= 0x80; + + audiohw_preinit(); + + GPIOL_ENABLE |= 0x20; + GPIOL_OUTPUT_VAL |= 0x20; + GPIOL_OUTPUT_EN |= 0x20; +} + +void akcodec_close(void) +{ + GPIOF_ENABLE |= 0x80; + GPIOF_OUTPUT_VAL &= ~0x80; + GPIOF_OUTPUT_EN |= 0x80; + + GPIOB_ENABLE |= 0x01; + GPIOB_OUTPUT_EN |= 0x01; + GPIOB_OUTPUT_VAL |= 0x01; +} + +void akcodec_write(int reg, int data) +{ + pp_i2c_send(I2C_AUDIO_ADDRESS, reg, data); +} + +int akcodec_read(int reg) +{ + return i2c_readbyte(I2C_AUDIO_ADDRESS, reg); +} diff --git a/firmware/target/arm/samsung/app.lds b/firmware/target/arm/samsung/app.lds new file mode 100644 index 0000000000..22468192eb --- /dev/null +++ b/firmware/target/arm/samsung/app.lds @@ -0,0 +1,198 @@ +#include "config.h" + +ENTRY(start) + +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +STARTUP(target/arm/crt0-pp.o) + +#define PLUGINSIZE PLUGIN_BUFFER_SIZE +#define CODECSIZE CODEC_SIZE + +#ifdef DEBUG +#define STUBOFFSET 0x10000 +#else +#define STUBOFFSET 0 +#endif + +#define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE + +#define DRAMORIG 0x00000000 + STUBOFFSET +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0xc000 + +#ifdef CPU_PP502x +#define NOCACHE_BASE 0x10000000 +#else +#define NOCACHE_BASE 0x28000000 +#endif + +#define CACHEALIGN_SIZE 16 + +/* End of the audio buffer, where the codec buffer starts */ +#define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) + +/* Where the codec buffer ends, and the plugin buffer starts */ +#define ENDADDR (ENDAUDIOADDR + CODECSIZE) + +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + +SECTIONS +{ + .text : + { + loadaddress = .; + _loadaddress = .; + . = ALIGN(0x200); + *(.init.text) + *(.text*) + *(.glue_7) + *(.glue_7t) + . = ALIGN(0x4); + } > DRAM + + .rodata : + { + *(.rodata) /* problems without this, dunno why */ + *(.rodata*) + *(.rodata.str1.1) + *(.rodata.str1.4) + . = ALIGN(0x4); + + /* Pseudo-allocate the copies of the data sections */ + _datacopy = .; + } > DRAM + + /* TRICK ALERT! For RAM execution, we put the .data section at the + same load address as the copy. Thus, we don't waste extra RAM + when we don't actually need the copy. */ + .data : AT ( _datacopy ) + { + _datastart = .; + *(.data*) + . = ALIGN(0x4); + _dataend = .; + } > DRAM + +#if NOCACHE_BASE != 0 + /* .ncdata section is placed at uncached physical alias address and is + * loaded at the proper cached virtual address - no copying is + * performed in the init code */ + .ncdata . + NOCACHE_BASE : + { + . = ALIGN(CACHEALIGN_SIZE); + *(.ncdata*) + . = ALIGN(CACHEALIGN_SIZE); + } AT> DRAM +#endif + + /DISCARD/ : + { + *(.eh_frame) + } + + .vectors 0x0 : + { + _vectorsstart = .; + *(.vectors); + _vectorsend = .; + } AT> DRAM + + _vectorscopy = LOADADDR(.vectors); + _noloaddram = LOADADDR(.vectors); + + .ibss IRAMORIG (NOLOAD) : + { + _iedata = .; + *(.qharray) + *(.ibss) + . = ALIGN(0x4); + _iend = .; + } > IRAM + + .iram _iend : + { + _iramstart = .; + *(.icode) + *(.irodata) + *(.idata) + . = ALIGN(0x4); + _iramend = .; + } > IRAM AT> DRAM + + _iramcopy = LOADADDR(.iram); + + .idle_stacks (NOLOAD) : + { + *(.idle_stacks) +#if NUM_CORES > 1 + cpu_idlestackbegin = .; + . += IDLE_STACK_SIZE; + cpu_idlestackend = .; +#endif + cop_idlestackbegin = .; + . += IDLE_STACK_SIZE; + cop_idlestackend = .; + } > IRAM + + .stack (NOLOAD) : + { + *(.stack) + stackbegin = .; + . += 0x2000; + stackend = .; + } > IRAM + + /* .bss and .ncbss are treated as a single section to use one init loop to + * zero it - note "_edata" and "_end" */ + .bss _noloaddram (NOLOAD) : + { + _edata = .; + *(.bss*) + *(COMMON) + . = ALIGN(0x4); + } > DRAM + +#if NOCACHE_BASE != 0 + .ncbss . + NOCACHE_BASE (NOLOAD): + { + . = ALIGN(CACHEALIGN_SIZE); + *(.ncbss*) + . = ALIGN(CACHEALIGN_SIZE); + } AT> DRAM +#endif + + /* This will be aligned by preceding alignments */ + .endaddr . - NOCACHE_BASE (NOLOAD) : + { + _end = .; + } > DRAM + + .audiobuf (NOLOAD) : + { + _audiobuffer = .; + audiobuffer = .; + } > DRAM + + .audiobufend ENDAUDIOADDR (NOLOAD) : + { + audiobufend = .; + _audiobufend = .; + } > DRAM + + .codec ENDAUDIOADDR (NOLOAD) : + { + codecbuf = .; + _codecbuf = .; + } + + .plugin ENDADDR (NOLOAD) : + { + _pluginbuf = .; + pluginbuf = .; + } +} diff --git a/firmware/target/arm/samsung/backlight-target.h b/firmware/target/arm/samsung/backlight-target.h new file mode 100644 index 0000000000..a27b489319 --- /dev/null +++ b/firmware/target/arm/samsung/backlight-target.h @@ -0,0 +1,28 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef BACKLIGHT_TARGET_H +#define BACKLIGHT_TARGET_H + +#define _backlight_init() true +void _backlight_on(void); +void _backlight_off(void); + +#endif diff --git a/firmware/target/arm/samsung/boot.lds b/firmware/target/arm/samsung/boot.lds new file mode 100644 index 0000000000..ccc68c0916 --- /dev/null +++ b/firmware/target/arm/samsung/boot.lds @@ -0,0 +1,64 @@ +#include "config.h" + +ENTRY(start) +OUTPUT_FORMAT(elf32-littlearm) +OUTPUT_ARCH(arm) +STARTUP(target/arm/crt0-pp-bl.o) + +#define DRAMSIZE (MEMORYSIZE * 0x100000) + +#define DRAMORIG 0x10000000 +#define IRAMORIG 0x40000000 +#define IRAMSIZE 0x18000 +#define FLASHORIG 0x001f0000 +#define FLASHSIZE 2M + +MEMORY +{ + DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE + IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE +} + +SECTIONS +{ + . = IRAMORIG; + + .text : { + *(.init.text) + *(.text*) + *(.glue_7) + *(.glue_7t) + } > IRAM + + .data : { + *(.icode) + *(.irodata) + *(.idata) + *(.data*) + *(.ncdata*) + *(.rodata*) + _dataend = . ; + } > IRAM + + .stack : { + *(.stack) + _stackbegin = .; + stackbegin = .; + . += 0x2000; + _stackend = .; + stackend = .; + } > IRAM + + /* The bss section is too large for IRAM - we just move it 16MB into the + DRAM */ + + . = DRAMORIG; + .bss . + (16*1024*1024) : { + _edata = .; + *(.bss*); + *(.ibss); + *(COMMON) + *(.ncbss*); + _end = .; + } > DRAM +} diff --git a/firmware/target/arm/samsung/button-target.h b/firmware/target/arm/samsung/button-target.h new file mode 100644 index 0000000000..035010a9c8 --- /dev/null +++ b/firmware/target/arm/samsung/button-target.h @@ -0,0 +1,55 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef _BUTTON_TARGET_H_ +#define _BUTTON_TARGET_H_ + +#include +#include "config.h" + +#define HAS_BUTTON_HOLD + +bool button_hold(void); +void button_init_device(void); +int button_read_device(void); + +/* Button codes for Samsung YH-820, 920, 925 */ + +/* Main unit's buttons */ +/* Left = Menu, Right = Sel */ +#define BUTTON_LEFT 0x00000001 +#define BUTTON_RIGHT 0x00000002 +#define BUTTON_UP 0x00000004 +#define BUTTON_DOWN 0x00000008 +#define BUTTON_PLAY 0x00000010 +#define BUTTON_REW 0x00000020 +#define BUTTON_FFWD 0x00000040 +#define BUTTON_REC 0x00000080 + +#define BUTTON_MAIN 0x000000ff + +/* No Remote control */ +#define BUTTON_REMOTE 0 + +#define POWEROFF_BUTTON BUTTON_PLAY +#define POWEROFF_COUNT 15 + +#endif /* _BUTTON_TARGET_H_ */ diff --git a/firmware/target/arm/samsung/button-yh82x_yh92x.c b/firmware/target/arm/samsung/button-yh82x_yh92x.c new file mode 100644 index 0000000000..1ed8089b90 --- /dev/null +++ b/firmware/target/arm/samsung/button-yh82x_yh92x.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "system.h" +#include "button.h" +#include "backlight.h" + +void button_init_device(void) +{ + /* TODO...for now, hardware initialisation is done by the OF bootloader */ +} + +bool button_hold(void) +{ + return (~GPIOA_INPUT_VAL & 0x1); +} + +/* + * Get button pressed from hardware + */ +int button_read_device(void) +{ + int btn = BUTTON_NONE; + static bool hold_button = false; + bool hold_button_old; + + /* Hold */ + hold_button_old = hold_button; + hold_button = button_hold(); + +#ifndef BOOTLOADER + if (hold_button != hold_button_old) + backlight_hold_changed(hold_button); +#endif + + /* device buttons */ + if (!hold_button) + { + if (~GPIOA_INPUT_VAL & 0x04) btn |= BUTTON_LEFT; + if (~GPIOA_INPUT_VAL & 0x20) btn |= BUTTON_RIGHT; + if (~GPIOA_INPUT_VAL & 0x10) btn |= BUTTON_UP; + if (~GPIOA_INPUT_VAL & 0x08) btn |= BUTTON_DOWN; + if (~GPIOA_INPUT_VAL & 0x02) btn |= BUTTON_FFWD; + if (~GPIOA_INPUT_VAL & 0x80) btn |= BUTTON_REW; + if (~GPIOA_INPUT_VAL & 0x40) btn |= BUTTON_REC; +#if defined(SAMSUNG_YH820) + if ( GPIOB_INPUT_VAL & 0x80) btn |= BUTTON_PLAY; +#elif defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925) + if ( GPIOD_INPUT_VAL & 0x04) btn |= BUTTON_PLAY; +#endif + } + + return btn; +} diff --git a/firmware/target/arm/samsung/power-yh82x_yh92x.c b/firmware/target/arm/samsung/power-yh82x_yh92x.c new file mode 100644 index 0000000000..a9b64a29f4 --- /dev/null +++ b/firmware/target/arm/samsung/power-yh82x_yh92x.c @@ -0,0 +1,77 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +/* Created from power.c using some iPod code, and some custom stuff based on + GPIO analysis +*/ + +#include "config.h" +#include "cpu.h" +#include +#include "adc.h" +#include "kernel.h" +#include "system.h" +#include "power.h" +#include "logf.h" +#include "usb.h" + +void power_init(void) +{ +} + +unsigned int power_input_status(void) +{ + unsigned int status = POWER_INPUT_NONE; + + if (GPIOL_INPUT_VAL & 0x80) + status = POWER_INPUT_MAIN_CHARGER; + + if (GPIOD_INPUT_VAL & 0x10) + status |= POWER_INPUT_USB_CHARGER; + + return status; +} + +void ide_power_enable(bool on) +{ + (void)on; + /* We do nothing */ +} + + +bool ide_powered(void) +{ + /* pretend we are always powered - we don't turn it off */ + return true; +} + +void power_off(void) +{ + /* Disable interrupts on this core */ + disable_interrupt(IRQ_FIQ_STATUS); + + /* Mask them on both cores */ + CPU_INT_DIS = -1; + COP_INT_DIS = -1; + + while (1) + DEV_RS = -1; +} diff --git a/firmware/target/arm/samsung/yh820/backlight-yh820.c b/firmware/target/arm/samsung/yh820/backlight-yh820.c new file mode 100644 index 0000000000..5e2cf81e08 --- /dev/null +++ b/firmware/target/arm/samsung/yh820/backlight-yh820.c @@ -0,0 +1,47 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "cpu.h" +#include "system.h" +#include "backlight.h" +#include "lcd.h" + +void _backlight_on(void) +{ +#ifdef HAVE_LCD_SLEEP + backlight_lcd_sleep_countdown(false); /* stop counter */ +#endif +#ifdef HAVE_LCD_ENABLE + lcd_enable(true); /* power on lcd + visible display */ +#endif + GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 0x2); +} + +void _backlight_off(void) +{ + GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x2); +#ifdef HAVE_LCD_ENABLE + lcd_enable(false); /* power off visible display */ +#endif +#ifdef HAVE_LCD_SLEEP + backlight_lcd_sleep_countdown(true); /* start countdown */ +#endif +} diff --git a/firmware/target/arm/samsung/yh820/lcd-as-yh820.S b/firmware/target/arm/samsung/yh820/lcd-as-yh820.S new file mode 100644 index 0000000000..e466624d04 --- /dev/null +++ b/firmware/target/arm/samsung/yh820/lcd-as-yh820.S @@ -0,0 +1,551 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 by Jens Arnold + * Heavily based on lcd-as-memframe.c by Michael Sevakis + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "cpu.h" + +/**************************************************************************** + * void lcd_write_yuv_420_lines(unsigned char const * const src[3], + * int width, + * int stride); + * + * |R| |1.000000 -0.000001 1.402000| |Y'| + * |G| = |1.000000 -0.334136 -0.714136| |Pb| + * |B| |1.000000 1.772000 0.000000| |Pr| + * Scaled, normalized, rounded and tweaked to yield RGB 565: + * |R| |74 0 101| |Y' - 16| >> 9 + * |G| = |74 -24 -51| |Cb - 128| >> 8 + * |B| |74 128 0| |Cr - 128| >> 9 + * + * Write four RGB565 pixels in the following order on each loop: + * 1 3 + > down + * 2 4 \/ left + */ + .section .icode, "ax", %progbits + .align 2 + .global lcd_write_yuv420_lines + .type lcd_write_yuv420_lines, %function +lcd_write_yuv420_lines: + @ r0 = yuv_src + @ r1 = width + @ r2 = stride + stmfd sp!, { r4-r12 } @ save non-scratch + ldmia r0, { r4, r5, r6 } @ r4 = yuv_src[0] = Y'_p + @ r5 = yuv_src[1] = Cb_p + @ r6 = yuv_src[2] = Cr_p + @ r0 = scratch + sub r2, r2, #1 @ + mov r3, #0x70000000 @ + orr r3, r3, #0x3000 @ r3 = LCD1_BASE +10: @ loop line @ + ldrb r7, [r4], #1 @ r7 = *Y'_p++; + ldrb r8, [r5], #1 @ r8 = *Cb_p++; + ldrb r9, [r6], #1 @ r9 = *Cr_p++; + @ + sub r7, r7, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ actually (Y' - 16)*37 and shift right + add r7, r12, r7, asl #5 @ by one less when adding - same for all + @ + sub r8, r8, #128 @ Cb -= 128 + sub r9, r9, #128 @ Cr -= 128 + @ + add r10, r9, r9, asl #1 @ r10 = Cr*51 + Cb*24 + add r10, r10, r10, asl #4 @ + add r10, r10, r8, asl #3 @ + add r10, r10, r8, asl #4 @ + @ + add r11, r9, r9, asl #2 @ r9 = Cr*101 + add r11, r11, r9, asl #5 @ + add r9, r11, r9, asl #6 @ + @ + add r8, r8, #2 @ r8 = bu = (Cb*128 + 128) >> 8 + mov r8, r8, asr #2 @ + add r9, r9, #256 @ r9 = rv = (r9 + 256) >> 9 + mov r9, r9, asr #9 @ + rsb r10, r10, #128 @ r10 = guv = (-r10 + 128) >> 8 + mov r10, r10, asr #8 @ + @ compute R, G, and B + add r0, r8, r7, asr #8 @ r0 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r0, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r0, #31 @ clamp b + mvnhi r0, r0, asr #31 @ + andhi r0, r0, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + mov r11, r11, lsl #3 @ + orr r11, r11, r7, lsr #3 @ r11 = (r << 3) | (g >> 3) + orr r0, r0, r7, lsl #5 @ r0 = (g << 5) | b +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ + add r7, r12, r7, asl #5 @ + @ compute R, G, and B + add r0, r8, r7, asr #8 @ r0 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r0, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r0, #31 @ clamp b + mvnhi r0, r0, asr #31 @ + andhi r0, r0, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + ldrb r12, [r4], #1 @ r12 = Y' = *(Y'_p++) + @ + mov r11, r11, lsl #3 @ + orr r11, r11, r7, lsr #3 @ r11 = (r << 3) | (g >> 3) + orr r0, r0, r7, lsl #5 @ r0 = (g << 5) | b +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ + add r7, r12, r7, asl #5 @ + @ compute R, G, and B + add r0, r8, r7, asr #8 @ r0 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r0, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r0, #31 @ clamp b + mvnhi r0, r0, asr #31 @ + andhi r0, r0, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + @ + mov r11, r11, lsl #3 @ + orr r11, r11, r7, lsr #3 @ r11 = (r << 3) | (g >> 3) + orr r0, r0, r7, lsl #5 @ r0 = (g << 5) | b +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ + add r7, r12, r7, asl #5 @ + @ compute R, G, and B + add r0, r8, r7, asr #8 @ r0 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r0, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r0, #31 @ clamp b + mvnhi r0, r0, asr #31 @ + andhi r0, r0, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + mov r11, r11, lsl #3 @ + orr r11, r11, r7, lsr #3 @ r11 = (r << 3) | (g >> 3) + orr r0, r0, r7, lsl #5 @ r0 = (g << 5) | b +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + @ + subs r1, r1, #2 @ subtract block from width + bgt 10b @ loop line @ + @ + ldmfd sp!, { r4-r12 } @ restore registers and return + bx lr @ + .ltorg @ dump constant pool + .size lcd_write_yuv420_lines, .-lcd_write_yuv420_lines + +/**************************************************************************** + * void lcd_write_yuv_420_lines_odither(unsigned char const * const src[3], + * int width, + * int stride, + * int x_screen, + * int y_screen); + * + * |R| |1.000000 -0.000001 1.402000| |Y'| + * |G| = |1.000000 -0.334136 -0.714136| |Pb| + * |B| |1.000000 1.772000 0.000000| |Pr| + * Red scaled at twice g & b but at same precision to place it in correct + * bit position after multiply and leave instruction count lower. + * |R| |258 0 408| |Y' - 16| + * |G| = |149 -49 -104| |Cb - 128| + * |B| |149 258 0| |Cr - 128| + * + * Write four RGB565 pixels in the following order on each loop: + * 1 3 + > down + * 2 4 \/ left + * + * Kernel pattern (raw|rotated|use order): + * 5 3 4 2 2 6 3 7 row0 row2 > down + * 1 7 0 6 | 4 0 5 1 | 2 4 6 0 3 5 7 1 col0 left + * 4 2 5 3 | 3 7 2 6 | 3 5 7 1 2 4 6 0 col2 \/ + * 0 6 1 7 5 1 4 0 + */ + .section .icode, "ax", %progbits + .align 2 + .global lcd_write_yuv420_lines_odither + .type lcd_write_yuv420_lines_odither, %function +lcd_write_yuv420_lines_odither: + @ r0 = yuv_src + @ r1 = width + @ r2 = stride + @ r3 = x_screen + @ [sp] = y_screen + stmfd sp!, { r4-r12, lr } @ save non-scratch + ldmia r0, { r4, r5, r6 } @ r4 = yuv_src[0] = Y'_p + @ r5 = yuv_src[1] = Cb_p + @ r6 = yuv_src[2] = Cr_p + @ + sub r2, r2, #1 @ + ldr r14, [sp, #40] @ Line up pattern and kernel quadrant + eor r14, r14, r3 @ + and r14, r14, #0x2 @ + mov r14, r14, lsl #6 @ 0x00 or 0x80 + mov r3, #0x70000000 @ + orr r3, r3, #0x3000 @ r3 = LCD1_BASE +10: @ loop line @ + @ + ldrb r7, [r4], #1 @ r7 = *Y'_p++; + ldrb r8, [r5], #1 @ r8 = *Cb_p++; + ldrb r9, [r6], #1 @ r9 = *Cr_p++; + @ + eor r14, r14, #0x80 @ flip pattern quadrant + @ + sub r7, r7, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ + sub r8, r8, #128 @ Cb -= 128 + sub r9, r9, #128 @ Cr -= 128 + @ + add r10, r8, r8, asl #4 @ r10 = guv = Cr*104 + Cb*49 + add r10, r10, r8, asl #5 @ + add r10, r10, r9, asl #3 @ + add r10, r10, r9, asl #5 @ + add r10, r10, r9, asl #6 @ + @ + mov r8, r8, asl #1 @ r8 = bu = Cb*258 + add r8, r8, r8, asl #7 @ + @ + add r9, r9, r9, asl #1 @ r9 = rv = Cr*408 + add r9, r9, r9, asl #4 @ + mov r9, r9, asl #3 @ + @ + @ compute R, G, and B + add r0, r8, r7 @ r0 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + @ r8 = bu, r9 = rv, r10 = guv + @ + sub r12, r0, r0, lsr #5 @ r0 = 31/32*b + b/256 + add r0, r12, r0, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r + r/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g + g/256 + add r7, r12, r7, lsr #8 @ + @ + add r12, r14, #0x100 @ + @ + add r0, r0, r12 @ b = r0 + delta + add r11, r11, r12, lsl #1 @ r = r11 + delta*2 + add r7, r7, r12, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r0, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r0, asr #15 @ clamp b + mvnne r0, r12, lsr #15 @ + andne r0, r0, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + + and r11, r11, #0xf800 @ pack pixel + mov r11, r11, lsr #8 + and r7, r7, #0x7e00 + orr r11, r11, r7, lsr #12 + mov r7, r7, lsr#4 + orr r0, r7, r0, lsr #10 +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ compute R, G, and B + add r0, r8, r7 @ r0 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + sub r12, r0, r0, lsr #5 @ r0 = 31/32*b' + b'/256 + add r0, r12, r0, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r' + r'/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g' + g'/256 + add r7, r12, r7, lsr #8 @ + @ + add r12, r14, #0x200 @ + @ + add r0, r0, r12 @ b = r0 + delta + add r11, r11, r12, lsl #1 @ r = r11 + delta*2 + add r7, r7, r12, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r0, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r0, asr #15 @ clamp b + mvnne r0, r12, lsr #15 @ + andne r0, r0, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + ldrb r12, [r4], #1 @ r12 = Y' = *(Y'_p++) + + and r11, r11, #0xf800 @ pack pixel + mov r11, r11, lsr #8 + and r7, r7, #0x7e00 + orr r11, r11, r7, lsr #12 + mov r7, r7, lsr#4 + orr r0, r7, r0, lsr #10 +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ compute R, G, and B + add r0, r8, r7 @ r0 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + @ r8 = bu, r9 = rv, r10 = guv + @ + sub r12, r0, r0, lsr #5 @ r0 = 31/32*b' + b'/256 + add r0, r12, r0, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r' + r'/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g' + g'/256 + add r7, r12, r7, lsr #8 @ + @ + add r12, r14, #0x300 @ + @ + add r0, r0, r12 @ b = r0 + delta + add r11, r11, r12, lsl #1 @ r = r11 + delta*2 + add r7, r7, r12, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r0, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r0, asr #15 @ clamp b + mvnne r0, r12, lsr #15 @ + andne r0, r0, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + + and r11, r11, #0xf800 @ pack pixel + mov r11, r11, lsr #8 + and r7, r7, #0x7e00 + orr r11, r11, r7, lsr #12 + mov r7, r7, lsr#4 + orr r0, r7, r0, lsr #10 +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ compute R, G, and B + add r0, r8, r7 @ r0 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + sub r12, r0, r0, lsr #5 @ r0 = 31/32*b + b/256 + add r0, r12, r0, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r + r/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g + g/256 + add r7, r12, r7, lsr #8 @ + @ + @ This element is zero - use r14 @ + @ + add r0, r0, r14 @ b = r0 + delta + add r11, r11, r14, lsl #1 @ r = r11 + delta*2 + add r7, r7, r14, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r0, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r0, asr #15 @ clamp b + mvnne r0, r12, lsr #15 @ + andne r0, r0, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + + and r11, r11, #0xf800 @ pack pixel + mov r11, r11, lsr #8 + and r7, r7, #0x7e00 + orr r11, r11, r7, lsr #12 + mov r7, r7, lsr#4 + orr r0, r7, r0, lsr #10 +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r11, [r3, #0x10] @ send MSB +1: @ busy @ + ldr r7, [r3] @ r7 = LCD1_BASE + tst r7, #LCD1_BUSY_MASK @ bridge busy? + bne 1b @ + str r0, [r3, #0x10] @ send LSB + + subs r1, r1, #2 @ subtract block from width + bgt 10b @ loop line @ + @ + ldmfd sp!, { r4-r12, pc } @ restore registers and return + .ltorg @ dump constant pool + .size lcd_write_yuv420_lines_odither, .-lcd_write_yuv420_lines_odither diff --git a/firmware/target/arm/samsung/yh820/lcd-yh820.c b/firmware/target/arm/samsung/yh820/lcd-yh820.c new file mode 100644 index 0000000000..d21f6c2854 --- /dev/null +++ b/firmware/target/arm/samsung/yh820/lcd-yh820.c @@ -0,0 +1,375 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 by Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "cpu.h" +#include "lcd.h" +#include "kernel.h" +#include "system.h" + +/* Display status */ +static unsigned lcd_yuv_options SHAREDBSS_ATTR = 0; + +#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) +static bool is_lcd_enabled = true; +#endif + +/* NOTE: the LCD is rotated 90 degrees */ + +/* LCD command set for Samsung S6B33B2 */ + +#define R_NOP 0x00 +#define R_OSCILLATION_MODE 0x02 +#define R_DRIVER_OUTPUT_MODE 0x10 +#define R_DCDC_SET 0x20 +#define R_BIAS_SET 0x22 +#define R_DCDC_CLOCK_DIV 0x24 +#define R_DCDC_AMP_ONOFF 0x26 +#define R_TEMP_COMPENSATION 0x28 +#define R_CONTRAST_CONTROL1 0x2a +#define R_CONTRAST_CONTROL2 0x2b +#define R_STANDBY_OFF 0x2c +#define R_STANDBY_ON 0x2d +#define R_DDRAM_BURST_OFF 0x2e +#define R_DDRAM_BURST_ON 0x2f +#define R_ADDRESSING_MODE 0x30 +#define R_ROW_VECTOR_MODE 0x32 +#define R_N_LINE_INVERSION 0x34 +#define R_FRAME_FREQ_CONTROL 0x36 +#define R_RED_PALETTE 0x38 +#define R_GREEN_PALETTE 0x3a +#define R_BLUE_PALETTE 0x3c +#define R_ENTRY_MODE 0x40 +#define R_X_ADDR_AREA 0x42 +#define R_Y_ADDR_AREA 0x43 +#define R_RAM_SKIP_AREA 0x45 +#define R_DISPLAY_OFF 0x50 +#define R_DISPLAY_ON 0x51 +#define R_SPEC_DISPLAY_PATTERN 0x53 +#define R_PARTIAL_DISPLAY_MODE 0x55 +#define R_PARTIAL_START_LINE 0x56 +#define R_PARTIAL_END_LINE 0x57 +#define R_AREA_SCROLL_MODE 0x59 +#define R_SCROLL_START_LINE 0x5a +#define R_DATA_FORMAT_SELECT 0x60 + + +/* wait for LCD */ +static inline void lcd_wait_write(void) +{ + while (LCD1_CONTROL & LCD1_BUSY_MASK); +} + +/* send LCD data */ +static void lcd_send_data(unsigned data) +{ + lcd_wait_write(); + LCD1_DATA = data >> 8; + lcd_wait_write(); + LCD1_DATA = data & 0xff; +} + +/* send LCD command */ +static void lcd_send_command(unsigned cmd) +{ + lcd_wait_write(); + LCD1_CMD = cmd; +} + +/* LCD init */ +void lcd_init_device(void) +{ +#if 0 + /* This is the init sequence from the yh820 OF bootloader */ + unsigned long tmp; + + DEV_INIT1 &= ~0x3000; + tmp = DEV_INIT1; + DEV_INIT1 = tmp; + DEV_INIT2 &= ~0x400; + + LCD1_CONTROL &= ~0x4; + udelay(15); + LCD1_CONTROL |= 0x4; + + LCD1_CONTROL = 0x680; + LCD1_CONTROL = 0x684; + + LCD1_CONTROL |= 0x1; + udelay(200); + + lcd_send_command(R_STANDBY_OFF); + udelay(100000); + + lcd_send_command(R_DISPLAY_OFF); + udelay(10000); + + lcd_send_command(R_OSCILLATION_MODE); + lcd_send_command(0x01); + udelay(30000); + + lcd_send_command(R_DCDC_SET); + lcd_send_command(0x01); + udelay(30000); + + lcd_send_command(R_DCDC_AMP_ONOFF); + lcd_send_command(0x01); + udelay(30000); + + lcd_send_command(R_DCDC_AMP_ONOFF); + lcd_send_command(0x09); + udelay(30000); + + lcd_send_command(R_DCDC_AMP_ONOFF); + lcd_send_command(0x0b); + udelay(30000); + + lcd_send_command(R_DCDC_AMP_ONOFF); + lcd_send_command(0x0f); + udelay(30000); + + lcd_send_command(R_DCDC_CLOCK_DIV); + lcd_send_command(0x03); + udelay(10000); + + lcd_send_command(R_CONTRAST_CONTROL1); + lcd_send_command(0x89); + udelay(10000); + + lcd_send_command(R_TEMP_COMPENSATION); + lcd_send_command(0x01); + udelay(10000); + + lcd_send_command(R_ADDRESSING_MODE); + lcd_send_command(0x19); + udelay(10000); + + lcd_send_command(R_ROW_VECTOR_MODE); + lcd_send_command(0x00); + udelay(10000); + + lcd_send_command(R_N_LINE_INVERSION); + lcd_send_command(0x8b); + udelay(10000); + + lcd_send_command(R_ENTRY_MODE); + lcd_send_command(0x01); + + lcd_send_command(R_DRIVER_OUTPUT_MODE); + lcd_send_command(0x34); + udelay(10000); + + lcd_send_command(R_X_ADDR_AREA); /* vertical dimensions */ + lcd_send_command(0x00); /* y1 */ + lcd_send_command(LCD_HEIGHT - 1); /* y2 */ + + lcd_send_command(R_Y_ADDR_AREA); /* horizontal dimensions */ + lcd_send_command(0x04); /* x1 + 4 */ + lcd_send_command(LCD_WIDTH - 1 + 4); /* x2 + 4 */ + udelay(100); + + lcd_send_command(R_BIAS_SET); + lcd_send_command(0x01); + + lcd_send_command(R_DDRAM_BURST_OFF); + udelay(100); + + lcd_send_command(R_DISPLAY_ON); + udelay(30000); +#endif +} + +/*** hardware configuration ***/ +int lcd_default_contrast(void) +{ + return DEFAULT_CONTRAST_SETTING; +} + +void lcd_set_contrast(int val) +{ + lcd_send_command(R_CONTRAST_CONTROL1); + lcd_send_command(val); +} + +void lcd_set_invert_display(bool yesno) +{ + /* TODO: Implement lcd_set_invert_display() */ + (void)yesno; +} + +#if defined(HAVE_LCD_ENABLE) +void lcd_enable(bool yesno) +{ + if (yesno == is_lcd_enabled) + return; + + if ((is_lcd_enabled = yesno)) + { + lcd_send_command(R_STANDBY_OFF); + lcd_send_command(R_DISPLAY_ON); + lcd_activation_call_hook(); + } + else + { + lcd_send_command(R_STANDBY_ON); + } +} +#endif + +#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) +bool lcd_active(void) +{ + return is_lcd_enabled; +} +#endif + +#ifdef HAVE_LCD_FLIP +/* turn the display upside down (call lcd_update() afterwards) */ +/* Note: since the lcd is rotated, this will flip horiz instead of vert */ +void lcd_set_flip(bool yesno) +{ + lcd_send_command(R_DRIVER_OUTPUT_MODE); + lcd_send_command(yesno ? 0x30 : 0x34); +} +#endif + + +/*** update functions ***/ + +void lcd_yuv_set_options(unsigned options) +{ + lcd_yuv_options = options; +} + +/* Line write helper function for lcd_yuv_blit. Write two lines of yuv420. */ +extern void lcd_write_yuv420_lines(unsigned char const * const src[3], + int width, + int stride); +extern void lcd_write_yuv420_lines_odither(unsigned char const * const src[3], + int width, + int stride, + int x_screen, /* To align dither pattern */ + int y_screen); +/* Performance function to blit a YUV bitmap directly to the LCD */ +void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height) +{ + unsigned char const * yuv_src[3]; + off_t z; + + /* Sorry, but width and height must be >= 2 or else */ + width &= ~1; + height >>= 1; + + z = stride*src_y; + yuv_src[0] = src[0] + z + src_x; + yuv_src[1] = src[1] + (z >> 2) + (src_x >> 1); + yuv_src[2] = src[2] + (yuv_src[1] - src[1]); + + lcd_send_command(R_ENTRY_MODE); + lcd_send_command(0x03); + + lcd_send_command(R_Y_ADDR_AREA); + lcd_send_command(x + 4); + lcd_send_command(x + width - 1 + 4); + + if (lcd_yuv_options & LCD_YUV_DITHER) + { + do + { + lcd_send_command(R_X_ADDR_AREA); + lcd_send_command(y); + lcd_send_command(y + 1); + + lcd_write_yuv420_lines_odither(yuv_src, width, stride, x, y); + yuv_src[0] += stride << 1; /* Skip down two luma lines */ + yuv_src[1] += stride >> 1; /* Skip down one chroma line */ + yuv_src[2] += stride >> 1; + y += 2; + } + while (--height > 0); + } + else + { + do + { + lcd_send_command(R_X_ADDR_AREA); + lcd_send_command(y); + lcd_send_command(y + 1); + + lcd_write_yuv420_lines(yuv_src, width, stride); + yuv_src[0] += stride << 1; /* Skip down two luma lines */ + yuv_src[1] += stride >> 1; /* Skip down one chroma line */ + yuv_src[2] += stride >> 1; + y += 2; + } + while (--height > 0); + } +} + +/* Update the display. + This must be called after all other LCD functions that change the display. */ +void lcd_update(void) +{ + lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); +} + +/* Update a fraction of the display. */ +void lcd_update_rect(int x, int y, int width, int height) +{ + const fb_data *addr; + + if (x + width >= LCD_WIDTH) + width = LCD_WIDTH - x; + if (y + height >= LCD_HEIGHT) + height = LCD_HEIGHT - y; + + if ((width <= 0) || (height <= 0)) + return; /* Nothing left to do. */ + + addr = &lcd_framebuffer[y][x]; + + if (width <= 1) { + lcd_send_command(R_ENTRY_MODE); /* The X end address must be larger */ + lcd_send_command(0x03); /* that the X start address, so we */ + lcd_send_command(R_Y_ADDR_AREA); /* switch to vertical mode for */ + lcd_send_command(x + 4); /* single column updates and set */ + lcd_send_command(x + 1 + 4); /* the window width to 2 */ + } else { + lcd_send_command(R_ENTRY_MODE); + lcd_send_command(0x01); + lcd_send_command(R_Y_ADDR_AREA); + lcd_send_command(x + 4); + lcd_send_command(x + width - 1 + 4); + } + + lcd_send_command(R_X_ADDR_AREA); + lcd_send_command(y); + lcd_send_command(y + height - 1); + + do { + int w = width; + do { + lcd_send_data(*addr++); + } while (--w > 0); + addr += LCD_WIDTH - width; + } while (--height > 0); +} diff --git a/firmware/target/arm/samsung/yh820/powermgmt-yh820.c b/firmware/target/arm/samsung/yh820/powermgmt-yh820.c new file mode 100644 index 0000000000..495590413c --- /dev/null +++ b/firmware/target/arm/samsung/yh820/powermgmt-yh820.c @@ -0,0 +1,59 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Heikki Hannikainen, Uwe Freese + * Revisions copyright (C) 2005 by Gerald Van Baren + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "adc.h" +#include "powermgmt.h" + +/* TODO: Not yet calibrated */ + +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + 3695 +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + 3627 +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3695, 3714, 3772, 3791, 3811, 3850, 3908, 3985, 4024, 4111, 4198 } +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = +{ + 3850, 3888, 3927, 3966, 4024, 4063, 4111, 4150, 4198, 4237, 4286 +}; + +#define BATTERY_SCALE_FACTOR 4650 +/* full-scale ADC readout (2^10) in millivolt */ + +/* Returns battery voltage from ADC [millivolts] */ +unsigned int battery_adc_voltage(void) +{ + /* return (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) >> 10; */ + return 4100; +} diff --git a/firmware/target/arm/samsung/yh920/backlight-yh920.c b/firmware/target/arm/samsung/yh920/backlight-yh920.c new file mode 100644 index 0000000000..5e2cf81e08 --- /dev/null +++ b/firmware/target/arm/samsung/yh920/backlight-yh920.c @@ -0,0 +1,47 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "cpu.h" +#include "system.h" +#include "backlight.h" +#include "lcd.h" + +void _backlight_on(void) +{ +#ifdef HAVE_LCD_SLEEP + backlight_lcd_sleep_countdown(false); /* stop counter */ +#endif +#ifdef HAVE_LCD_ENABLE + lcd_enable(true); /* power on lcd + visible display */ +#endif + GPIO_SET_BITWISE(GPIOB_OUTPUT_VAL, 0x2); +} + +void _backlight_off(void) +{ + GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x2); +#ifdef HAVE_LCD_ENABLE + lcd_enable(false); /* power off visible display */ +#endif +#ifdef HAVE_LCD_SLEEP + backlight_lcd_sleep_countdown(true); /* start countdown */ +#endif +} diff --git a/firmware/target/arm/samsung/yh920/lcd-yh920.c b/firmware/target/arm/samsung/yh920/lcd-yh920.c new file mode 100644 index 0000000000..6c1528b630 --- /dev/null +++ b/firmware/target/arm/samsung/yh920/lcd-yh920.c @@ -0,0 +1,294 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2004 by Linus Nielsen Feltzing + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" + +#include "system.h" +#include "kernel.h" +#include "lcd.h" + +/*** definitions ***/ + +/* LCD command codes */ +#define LCD_CNTL_POWER_CONTROL 0x25 +#define LCD_CNTL_VOLTAGE_SELECT 0x2b +#define LCD_CNTL_LINE_INVERT_DRIVE 0x36 +#define LCD_CNTL_GRAY_SCALE_PATTERN 0x39 +#define LCD_CNTL_TEMP_GRADIENT_SELECT 0x4e +#define LCD_CNTL_OSC_FREQUENCY 0x5f +#define LCD_CNTL_ON_OFF 0xae +#define LCD_CNTL_OSC_ON_OFF 0xaa +#define LCD_CNTL_OFF_MODE 0xbe +#define LCD_CNTL_REVERSE 0xa6 +#define LCD_CNTL_ALL_LIGHTING 0xa4 +#define LCD_CNTL_COMMON_OUTPUT_STATUS 0xc4 +#define LCD_CNTL_COLUMN_ADDRESS_DIR 0xa0 +#define LCD_CNTL_NLINE_ON_OFF 0xe4 +#define LCD_CNTL_DISPLAY_MODE 0x66 +#define LCD_CNTL_DUTY_SET 0x6d +#define LCD_CNTL_ELECTRONIC_VOLUME 0x81 +#define LCD_CNTL_DATA_INPUT_DIR 0x84 +#define LCD_CNTL_DISPLAY_START_LINE 0x8a +#define LCD_CNTL_AREA_SCROLL 0x10 + +#define LCD_CNTL_PAGE 0xb1 +#define LCD_CNTL_COLUMN 0x13 +#define LCD_CNTL_DATA_WRITE 0x1d + +/* lcd commands */ +static void lcd_send_data(unsigned byte) +{ + while (LCD1_CONTROL & LCD1_BUSY_MASK); /* wait for LCD */ + LCD1_DATA = byte; +} + +static void lcd_send_cmd(unsigned byte) +{ + while (LCD1_CONTROL & LCD1_BUSY_MASK); /* wait for LCD */ + LCD1_CMD = byte; +} + +static void lcd_write_reg(unsigned cmd, unsigned data) +{ + lcd_send_cmd(cmd); + lcd_send_data(data); +} + +static void lcd_write_reg_ex(unsigned cmd, unsigned data0, unsigned data1) +{ + lcd_send_cmd(cmd); + lcd_send_data(data0); + lcd_send_data(data1); +} + +/*** hardware configuration ***/ +int lcd_default_contrast(void) +{ + return DEFAULT_CONTRAST_SETTING; +} + +void lcd_set_contrast(int val) +{ + /* Keep val in acceptable hw range */ + if (val < 0) + val = 0; + else if (val > 127) + val = 127; + + lcd_write_reg_ex(LCD_CNTL_ELECTRONIC_VOLUME, val, -1); +} + +void lcd_set_invert_display(bool yesno) +{ + lcd_send_cmd(LCD_CNTL_REVERSE | (yesno?1:0)); +} + +/* turn the display upside down (call lcd_update() afterwards) */ +void lcd_set_flip(bool yesno) +{ + if (yesno) + { + lcd_send_cmd(LCD_CNTL_COLUMN_ADDRESS_DIR | 1); + lcd_send_cmd(LCD_CNTL_COMMON_OUTPUT_STATUS | 0); + lcd_write_reg_ex(LCD_CNTL_DUTY_SET, 0x20, 0); + } + else + { + lcd_send_cmd(LCD_CNTL_COLUMN_ADDRESS_DIR | 0); + lcd_send_cmd(LCD_CNTL_COMMON_OUTPUT_STATUS | 1); + lcd_write_reg_ex(LCD_CNTL_DUTY_SET, 0x20, 1); + } +} + +void lcd_init_device(void) +{ +#if 0 + /* This is the init sequence from the yh820 OF bootloader */ + unsigned long tmp; + + DEV_INIT2 |= 0x400; + + DEV_INIT1 &= ~0x3000; + tmp = DEV_INIT1; + DEV_INIT1 = tmp; + DEV_INIT2 &= ~0x400; + + LCD1_CONTROL &= ~0x4; + udelay(15); + LCD1_CONTROL |= 0x4; + + LCD1_CONTROL = 0x680; + LCD1_CONTROL = 0x684; + + LCD1_CONTROL |= 0x1; + + lcd_send_cmd(LCD_CNTL_RESET); + lcd_send_cmd(LCD_CNTL_DISCHARGE_ON_OFF | 0); + lcd_send_cmd(LCD_CNTL_ON_OFF | 0); /* LCD OFF */ + lcd_send_cmd(LCD_CNTL_COLUMN_ADDRESS_DIR | 0); /* Normal */ + lcd_send_cmd(LCD_CNTL_COMMON_OUTPUT_STATUS | 0); /* Normal */ + lcd_send_cmd(LCD_CNTL_REVERSE | 0); /* Reverse OFF */ + lcd_send_cmd(LCD_CNTL_ALL_LIGHTING | 0); /* Normal */ + lcd_write_reg_ex(LCD_CNTL_DUTY_SET, 0x1f, 0x00); + lcd_send_cmd(LCD_CNTL_OFF_MODE | 1); /* OFF -> VCC on drivers */ + lcd_write_reg(LCD_CNTL_VOLTAGE_SELECT, 0x03); + lcd_write_reg(LCD_CNTL_ELECTRONIC_VOLUME, 0x40); + lcd_write_reg(LCD_CNTL_TEMP_GRADIENT_SELECT, 0x00); + lcd_write_reg(LCD_CNTL_LINE_INVERT_DRIVE, 0x1f); + lcd_send_cmd(LCD_CNTL_NLINE_ON_OFF | 1); /* N-line ON */ + lcd_write_reg(LCD_CNTL_OSC_FREQUENCY, 0x00); + lcd_send_cmd(LCD_CNTL_OSC_ON_OFF | 1); /* Oscillator ON */ + lcd_write_reg(LCD_CNTL_STEPUP_CK_FREQ, 0x03); + lcd_write_reg(LCD_CNTL_POWER_CONTROL, 0x1c); + lcd_write_reg(LCD_CNTL_POWER_CONTROL, 0x1e); + lcd_write_reg(LCD_CNTL_DISPLAY_START_LINE, 0x00); + lcd_send_cmd(LCD_CNTL_DATA_INPUT_DIR | 0); /* Column mode */ + lcd_send_cmd(LCD_CNTL_DISPLAY_MODE, 0); /* Greyscale mode */ + lcd_write_reg(LCD_CNTL_GRAY_SCALE_PATTERN, 0x52); + lcd_send_cmd(LCD_CNTL_PARTIAL_DISPLAY_ON_OFF | 0); + lcd_write_reg(LCD_CNTL_POWER_CONTROL, 0x1f); + lcd_send_cmd(LCD_CNTL_ON_OFF | 1); /* LCD ON */ +#endif +} + +/*** update functions ***/ + +/* Performance function that works with an external buffer + note that by and bheight are in 8-pixel units! */ +void lcd_blit_mono(const unsigned char *data, int x, int by, int width, + int bheight, int stride) +{ + (void)data; + (void)x; + (void)by; + (void)width; + (void)bheight; + (void)stride; + +#if 0 + /* This is from the h100 lcd code, perhaps we can adapt */ + const unsigned char *src, *src_end; + unsigned char *dst_u, *dst_l; + static unsigned char upper[LCD_WIDTH] IBSS_ATTR; + static unsigned char lower[LCD_WIDTH] IBSS_ATTR; + unsigned int byte; + + by *= 2; + + while (bheight--) + { + src = data; + src_end = data + width; + dst_u = upper; + dst_l = lower; + do + { + byte = *src++; + *dst_u++ = lcd_dibits[byte & 0x0F]; + byte >>= 4; + *dst_l++ = lcd_dibits[byte & 0x0F]; + } + while (src < src_end); + + lcd_write_reg_ex(LCD_CNTL_PAGE, by++, -1); + lcd_write_reg_ex(LCD_CNTL_COLUMN, x, -1); + lcd_send_cmd(LCD_CNTL_DATA_WRITE); + lcd_write_data(upper, width); + + lcd_write_reg_ex(LCD_CNTL_PAGE, by++, -1); + lcd_write_reg_ex(LCD_CNTL_COLUMN, x, -1); + lcd_send_cmd(LCD_CNTL_DATA_WRITE); + lcd_write_data(lower, width); + + data += stride; + } +#endif +} + +/* Helper function for lcd_grey_phase_blit(). */ +/* void lcd_grey_data(unsigned char *values, unsigned char *phases, int count); */ + +/* Performance function that works with an external buffer + note that by and bheight are in 4-pixel units! */ +void lcd_blit_grey_phase(unsigned char *values, unsigned char *phases, + int x, int by, int width, int bheight, int stride) +{ + (void)values; + (void)phases; + (void)x; + (void)by; + (void)width; + (void)bheight; + (void)stride; + +#if 0 + /* This is from the h100 lcd code, perhaps we can adapt */ + stride <<= 2; /* 4 pixels per block */ + while (bheight--) + { + lcd_write_reg_ex(LCD_CNTL_PAGE, by++, -1); + lcd_write_reg_ex(LCD_CNTL_COLUMN, x, -1); + lcd_send_cmd(LCD_CNTL_DATA_WRITE); + lcd_grey_data(values, phases, width); + values += stride; + phases += stride; + } +#endif +} + +/* Update a fraction of the display. */ +/* void lcd_update_rect(int, int, int, int) ICODE_ATTR; */ +void lcd_update_rect(int x0, int y, int width, int height) +{ + const fb_data *addr; + int ymax; + int x = x0; + + /* The Y coordinates have to work on even 8 pixel rows */ + ymax = (y + height-1) >> 2; + y >>= 2; + + if(x + width > LCD_WIDTH) + width = LCD_WIDTH - x; + if (width <= 0) + return; /* nothing left to do, 0 is harmful to lcd_write_data() */ + if(ymax >= LCD_FBHEIGHT) + ymax = LCD_FBHEIGHT-1; + + /* Copy specified rectange bitmap to hardware */ + for (; y <= ymax; y++) + { + lcd_write_reg(LCD_CNTL_PAGE, y); + lcd_write_reg(LCD_CNTL_COLUMN, x0); + + addr = &lcd_framebuffer[y][x0]; + + lcd_send_cmd(LCD_CNTL_DATA_WRITE); + for (x = x0; x < width; x++) + lcd_send_data(*addr++); + } +} + +/* Update the display. + This must be called after all other LCD functions that change the display. */ +void lcd_update(void) +{ + lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); +} diff --git a/firmware/target/arm/samsung/yh920/powermgmt-yh920.c b/firmware/target/arm/samsung/yh920/powermgmt-yh920.c new file mode 100644 index 0000000000..6d7e3487aa --- /dev/null +++ b/firmware/target/arm/samsung/yh920/powermgmt-yh920.c @@ -0,0 +1,59 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Heikki Hannikainen, Uwe Freese + * Revisions copyright (C) 2005 by Gerald Van Baren + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "adc.h" +#include "powermgmt.h" + +/* TODO: Not yet calibrated */ + +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + 3733 +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + 3627 +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3733, 3772, 3821, 3840, 3869, 3917, 3985, 4034, 4072, 4140, 4198 } +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = +{ + 3956, 3995, 4024, 4043, 4063, 4082, 4111, 4140, 4179, 4218, 4266 +}; + +#define BATTERY_SCALE_FACTOR 4650 +/* full-scale ADC readout (2^10) in millivolt */ + +/* Returns battery voltage from ADC [millivolts] */ +unsigned int battery_adc_voltage(void) +{ + /* return (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) >> 10; */ + return 4100; +} diff --git a/firmware/target/arm/samsung/yh925/backlight-yh925.c b/firmware/target/arm/samsung/yh925/backlight-yh925.c new file mode 100644 index 0000000000..2dac1d7a81 --- /dev/null +++ b/firmware/target/arm/samsung/yh925/backlight-yh925.c @@ -0,0 +1,47 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "cpu.h" +#include "system.h" +#include "backlight.h" +#include "lcd.h" + +void _backlight_on(void) +{ +#ifdef HAVE_LCD_SLEEP + backlight_lcd_sleep_countdown(false); /* stop counter */ +#endif +#ifdef HAVE_LCD_ENABLE + lcd_enable(true); /* power on lcd + visible display */ +#endif + GPIO_SET_BITWISE(GPIOF_OUTPUT_VAL, 0x1); +} + +void _backlight_off(void) +{ + GPIO_CLEAR_BITWISE(GPIOF_OUTPUT_VAL, 0x1); +#ifdef HAVE_LCD_ENABLE + lcd_enable(false); /* power off visible display */ +#endif +#ifdef HAVE_LCD_SLEEP + backlight_lcd_sleep_countdown(true); /* start countdown */ +#endif +} diff --git a/firmware/target/arm/samsung/yh925/lcd-as-yh925.S b/firmware/target/arm/samsung/yh925/lcd-as-yh925.S new file mode 100644 index 0000000000..ba6c876d44 --- /dev/null +++ b/firmware/target/arm/samsung/yh925/lcd-as-yh925.S @@ -0,0 +1,538 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007-2008 by Michael Sevakis + * + * H10 20GB LCD assembly routines + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "cpu.h" + +/**************************************************************************** + * void lcd_write_yuv_420_lines(unsigned char const * const src[3], + * int width, + * int stride); + * + * |R| |1.000000 -0.000001 1.402000| |Y'| + * |G| = |1.000000 -0.334136 -0.714136| |Pb| + * |B| |1.000000 1.772000 0.000000| |Pr| + * Scaled, normalized, rounded and tweaked to yield RGB 565: + * |R| |74 0 101| |Y' - 16| >> 9 + * |G| = |74 -24 -51| |Cb - 128| >> 8 + * |B| |74 128 0| |Cr - 128| >> 9 + * + * Write four RGB565 pixels in the following order on each loop: + * 1 3 + > down + * 2 4 \/ left + */ + .section .icode, "ax", %progbits + .align 2 + .global lcd_write_yuv420_lines + .type lcd_write_yuv420_lines, %function +lcd_write_yuv420_lines: + @ r0 = yuv_src + @ r1 = width + @ r2 = stride + stmfd sp!, { r4-r12, lr } @ save non-scratch + ldmia r0, { r4, r5, r6 } @ r4 = yuv_src[0] = Y'_p + @ r5 = yuv_src[1] = Cb_p + @ r6 = yuv_src[2] = Cr_p + @ + mov r0, #0x7000000c @ r0 = &LCD2_PORT = 0x70008a0c + add r0, r0, #0x8a00 @ + mov r14, #LCD2_DATA_MASK @ + @ + sub r2, r2, #1 @ Adjust stride because of increment +10: @ loop line @ + ldrb r7, [r4], #1 @ r7 = *Y'_p++; + ldrb r8, [r5], #1 @ r8 = *Cb_p++; + ldrb r9, [r6], #1 @ r9 = *Cr_p++; + @ + sub r7, r7, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ actually (Y' - 16)*37 and shift right + add r7, r12, r7, asl #5 @ by one less when adding - same for all + @ + sub r8, r8, #128 @ Cb -= 128 + sub r9, r9, #128 @ Cr -= 128 + @ + add r10, r9, r9, asl #1 @ r10 = Cr*51 + Cb*24 + add r10, r10, r10, asl #4 @ + add r10, r10, r8, asl #3 @ + add r10, r10, r8, asl #4 @ + @ + add r11, r9, r9, asl #2 @ r9 = Cr*101 + add r11, r11, r9, asl #5 @ + add r9, r11, r9, asl #6 @ + @ + add r8, r8, #2 @ r8 = bu = (Cb*128 + 128) >> 8 + mov r8, r8, asr #2 @ + add r9, r9, #256 @ r9 = rv = (r8 + 256) >> 9 + mov r9, r9, asr #9 @ + rsb r10, r10, #128 @ r10 = guv = (-r9 + 128) >> 8 + mov r10, r10, asr #8 @ + @ compute R, G, and B + add r3, r8, r7, asr #8 @ r3 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r3, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r3, #31 @ clamp b + mvnhi r3, r3, asr #31 @ + andhi r3, r3, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + orr r3, r3, r11, lsl #11 @ r3 = b | (r << 11) + orr r3, r3, r7, lsl #5 @ r3 |= (g << 5) + @ + orr r7, r14, r3, lsr #8 @ store pixel + orr r11, r14, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ + add r7, r12, r7, asl #5 @ + @ compute R, G, and B + add r3, r8, r7, asr #8 @ r3 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r3, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r3, #31 @ clamp b + mvnhi r3, r3, asr #31 @ + andhi r3, r3, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + ldrb r12, [r4], #1 @ r12 = Y' = *(Y'_p++) + @ + orr r3, r3, r11, lsl #11 @ r3 = b | (r << 11) + orr r3, r3, r7, lsl #5 @ r3 |= (g << 5) + @ + orr r7, r14, r3, lsr #8 @ store pixel + orr r11, r14, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ + add r7, r12, r7, asl #5 @ + @ compute R, G, and B + add r3, r8, r7, asr #8 @ r3 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r3, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r3, #31 @ clamp b + mvnhi r3, r3, asr #31 @ + andhi r3, r3, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + orr r3, r3, r7, lsl #5 @ r3 = b | (g << 5) + orr r3, r3, r11, lsl #11 @ r3 |= (r << 11) + @ + orr r7, r14, r3, lsr #8 @ store pixel + orr r11, r14, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*74 + add r12, r7, r7, asl #2 @ + add r7, r12, r7, asl #5 @ + @ compute R, G, and B + add r3, r8, r7, asr #8 @ r3 = b = (Y >> 9) + bu + add r11, r9, r7, asr #8 @ r11 = r = (Y >> 9) + rv + add r7, r10, r7, asr #7 @ r7 = g = (Y >> 8) + guv + @ + orr r12, r3, r11 @ check if clamping is needed... + orr r12, r12, r7, asr #1 @ ...at all + cmp r12, #31 @ + bls 15f @ no clamp @ + cmp r3, #31 @ clamp b + mvnhi r3, r3, asr #31 @ + andhi r3, r3, #31 @ + cmp r11, #31 @ clamp r + mvnhi r11, r11, asr #31 @ + andhi r11, r11, #31 @ + cmp r7, #63 @ clamp g + mvnhi r7, r7, asr #31 @ + andhi r7, r7, #63 @ +15: @ no clamp @ + @ + orr r3, r3, r11, lsl #11 @ r3 = b | (r << 11) + orr r3, r3, r7, lsl #5 @ r3 |= (g << 5) + @ + orr r7, r14, r3, lsr #8 @ store pixel + orr r11, r14, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + subs r1, r1, #2 @ subtract block from width + bgt 10b @ loop line @ + @ + ldmfd sp!, { r4-r12, pc } @ restore registers and return + .ltorg @ dump constant pool + .size lcd_write_yuv420_lines, .-lcd_write_yuv420_lines + + +/**************************************************************************** + * void lcd_write_yuv_420_lines_odither(unsigned char const * const src[3], + * int width, + * int stride, + * int x_screen, + * int y_screen); + * + * |R| |1.000000 -0.000001 1.402000| |Y'| + * |G| = |1.000000 -0.334136 -0.714136| |Pb| + * |B| |1.000000 1.772000 0.000000| |Pr| + * Red scaled at twice g & b but at same precision to place it in correct + * bit position after multiply and leave instruction count lower. + * |R| |258 0 408| |Y' - 16| + * |G| = |149 -49 -104| |Cb - 128| + * |B| |149 258 0| |Cr - 128| + * + * Write four RGB565 pixels in the following order on each loop: + * 1 3 + > down + * 2 4 \/ left + * + * Kernel pattern (raw|use order): + * 5 3 4 2 row0 row2 > down + * 1 7 0 6 | 5 1 3 7 4 0 2 6 col0 left + * 4 2 5 3 | 4 0 2 6 5 1 3 7 col2 \/ + * 0 6 1 7 + */ + .section .icode, "ax", %progbits + .align 2 + .global lcd_write_yuv420_lines_odither + .type lcd_write_yuv420_lines_odither, %function +lcd_write_yuv420_lines_odither: + @ r0 = yuv_src + @ r1 = width + @ r2 = stride + @ r3 = x_screen + @ [sp] = y_screen + stmfd sp!, { r4-r12, lr } @ save non-scratch + ldmia r0, { r4, r5, r6 } @ r4 = yuv_src[0] = Y'_p + @ r5 = yuv_src[1] = Cb_p + @ r6 = yuv_src[2] = Cr_p + @ + ldr r0, [sp, #40] @ Line up pattern and kernel quadrant + eor r14, r3, r0 @ + and r14, r14, #0x2 @ + mov r14, r14, lsl #6 @ 0x00 or 0x80 + @ + mov r0, #0x7000000c @ r0 = &LCD2_PORT = 0x70008a0c + add r0, r0, #0x8a00 @ + @ + sub r2, r2, #1 @ Adjust stride because of increment +10: @ loop line @ + @ + ldrb r7, [r4], #1 @ r7 = *Y'_p++; + ldrb r8, [r5], #1 @ r8 = *Cb_p++; + ldrb r9, [r6], #1 @ r9 = *Cr_p++; + @ + eor r14, r14, #0x80 @ flip pattern quadrant + @ + sub r7, r7, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ + sub r8, r8, #128 @ Cb -= 128 + sub r9, r9, #128 @ Cr -= 128 + @ + add r10, r8, r8, asl #4 @ r10 = guv = Cr*104 + Cb*49 + add r10, r10, r8, asl #5 @ + add r10, r10, r9, asl #3 @ + add r10, r10, r9, asl #5 @ + add r10, r10, r9, asl #6 @ + @ + mov r8, r8, asl #1 @ r8 = bu = Cb*258 + add r8, r8, r8, asl #7 @ + @ + add r9, r9, r9, asl #1 @ r9 = rv = Cr*408 + add r9, r9, r9, asl #4 @ + mov r9, r9, asl #3 @ + @ + @ compute R, G, and B + add r3, r8, r7 @ r3 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + @ r8 = bu, r9 = rv, r10 = guv + @ + sub r12, r3, r3, lsr #5 @ r3 = 31/32*b + b/256 + add r3, r12, r3, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r + r/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g + g/256 + add r7, r12, r7, lsr #8 @ + @ + add r12, r14, #0x200 @ + @ + add r3, r3, r12 @ b = r3 + delta + add r11, r11, r12, lsl #1 @ r = r11 + delta*2 + add r7, r7, r12, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r3, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r3, asr #15 @ clamp b + mvnne r3, r12, lsr #15 @ + andne r3, r3, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + and r11, r11, #0xf800 @ pack pixel + and r7, r7, #0x7e00 @ r3 = pixel = (r & 0xf800) | + orr r11, r11, r7, lsr #4 @ ((g & 0x7e00) >> 4) | + orr r3, r11, r3, lsr #10 @ (b >> 10) + @ + mov r11, #LCD2_DATA_MASK @ store pixel + orr r7, r11, r3, lsr #8 @ + orr r11, r11, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ compute R, G, and B + add r3, r8, r7 @ r3 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + sub r12, r3, r3, lsr #5 @ r3 = 31/32*b' + b'/256 + add r3, r12, r3, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r' + r'/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g' + g'/256 + add r7, r12, r7, lsr #8 @ + @ + @ This element is zero - use r14 @ + @ + add r3, r3, r14 @ b = r3 + delta + add r11, r11, r14, lsl #1 @ r = r11 + delta*2 + add r7, r7, r14, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r3, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r3, asr #15 @ clamp b + mvnne r3, r12, lsr #15 @ + andne r3, r3, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + ldrb r12, [r4], #1 @ r12 = Y' = *(Y'_p++) + @ + and r11, r11, #0xf800 @ pack pixel + and r7, r7, #0x7e00 @ r3 = pixel = (r & 0xf800) | + orr r11, r11, r7, lsr #4 @ ((g & 0x7e00) >> 4) | + orr r3, r11, r3, lsr #10 @ (b >> 10) + @ + mov r11, #LCD2_DATA_MASK @ store pixel + orr r7, r11, r3, lsr #8 @ + orr r11, r11, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ compute R, G, and B + add r3, r8, r7 @ r3 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + @ r8 = bu, r9 = rv, r10 = guv + @ + sub r12, r3, r3, lsr #5 @ r3 = 31/32*b' + b'/256 + add r3, r12, r3, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r' + r'/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g' + g'/256 + add r7, r12, r7, lsr #8 @ + @ + add r12, r14, #0x100 @ + @ + add r3, r3, r12 @ b = r3 + delta + add r11, r11, r12, lsl #1 @ r = r11 + delta*2 + add r7, r7, r12, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r3, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r3, asr #15 @ clamp b + mvnne r3, r12, lsr #15 @ + andne r3, r3, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + ldrb r12, [r4, r2] @ r12 = Y' = *(Y'_p + stride) + @ + and r11, r11, #0xf800 @ pack pixel + and r7, r7, #0x7e00 @ r3 = pixel = (r & 0xf800) | + orr r11, r11, r7, lsr #4 @ ((g & 0x7e00) >> 4) | + orr r3, r11, r3, lsr #10 @ (b >> 10) + @ + mov r11, #LCD2_DATA_MASK @ store pixel + orr r7, r11, r3, lsr #8 @ + orr r11, r11, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + sub r7, r12, #16 @ r7 = Y = (Y' - 16)*149 + add r12, r7, r7, asl #2 @ + add r12, r12, r12, asl #4 @ + add r7, r12, r7, asl #6 @ + @ compute R, G, and B + add r3, r8, r7 @ r3 = b' = Y + bu + add r11, r9, r7, asl #1 @ r11 = r' = Y*2 + rv + rsb r7, r10, r7 @ r7 = g' = Y + guv + @ + sub r12, r3, r3, lsr #5 @ r3 = 31/32*b + b/256 + add r3, r12, r3, lsr #8 @ + @ + sub r12, r11, r11, lsr #5 @ r11 = 31/32*r + r/256 + add r11, r12, r11, lsr #8 @ + @ + sub r12, r7, r7, lsr #6 @ r7 = 63/64*g + g/256 + add r7, r12, r7, lsr #8 @ + @ + add r12, r14, #0x300 @ + @ + add r3, r3, r12 @ b = r3 + delta + add r11, r11, r12, lsl #1 @ r = r11 + delta*2 + add r7, r7, r12, lsr #1 @ g = r7 + delta/2 + @ + orr r12, r3, r11, asr #1 @ check if clamping is needed... + orr r12, r12, r7 @ ...at all + movs r12, r12, asr #15 @ + beq 15f @ no clamp @ + movs r12, r3, asr #15 @ clamp b + mvnne r3, r12, lsr #15 @ + andne r3, r3, #0x7c00 @ mask b only if clamped + movs r12, r11, asr #16 @ clamp r + mvnne r11, r12, lsr #16 @ + movs r12, r7, asr #15 @ clamp g + mvnne r7, r12, lsr #15 @ +15: @ no clamp @ + @ + and r11, r11, #0xf800 @ pack pixel + and r7, r7, #0x7e00 @ r3 = pixel = (r & 0xf800) | + orr r11, r11, r7, lsr #4 @ ((g & 0x7e00) >> 4) | + orr r3, r11, r3, lsr #10 @ (b >> 10) + @ + mov r11, #LCD2_DATA_MASK @ store pixel + orr r7, r11, r3, lsr #8 @ + orr r11, r11, r3 @ +20: @ + ldr r3, [r0] @ + tst r3, #LCD2_BUSY_MASK @ + bne 20b @ + str r7, [r0] @ + str r11, [r0] @ + @ + subs r1, r1, #2 @ subtract block from width + bgt 10b @ loop line @ + @ + ldmfd sp!, { r4-r12, pc } @ restore registers and return + .ltorg @ dump constant pool + .size lcd_write_yuv420_lines_odither, .-lcd_write_yuv420_lines_odither diff --git a/firmware/target/arm/samsung/yh925/lcd-yh925.c b/firmware/target/arm/samsung/yh925/lcd-yh925.c new file mode 100644 index 0000000000..8afcf58bea --- /dev/null +++ b/firmware/target/arm/samsung/yh925/lcd-yh925.c @@ -0,0 +1,638 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "cpu.h" +#include "lcd.h" +#include "kernel.h" +#include "system.h" + +/** Initialized in lcd_init_device() **/ +/* Is the power turned on? */ +static bool power_on; +/* Is the display turned on? */ +static bool display_on; +/* Amount of vertical offset. Used for flip offset correction/detection. */ +static int y_offset; +/* Reverse flag. Must be remembered when display is turned off. */ +static unsigned short disp_control_rev; +/* Contrast setting << 8 */ +static int lcd_contrast; + +static unsigned lcd_yuv_options SHAREDBSS_ATTR = 0; + +/* Forward declarations */ +#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) +static void lcd_display_off(void); +#endif + +/* register defines for the Renesas HD66773R */ +#define R_START_OSC 0x00 +#define R_DEVICE_CODE_READ 0x00 +#define R_DRV_OUTPUT_CONTROL 0x01 +#define R_DRV_AC_CONTROL 0x02 +#define R_POWER_CONTROL1 0x03 +#define R_POWER_CONTROL2 0x04 +#define R_ENTRY_MODE 0x05 +#define R_COMPARE_REG 0x06 +#define R_DISP_CONTROL 0x07 +#define R_FRAME_CYCLE_CONTROL 0x0b +#define R_POWER_CONTROL3 0x0c +#define R_POWER_CONTROL4 0x0d +#define R_POWER_CONTROL5 0x0e +#define R_GATE_SCAN_START_POS 0x0f +#define R_VERT_SCROLL_CONTROL 0x11 +#define R_1ST_SCR_DRV_POS 0x14 +#define R_2ND_SCR_DRV_POS 0x15 +#define R_HORIZ_RAM_ADDR_POS 0x16 +#define R_VERT_RAM_ADDR_POS 0x17 +#define R_RAM_WRITE_DATA_MASK 0x20 +#define R_RAM_ADDR_SET 0x21 +#define R_WRITE_DATA_2_GRAM 0x22 +#define R_RAM_READ_DATA 0x22 +#define R_GAMMA_FINE_ADJ_POS1 0x30 +#define R_GAMMA_FINE_ADJ_POS2 0x31 +#define R_GAMMA_FINE_ADJ_POS3 0x32 +#define R_GAMMA_GRAD_ADJ_POS 0x33 +#define R_GAMMA_FINE_ADJ_NEG1 0x34 +#define R_GAMMA_FINE_ADJ_NEG2 0x35 +#define R_GAMMA_FINE_ADJ_NEG3 0x36 +#define R_GAMMA_GRAD_ADJ_NEG 0x37 +#define R_GAMMA_AMP_ADJ_POS 0x3a +#define R_GAMMA_AMP_ADJ_NEG 0x3b + +static inline void lcd_wait_write(void) +{ + while (LCD2_PORT & LCD2_BUSY_MASK); +} + +/* Send command */ +static inline void lcd_send_cmd(unsigned cmd) +{ + lcd_wait_write(); + LCD2_PORT = LCD2_CMD_MASK; /* Send MSB first (should always be 0) */ + lcd_wait_write(); + LCD2_PORT = LCD2_CMD_MASK | cmd; +} + +/* Send 16-bit data */ +static inline void lcd_send_data(unsigned data) +{ + lcd_wait_write(); + LCD2_PORT = (data >> 8) | LCD2_DATA_MASK; /* Send MSB first */ + lcd_wait_write(); + LCD2_PORT = (data & 0xff) | LCD2_DATA_MASK; +} + +/* Send 16-bit data byte-swapped. Only needed until we can use block transfer. */ +static inline void lcd_send_data_swapped(unsigned v) +{ + lcd_wait_write(); + LCD2_PORT = LCD2_DATA_MASK | (v & 0xff); /* Send LSB first */ + LCD2_PORT = LCD2_DATA_MASK | (v >> 8); +} + +/* Write value to register */ +static void lcd_write_reg(int reg, int val) +{ + lcd_send_cmd(reg); + lcd_send_data(val); +} + +/*** hardware configuration ***/ + +int lcd_default_contrast(void) +{ + return DEFAULT_CONTRAST_SETTING; +} + +void lcd_set_contrast(int val) +{ + /* Clamp val in range 0-14, 16-30 */ + if (val < 1) + val = 0; + else if (val <= 15) + --val; + else if (val > 30) + val = 30; + + lcd_contrast = val << 8; + + if (!power_on) + return; + + /* VCOMG=1, VDV4-0=xxxxx, VCM4-0=11000 */ + lcd_write_reg(R_POWER_CONTROL5, 0x2018 | lcd_contrast); +} + +void lcd_set_invert_display(bool yesno) +{ + if (yesno == (disp_control_rev == 0x0000)) + return; + + disp_control_rev = yesno ? 0x0000 : 0x0004; + + if (!display_on) + return; + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=11 */ + lcd_write_reg(R_DISP_CONTROL, 0x0033 | disp_control_rev); +} + + +/* turn the display upside down (call lcd_update() afterwards) */ +void lcd_set_flip(bool yesno) +{ + /* NOT MODIFIED FOR THE YH-925 */ + + if (yesno == (y_offset != 0)) + return; + + /* The LCD controller is 132x160 while the LCD itself is 128x160, so we need + * to shift the origin by 4 when we flip the LCD */ + y_offset = yesno ? 4 : 0; + + if (!power_on) + return; + + /* SCN4-0=000x0 (G1/G160) */ + lcd_write_reg(R_GATE_SCAN_START_POS, yesno ? 0x0002 : 0x0000); + /* SM=0, GS=x, SS=x, NL4-0=10011 (G1-G160) */ + lcd_write_reg(R_DRV_OUTPUT_CONTROL, yesno ? 0x0213 : 0x0113); +} + +/* LCD init */ +void lcd_init_device(void) +{ +#if 0 + /* This is the OF LCD init */ + int i; + + DEV_EN2 |= 0x2000; + DEV_INIT1 |= 0xfc000000; + CLCD_CLOCK_SRC &= ~0xf; + DEV_INIT2 &= ~0x400; + + GPIOF_ENABLE |= 0x4; + GPIOF_OUTPUT_EN |= 0x4; + GPIOF_OUTPUT_VAL &= ~0x4; + udelay(300000); + GPIOF_OUTPUT_VAL |= 0x4; + + outl(0x220, 0x70008a00); + outl(0x1f00, 0x70008a04); + LCD2_BLOCK_CTRL = 0x10008080; + LCD2_BLOCK_CONFIG = 0xf00000; + udelay(100000); + + for (i = 0; i < 8; i++) + { + lcd_send_data(0); + udelay(1); + } + + lcd_write_reg(R_START_OSC, 0x0001); + udelay(20000); + lcd_write_reg(R_DRV_OUTPUT_CONTROL, 0x0315); + lcd_write_reg(R_DRV_AC_CONTROL, 0x0700); + lcd_write_reg(R_ENTRY_MODE, 0x1028); + lcd_write_reg(R_COMPARE_REG, 0x0000); + lcd_write_reg(R_FRAME_CYCLE_CONTROL, 0x4008); + lcd_write_reg(R_RAM_ADDR_SET, 0x0000); + lcd_write_reg(R_GAMMA_FINE_ADJ_POS1, 0x0700); + lcd_write_reg(R_GAMMA_FINE_ADJ_POS2, 0x0000); + lcd_write_reg(R_GAMMA_FINE_ADJ_POS3, 0x0000); + lcd_write_reg(R_GAMMA_GRAD_ADJ_POS, 0x0100); + lcd_write_reg(R_GAMMA_FINE_ADJ_NEG1, 0x0707); + lcd_write_reg(R_GAMMA_FINE_ADJ_NEG2, 0x0007); + lcd_write_reg(R_GAMMA_FINE_ADJ_NEG3, 0x0700); + lcd_write_reg(R_GAMMA_GRAD_ADJ_NEG, 0x0001); + lcd_write_reg(R_GATE_SCAN_START_POS, 0x0000); + lcd_write_reg(R_VERT_SCROLL_CONTROL, 0x0000); + lcd_write_reg(R_1ST_SCR_DRV_POS, 0xaf10); + lcd_write_reg(R_2ND_SCR_DRV_POS, 0x0000); + lcd_write_reg(R_HORIZ_RAM_ADDR_POS, 0x7f00); /* ((LCD_HEIGHT - 1) << 8 | 0 */ + lcd_write_reg(R_VERT_RAM_ADDR_POS, 0xaf10); /* ((LCD_WIDTH + 16 - 1) << 8) | 16 */ + lcd_write_reg(R_GAMMA_AMP_ADJ_POS, 0x1600); + lcd_write_reg(R_GAMMA_AMP_ADJ_NEG, 0x0006); + lcd_write_reg(R_DISP_CONTROL, 0x0104); + lcd_write_reg(R_POWER_CONTROL4, 0x0100); + lcd_write_reg(R_POWER_CONTROL5, 0x0d18); + lcd_write_reg(R_POWER_CONTROL3, 0x0000); + udelay(50000); + lcd_write_reg(R_POWER_CONTROL1, 0x0008); + lcd_write_reg(R_POWER_CONTROL3, 0x0000); + lcd_write_reg(R_POWER_CONTROL2, 0x0000); + udelay(50000); + lcd_write_reg(R_POWER_CONTROL5, 0x2d18); + lcd_write_reg(R_POWER_CONTROL3, 0x0000); + udelay(50000); + lcd_write_reg(R_POWER_CONTROL4, 0x0110); + //~ lcd_clear_display(); + lcd_write_reg(R_DISP_CONTROL, 0x0105); + udelay(20000); + lcd_write_reg(R_DISP_CONTROL, 0x0125); + lcd_write_reg(R_DISP_CONTROL, 0x0127); + udelay(20000); + lcd_write_reg(R_DISP_CONTROL, 0x0137); + lcd_send_cmd(R_WRITE_DATA_2_GRAM); + + GPIOF_ENABLE |= 0x02; + GPIOF_OUTPUT_EN |= 0x02; + GPIOF_OUTPUT_VAL |= 0x02; +#endif + +#ifndef BOOTLOADER + /* The OF won't boot if this is done in the bootloader - ideally we should + tweak the lcd controller speed settings but this will do for now */ + CLCD_CLOCK_SRC |= 0xc0000000; /* Set LCD interface clock to PLL */ +#endif + + /* only these bits are needed from the OF init */ + lcd_write_reg(R_DRV_OUTPUT_CONTROL, 0x0215); + lcd_write_reg(R_ENTRY_MODE, 0x1028); + + power_on = true; + display_on = true; + y_offset = 0; + disp_control_rev = 0x0004; + lcd_contrast = DEFAULT_CONTRAST_SETTING << 8; +} + +/* THE SLEEP AND POWER FUNCTIONS HAVE NOT BEEN MODIFIED FOR THE YH-925 */ + +#ifdef HAVE_LCD_SLEEP +static void lcd_power_on(void) +{ + /* Be sure standby bit is clear. */ + /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=0 */ + lcd_write_reg(R_POWER_CONTROL1, 0x0000); + + /** Power ON Sequence **/ + /* Per datasheet Rev.1.10, Jun.21.2003, p. 99 */ + + lcd_write_reg(R_START_OSC, 0x0001); /* Start Oscillation */ + /* 10ms or more for oscillation circuit to stabilize */ + sleep(HZ/50); + /* Instruction (1) for power setting; VC2-0, VRH3-0, CAD, + VRL3-0, VCM4-0, VDV4-0 */ + /* VC2-0=001 */ + lcd_write_reg(R_POWER_CONTROL3, 0x0001); + /* VRL3-0=0100, PON=0, VRH3-0=0001 */ + lcd_write_reg(R_POWER_CONTROL4, 0x0401); + /* CAD=1 */ + lcd_write_reg(R_POWER_CONTROL2, 0x8000); + /* VCOMG=0, VDV4-0=xxxxx (19), VCM4-0=11000 */ + lcd_write_reg(R_POWER_CONTROL5, 0x0018 | lcd_contrast); + /* Instruction (2) for power setting; BT2-0, DC2-0, AP2-0 */ + /* BT2-0=000, DC2-0=001, AP2-0=011, SLP=0, STB=0 */ + lcd_write_reg(R_POWER_CONTROL1, 0x002c); + /* Instruction (3) for power setting; VCOMG = "1" */ + /* VCOMG=1, VDV4-0=xxxxx (19), VCM4-0=11000 */ + lcd_write_reg(R_POWER_CONTROL5, 0x2018 | lcd_contrast); + + /* 40ms or more; time for step-up circuits 1,2 to stabilize */ + sleep(HZ/25); + + /* Instruction (4) for power setting; PON = "1" */ + /* VRL3-0=0100, PON=1, VRH3-0=0001 */ + lcd_write_reg(R_POWER_CONTROL4, 0x0411); + + /* 40ms or more; time for step-up circuit 4 to stabilize */ + sleep(HZ/25); + + /* Instructions for other mode settings (in register order). */ + /* SM=0, GS=x, SS=0, NL4-0=10011 (G1-G160)*/ + lcd_write_reg(R_DRV_OUTPUT_CONTROL, y_offset ? 0x0013 : 0x0113); /* different to X5 */ + /* FLD1-0=01 (1 field), B/C=1, EOR=1 (C-pat), NW5-0=000000 (1 row) */ + lcd_write_reg(R_DRV_AC_CONTROL, 0x0700); + /* DIT=0, BGR=1, HWM=0, I/D1-0=10, AM=1, LG2-0=000 */ + lcd_write_reg(R_ENTRY_MODE, 0x1028); /* different to X5 */ + /* CP15-0=0000000000000000 */ + lcd_write_reg(R_COMPARE_REG, 0x0000); + /* NO1-0=01, SDT1-0=00, EQ1-0=00, DIV1-0=00, RTN3-00000 */ + lcd_write_reg(R_FRAME_CYCLE_CONTROL, 0x4000); + /* SCN4-0=000x0 (G1/G160) */ +/* lcd_write_reg(R_GATE_SCAN_START_POS, y_offset ? 0x0000 : 0x0002); */ + /* VL7-0=0x00 */ + lcd_write_reg(R_VERT_SCROLL_CONTROL, 0x0000); + /* SE17-10(End)=0x9f (159), SS17-10(Start)=0x00 */ + lcd_write_reg(R_1ST_SCR_DRV_POS, 0x9f00); + /* SE27-20(End)=0x5c (92), SS27-20(Start)=0x00 */ + lcd_write_reg(R_2ND_SCR_DRV_POS, 0x5c00); + /* HEA7-0=7f, HSA7-0=00 */ + lcd_write_reg(R_HORIZ_RAM_ADDR_POS, 0x7f00); + /* PKP12-10=0x0, PKP02-00=0x0 */ + lcd_write_reg(R_GAMMA_FINE_ADJ_POS1, 0x0003); + /* PKP32-30=0x4, PKP22-20=0x0 */ + lcd_write_reg(R_GAMMA_FINE_ADJ_POS2, 0x0400); + /* PKP52-50=0x4, PKP42-40=0x7 */ + lcd_write_reg(R_GAMMA_FINE_ADJ_POS3, 0x0407); + /* PRP12-10=0x3, PRP02-00=0x5 */ + lcd_write_reg(R_GAMMA_GRAD_ADJ_POS, 0x0305); + /* PKN12-10=0x0, PKN02-00=0x3 */ + lcd_write_reg(R_GAMMA_FINE_ADJ_NEG1, 0x0003); + /* PKN32-30=0x7, PKN22-20=0x4 */ + lcd_write_reg(R_GAMMA_FINE_ADJ_NEG2, 0x0704); + /* PKN52-50=0x4, PRN42-40=0x7 */ + lcd_write_reg(R_GAMMA_FINE_ADJ_NEG3, 0x0407); + /* PRN12-10=0x5, PRN02-00=0x3 */ + lcd_write_reg(R_GAMMA_GRAD_ADJ_NEG, 0x0503); + /* VRP14-10=0x14, VRP03-00=0x09 */ + lcd_write_reg(R_GAMMA_AMP_ADJ_POS, 0x1409); + /* VRN14-00=0x06, VRN03-00=0x02 */ + lcd_write_reg(R_GAMMA_AMP_ADJ_NEG, 0x0602); + + /* 100ms or more; time for step-up circuits to stabilize */ + sleep(HZ/10); + + power_on = true; +} + +static void lcd_power_off(void) +{ + /* Display must be off first */ + if (display_on) + lcd_display_off(); + + power_on = false; + + /** Power OFF sequence **/ + /* Per datasheet Rev.1.10, Jun.21.2003, p. 99 */ + + /* Step-up1 halt setting bit */ + /* BT2-0=110, DC2-0=001, AP2-0=011, SLP=0, STB=0 */ + lcd_write_reg(R_POWER_CONTROL1, 0x062c); + /* Step-up3,4 halt setting bit */ + /* VRL3-0=0100, PON=0, VRH3-0=0001 */ + lcd_write_reg(R_POWER_CONTROL4, 0x0401); + /* VCOMG=0, VDV4-0=10011, VCM4-0=11000 */ + lcd_write_reg(R_POWER_CONTROL5, 0x0018 | lcd_contrast); + + /* Wait 100ms or more */ + sleep(HZ/10); + + /* Step-up2,amp halt setting bit */ + /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=0 */ + lcd_write_reg(R_POWER_CONTROL1, 0x0000); +} + +void lcd_sleep(void) +{ + if (power_on) + lcd_power_off(); + + /* Set standby mode */ + /* BT2-0=000, DC2-0=000, AP2-0=000, SLP=0, STB=1 */ + lcd_write_reg(R_POWER_CONTROL1, 0x0001); +} +#endif + +#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) +static void lcd_display_off(void) +{ + display_on = false; + + /** Display OFF sequence **/ + /* Per datasheet Rev.1.10, Jun.21.2003, p. 97 */ + + /* EQ1-0=00 already */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=10 */ + lcd_write_reg(R_DISP_CONTROL, 0x0032 | disp_control_rev); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=10 */ + lcd_write_reg(R_DISP_CONTROL, 0x0022 | disp_control_rev); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=0, DTE=0, REV=0, D1-0=00 */ + lcd_write_reg(R_DISP_CONTROL, 0x0000); +} +#endif + +#if defined(HAVE_LCD_ENABLE) +static void lcd_display_on(void) +{ + /* Be sure power is on first */ + if (!power_on) + lcd_power_on(); + + /** Display ON Sequence **/ + /* Per datasheet Rev.1.10, Jun.21.2003, p. 97 */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=0, DTE=0, REV=0, D1-0=01 */ + lcd_write_reg(R_DISP_CONTROL, 0x0001); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=01 */ + lcd_write_reg(R_DISP_CONTROL, 0x0021 | disp_control_rev); + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=0, REV=x, D1-0=11 */ + lcd_write_reg(R_DISP_CONTROL, 0x0023 | disp_control_rev); + + sleep(HZ/25); /* Wait 2 frames or more */ + + /* PT1-0=00, VLE2-1=00, SPT=0, GON=1, DTE=1, REV=x, D1-0=11 */ + lcd_write_reg(R_DISP_CONTROL, 0x0033 | disp_control_rev); + + display_on = true; +} + +void lcd_enable(bool on) +{ + if (on == display_on) + return; + + if (on) + { + lcd_display_on(); + /* Probably out of sync and we don't wanna pepper the code with + lcd_update() calls for this. */ + lcd_update(); + lcd_activation_call_hook(); + } + else + { + lcd_display_off(); + } +} +#endif + +#if defined(HAVE_LCD_ENABLE) || defined(HAVE_LCD_SLEEP) +bool lcd_active(void) +{ + return display_on; +} +#endif + +/*** update functions ***/ + +void lcd_yuv_set_options(unsigned options) +{ + lcd_yuv_options = options; +} + +/* Line write helper function for lcd_yuv_blit. Write two lines of yuv420. */ +extern void lcd_write_yuv420_lines(unsigned char const * const src[3], + int width, + int stride); +extern void lcd_write_yuv420_lines_odither(unsigned char const * const src[3], + int width, + int stride, + int x_screen, /* To align dither pattern */ + int y_screen); + +/* Performance function to blit a YUV bitmap directly to the LCD */ +void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height) +{ + const unsigned char *yuv_src[3]; + const unsigned char *ysrc_max; + int y0; + int options; + + /* NOT MODIFIED FOR THE YH-925 */ + + if (!display_on) + return; + + width &= ~1; + height &= ~1; + + /* calculate the drawing region */ + + /* The 20GB LCD is actually 128x160 but rotated 90 degrees so the origin + * is actually the bottom left and horizontal and vertical are swapped. + * Rockbox expects the origin to be the top left so we need to use + * 127 - y instead of just y */ + + /* max vert << 8 | start vert */ + lcd_write_reg(R_VERT_RAM_ADDR_POS, ((x + width - 1) << 8) | x); + + y0 = LCD_HEIGHT - 1 - y + y_offset; + + /* DIT=0, BGR=1, HWM=0, I/D1-0=10, AM=0, LG2-0=000 */ + lcd_write_reg(R_ENTRY_MODE, 0x1020); + + yuv_src[0] = src[0] + src_y * stride + src_x; + yuv_src[1] = src[1] + (src_y * stride >> 2) + (src_x >> 1); + yuv_src[2] = src[2] + (yuv_src[1] - src[1]); + ysrc_max = yuv_src[0] + height * stride; + + options = lcd_yuv_options; + + do + { + /* max horiz << 8 | start horiz */ + lcd_write_reg(R_HORIZ_RAM_ADDR_POS, (y0 << 8) | (y0 - 1)); + + /* position cursor (set AD0-AD15) */ + /* start vert << 8 | start horiz */ + lcd_write_reg(R_RAM_ADDR_SET, (x << 8) | y0); + + /* start drawing */ + lcd_send_cmd(R_WRITE_DATA_2_GRAM); + + if (options & LCD_YUV_DITHER) + { + lcd_write_yuv420_lines_odither(yuv_src, width, stride, + x, y); + y -= 2; + } + else + { + lcd_write_yuv420_lines(yuv_src, width, stride); + } + + y0 -= 2; + yuv_src[0] += stride << 1; + yuv_src[1] += stride >> 1; + yuv_src[2] += stride >> 1; + } + while (yuv_src[0] < ysrc_max); + + /* DIT=0, BGR=1, HWM=0, I/D1-0=10, AM=1, LG2-0=000 */ + lcd_write_reg(R_ENTRY_MODE, 0x1028); +} + + +/* Update a fraction of the display. */ +void lcd_update_rect(int x0, int y0, int width, int height) +{ + int x1, y1; + int lcd_x0, lcd_x1, lcd_y0, lcd_y1; + unsigned short *addr; + + if (!display_on) + return; + + /* calculate the drawing region */ + y1 = (y0 + height) - 1; /* max vert */ + x1 = (x0 + width) - 1; /* max horiz */ + + if(x1 >= LCD_WIDTH) + x1 = LCD_WIDTH - 1; + if (x1 <= 0) + return; /* nothing left to do, 0 is harmful to lcd_write_data() */ + if(y1 >= LCD_HEIGHT) + y1 = LCD_HEIGHT-1; + + /* The LCD is actually 128x160 rotated 90 degrees */ + lcd_x0 = (LCD_HEIGHT - 1) - y1 + 4; + lcd_x1 = (LCD_HEIGHT - 1) - y0 + 4; + lcd_y0 = x0 + 16; + lcd_y1 = x1 + 16; + + /* set the drawing window */ + lcd_write_reg(R_HORIZ_RAM_ADDR_POS, (lcd_x1 << 8) | lcd_x0); + lcd_write_reg(R_VERT_RAM_ADDR_POS, (lcd_y1 << 8) | lcd_y0); + + /* set the starting position */ + lcd_write_reg(R_RAM_ADDR_SET, (lcd_y0 << 8) | lcd_x1); + + /* start drawing */ + lcd_send_cmd(R_WRITE_DATA_2_GRAM); + + addr = (unsigned short*)&lcd_framebuffer[y0][x0]; + + int c, r; + + /* for each row */ + for (r = 0; r < height; r++) { + /* for each column */ + for (c = 0; c < width; c++) { + /* output 1 pixel */ + lcd_send_data(*addr++); + } + + addr += (LCD_WIDTH - width); + } +} + +/* Update the display. + This must be called after all other LCD functions that change the display. */ +void lcd_update(void) +{ + lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); +} diff --git a/firmware/target/arm/samsung/yh925/powermgmt-yh925.c b/firmware/target/arm/samsung/yh925/powermgmt-yh925.c new file mode 100644 index 0000000000..6d7e3487aa --- /dev/null +++ b/firmware/target/arm/samsung/yh925/powermgmt-yh925.c @@ -0,0 +1,59 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Heikki Hannikainen, Uwe Freese + * Revisions copyright (C) 2005 by Gerald Van Baren + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "config.h" +#include "adc.h" +#include "powermgmt.h" + +/* TODO: Not yet calibrated */ + +const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = +{ + 3733 +}; + +const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = +{ + 3627 +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ +const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = +{ + { 3733, 3772, 3821, 3840, 3869, 3917, 3985, 4034, 4072, 4140, 4198 } +}; + +/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ +const unsigned short percent_to_volt_charge[11] = +{ + 3956, 3995, 4024, 4043, 4063, 4082, 4111, 4140, 4179, 4218, 4266 +}; + +#define BATTERY_SCALE_FACTOR 4650 +/* full-scale ADC readout (2^10) in millivolt */ + +/* Returns battery voltage from ADC [millivolts] */ +unsigned int battery_adc_voltage(void) +{ + /* return (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) >> 10; */ + return 4100; +} diff --git a/firmware/target/arm/system-pp502x.c b/firmware/target/arm/system-pp502x.c index b4952d6cf2..12ae7a9d3b 100644 --- a/firmware/target/arm/system-pp502x.c +++ b/firmware/target/arm/system-pp502x.c @@ -141,6 +141,12 @@ void __attribute__((interrupt("IRQ"))) irq_handler(void) usb_insert_int(); } /* end PHILIPS_HDD1630 */ +#elif defined(SAMSUNG_YH820) || defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925) + else if (CPU_HI_INT_STAT & GPIO0_MASK) { + if (GPIOD_INT_STAT & 0x10) + usb_insert_int(); + } +/* end SAMSUNG_YHxxx */ #endif #ifdef IPOD_ACCESSORY_PROTOCOL else if (CPU_HI_INT_STAT & SER0_MASK) { diff --git a/firmware/target/arm/usb-fw-pp502x.c b/firmware/target/arm/usb-fw-pp502x.c index 82be770889..5317bc40e8 100644 --- a/firmware/target/arm/usb-fw-pp502x.c +++ b/firmware/target/arm/usb-fw-pp502x.c @@ -75,6 +75,13 @@ #define USB_GPIO GPIOE #define USB_GPIO_MASK 0x04 #define USB_GPIO_VAL 0x04 + +#elif defined(SAMSUNG_YH820) || defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925) + /* GPIO D bit 4 is usb detect */ +#define USB_GPIO GPIOD +#define USB_GPIO_MASK 0x10 +#define USB_GPIO_VAL 0x10 + #else #error No USB GPIO config specified #endif diff --git a/tools/configure b/tools/configure index c5fcb84b34..d8eef9f0af 100755 --- a/tools/configure +++ b/tools/configure @@ -736,25 +736,27 @@ cat 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�CdVgI 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

x z%uccS`(8eG{HF`Q91p&8J?!Dli@zP+xq1EZ{kx9&c%MFg=*T|L-5%>ddGmz_zE|IU zW%=n7$AKm>e7#-?^rch+k^mZ{WQiK^=7pk5jsk;~{4m7}A;$tN)KPF(@R`JlfD#B7 z2@Z^PKEs1!p;c4V(63v!Cgjo0&EI`-aL1OD2fR)m^gQUf?&$8Vd$xSvr$HpT|zOE7#6#S-sMI{hHs7 z9lLPm^d4^yA1@E0^`8&#J#xV7^sh&LJ?M4z#K9wbxBa+x+qWORb>a9vgGR-nsMp}? z@WGn}>haog8CU`HV8IWiW()%bzl!gb4>S3b*vKf2ChkGN!%J7r@AKM1K2{q2k{Q%R zkr#mrEkdAZ3!@0ijZ~8lJ2J2^S>uR%lxbm7hAG1ymz$?o$hFU5HnoAj$(OZ`{+Fmr$R$Nz* zfOOczU}Hq!quyTpli4}AtBRNMr-KPE$V*Sp5mB+N6YumfL)?{QuVEOFOS+7qoe&_< zK`=MeFgesRG0;L(#Q4#X{&qG>pIsh}HN{=Ec|8rqOhs>REN!J@x4E>xshslqP)GS_ zUtM2Qaes4>L#xTp%@Zq^kVlTX01tWPDG8>C5XGr$Z>lX#GYogv)FI3QC8i<2)Ty2w ztQ+fZnjUPyn;IW%YN{*x=Ic*WZA^O%*N5F^Xl!n(J~v5)v?IxOhc=>+nFWy#7zAlo z1*2MkoGfz#^QDMmv}uCu+Q1?@1d~+BMnr~b{R>4+iypvKLj-#eC1Z2U1BMKqJ#qA) z&&kuj`@)&0UK1S?BMp8UrlV`+9woQQ=4Y|tpHS!EGj>5;MFAoTF1vjmaB@BIQFL^i9E0;^h6n~qUV<8rI4R_KfDl$h z{x{J~tikA2Dl6g@h*p4@wm>d$BB2hTg7<*QWB3v`$-ktE4YzLH*uC5P+?iht4}SIA z`^|$rUp(0RuY0>c_20Mh-tMpbc7EmS_4SP%-`?5ro$A!VYo2S4um0eV4gX3GyG%zs zC#6-Xh&Cw%^Bydmm-d5!~9O1DJlBJa|p!5|E@sU4b-!VGJ&HaN!-PyQdNE=|}SO36;UIzQb; zqdx6{`H3jo14ITURHm6}>rf+|L^N$TL~r+UFHE!7m!Ej94Xve5Mw+ zHC0Sb^mRAnBRpb?jzBC-Vx9lELJM*-@}j){3=WFm$#7pssy3j)rJL%i=&i|_n(FSY zbT*cxG?qAf8;b|pE1PO^o2v7_SovXgvdIzuDCov-(1b{HF?*D(EZsM$<|tC}H9+=Co4&7qRC4WO75Lu@Mv(6XS2lxFpbp0T*zb%h2y3Y*P|P! z{jQw7dfxBCX+L$G8XJs>k5y|lq%ldwvK=dkBD){O9obohfMTa+LDq!)UMx@6s{s_f zMtA?-gG*J;(HTK_E8V-MX z-}|H1_L>jgfBo{g->fDb$xjlzwBb_%k%F($nB;){g@K4V5S~1V0`!q=^zKUHLaNvl zW&sa!D)>&sMqmy0jaMV#0C`lM7AESv+e6!qGg0^O$93wHZnt)=yt;SgIqy%;?Ed`H zzR$1k|NQ#C&o29Xskw3Jj~$;rI`~cW;eXHdn1BB1U}R(ruY-K8fPhf~K+uZgas@b$ z1Q$Xt0VyP4x;RjvdpO8eGWe>7OyYx74C zx^E~V0-7Ff8}6u{8tt4I8=_uu}*>RvfMQlUcCSkrR<)aB5?Ny*2p>@a^XY>&sH(T1t|c!VDv&t0udn zv6w{jKwB}~!mq#n0wHk(^fW=&6V(B!mPkizAd(YyLm2tkJmz*K>*(}kD0-ww8r-8FIIkf{_H6#G2|{y^c!oy6LE&1 zlHh^B{h*iwnlXVxsSb-_Dy$C#v$0V66J^>Dym+hy)0Q4aV8&*%o99^`fSr~lZv5c~ zB+4hpE9PcOXQy(eCv3z0n(-0K#F%knR5vlE9~;)pPNj{HnEBPzcphhQ;LxGShzRi1 zjLm8&o#UBFVGFzfxIj6w#5Mp$x)C`b{(#Ut_-vQt4Y8M!MppQCl%=GW3?xz@vzT?- zc+i=b4Y>bchx@jl5ARnlTIbws{oD*)tHpCOWCCmFrpo80i)W|uW+qZ+r(DXaipEE? zcrwxoa0#_~9gYsplft*BL{3pjfiYQ&_-Vqbqvp<6TpL^$&Oo8Su@M9X1f4x|#$(gk z!~5Lo^OMFOX7Q;7n47q#GmXOlN)s z`4d29SFx1Y_x}u?09F?@` zu?{o|kvW|m?YegLX3spH5Rxn;p2($E?#}+6uI7re+~kDH;`F(xf!4Yr$hu?w_3g|I z?QfbI?;q`InwuFOAMS2%s(j#gW5?Ew%r7SEI6d6aQj#&=Tg&|Ak?z`|&Z^$p-0s?( zk^Y*Yj@stRyokVuC=uf}fLvnl3v@d3C^i4$vvWGuD2GXn^P^Z1q|9%1!pH37?P5o zq{r=aT4QPXgC>i2O5-`)dxs_>)eyM%e*NtA zGbgUbN2@G4LtJDW)Ci;SPl)%$i&h9HHj)wmiOoXB&kmJ6)0qZ2%0P{mk+?<^{48>V zr+zsmZmqtDIp!O=%%XU9Z?Yj$vUZfJIP5R3=<2$^T)i@9Sz|DuVHCkY`fOSooA zmyEIP zgyq;{bdmR9n?yglSxSvKS;nlu$*0jH&7r3B0|O!56hp?9*-uIOaJX=^6A~-gV;>em zy-rlwVje(gNU^9qJ+|`VZIu~aRhdkfLi2f~w}CF>f~5G--uj;AvX&BOLtet%XveJ^ z*ZcbV*lsa)KDcSPCV%=vxiN(W#z6-9`syo6^V5^+^KG4#F3P^s6P*y$=Sa_vcaIOW zjtq8=h=gq0_+b0Bi)Xytw-mUNn<}%B8=C5@EXhDe*HD#h8|$j;X{ulbpC`F4mfq(>HQ5Q z6Wz586YQcSG)GRzMYh=xA5FYN93pSw{0DE}0zBjZ^7`DhGXtH?4Mk{a>S}ZCOc2Pi zN7rT;P_`dvD(Y&;!$0Y&FRUnYty%qrNfnuHh)#|Vvc*1vfr6(&!H%>lDG_w<$&f%M zVJHtVQHEL6?4d8_qzVPD$Yo8#Sv5wN=Q1fWnuZI2C_lpt;kG#4$WSoVqZ{VfAm5AE z9{9zaKYuSij^;8Gkv$HIShXm!vB}GpXR|p#4enZs!(=lEFCe^QVm7$m5V`ra-ID7{ z&&$r(bMS~MHM?hg`v2?tVHSO}b4huXUI&hZqNWrUSW{h=MGJ_X45l#E`4`L(9HaF` zc6J3xKn#KlOvMhEBuN&>VFyfzeiVQq<0x4KA-da0Q%Dh&CljGTRn2Aejw{{M%R4kY zs<(gOzZW(+K0Y-uF*z~O+tc0F+FD$M&U~gytqBMU`su`pM}Yw?&2{jdl+_5_5kwGA zpj1n|L%j(pYViyNDnJY%7PMiFRB5qr@w0FlI6AHaXTjR!*H)<$;V;P;p5&yQjP%yJ z+JlDQ;DT|6O)U=s=ukOFMVHDi6^2ysckSEYtc zH}*Wa4yVp)!3m6thF_!)4hgw%{tus>+uS#)I!&k0TZ;0?SMEcRkfsjt7 zLj_zEyUfgkqw_11{7F_Ka$YWb9P^tf1jv1uZR5$X7uwJnR0Z+pNF1PVPd*lXiegt% zbxy)iR|PtRj3Vu?&7Np0?Q6(Ki5=~x@!p1^p4!=g`n$Jo4))_BN_J7qaA6)|egKy8 z`u*J~okF0e3XGk=jdAq7un zyIbp9Yx0_lQwQtwMq24~?rO|qWMTW zgLY44M<3>Ej`S;b>Y0H2`_CsYo%6qV{=QbF!K;snjW&vy68FBaw}B1_=4OZ?L>+c3 z+OnXE6eG=2yd@In7g&@SkJU0aH$@F}!;ZaQZ}8l@&HcOY*KPCgJbLWdb}#QWKdk@q zn{PL{dwj8e?aIwwAFpyd_4_GRoN8iZu(-H@1~%EaA&dbd z1OBJ2*lJH=HW2&1^r}c<1?-#WoC8GyDY*YQHUuLC8W2SavN9(|`XeHv5B&Jk&b|A0 z&{g8$vBP_Zo7*;b_ifv@x^3Cw=Iyo9YlruN{RdB-KKt{DlQ>Ru)8pt&!zy81hXg6u zsxVF^E5Z39QpCYf^~Zt3ZaExRg`;wK=AnT+kl9GavNo_yd=)$@es3}3mT;lS@d7eg z>FEts)%IY1MbD*R5Z_VZ(-Pp6;8rY;pJW^l;zK)!Vsymxs6aCO5YW zSI&?0^%mtbM8Jtl0-k_Q$Ptj;;a_4>B{wU@eVVgDecl#;hXu1dn8M%*?=SHVdIe{x z?|k>guSfUcuNtEtl0U%@v1tMeQ#JX?Ds*zlyfu{~KkQGH5dCu$x{5Lr(=G9+v{5F` zvTIO2Ar#_P1YU~L^znh$Q7U7Z^0DdCBS`r?$T?r_iD4 zsmmW}DWN#h*HX%$z24>$^0DBFVjW_D^2I_tcvZm@Onr8sr@OhLq%b3yj(+0Gmd4VK zs+|7DilM%ip|e&}oh;OgBNxFUwDovT}+cJH-I=1dhNo0VUXlT(ljH-isY8D^U!k00h{7v~iW^$$)C4P+n& zuM8|E_=f~WL|_rm$Hr#MED5|LVi}SI2p3|=^SKmBfhHtMZ~-c+i2n^+cP%UKQP!^US0}`76&6cFCXcJj2su^0jsL3Swnt)c1dw@aY=b! zPyh7zSV2}cBz^=~;jJ-E9I)dYS(s2?rF%#ofCCvDauv86TrQ3-VhU+aTmsgLH$$-- z4FRA-oS4K!GQ%?L&}@=FPE17EpfD%5v$=_talSFJQBkqcTyP=M>$Lzk0S!8HS(!3m z%$1$h+S)QZHC9?sAS)r%0zFZf6o3*hi9Csw3Fu^R_*w$M1n?Hz0|5bIB2?%xv_)_T z!IO~CixyLL2I<=5mR$B~Js zDQawOWf_D0EyU@WmZ-7bs^*g9iT+yJc!~Q42dMA-$A4HDG*QeNFu@UI;BPl_AVtjI zkp#|g8%$9gXMhF1>vUiJ%&N;V z#)ex*+Nu$Tni*~bo4_AxwKY)vqCyJt=m(T&WPy-Gz+@gzlz;ekxTmL~%vG2WUzZQ1 zr>Z7XU!P~`Zz_P>*4k!}r;wD?h4huHLXtIMyyHydA&Wv^A)ymHPJGy1ZPdL# zjvn#59eDceO;J)p10y!xYP2P=(TR0qc@RyxNu?{0m;%>CY6^r!IPN$SHito@C&58f zK%9=(jpf!=R<<-X^ubSR@96AmW9}Q$p#6QlgMIydo$Y;{Z9VPneZ4(Q_;MmXgfIwp zks!%LYQ*A$DBXOR9a}9qhxvqwyfk(JQeZ=v3Vr~jSrLIGERuQ#3nh;tCu)nvbv%R&q1J#ROzV2vg?(gj6>w$ruP9mSWdM5TE z(*RsbGc#x@hp}>k%Bom2voqj{iRFSM;-SE`1AJ1`iFTBq$O@?+;~;@ExLZUWoMr-R zR#F@SdN!o^lQL4B%=)RWtQhF)9UdAS8W|ZL9`5bx92y$z?}w4m3rzxHknZ+27THi= zU0BGxLO6Y>bCVSzH*K~VP*UPz5M+U`!j}PD<>-QK!Up6DE31%n3R*A`F_9=S1%(8k zJ^TBCUE933epgqV3T=s!U%ELq!y1!nip9}o-$~Sl5nog8Avr)gj&2&q$6gWy;7TlXeOZ?8A+Y2)j`SaRb$J}^lZC)ZV#dJ?S zk<&_1tX1hDv8_J<^naRVWlsnp1 ziqd{lxw9tMHq>1;(NjM$+&(?gO+J=Eq`#m1>DW&``I(NAbbVz`LT_C@rP#5~>X!1H z_VV=Up}NMp+~OR^+(h@-2u0-R{G4n#2F{6q$^xAWrBhA^aFo}d86Pfn>Z`KN(>>MH z(F#*EHJLhEkf!?TnaDieTQl5T)YDYG>g!Jps$jduzaTL#{PqQSv)ZuR#i_<54LJ}q z?j;UJrjt(3C~zau80nytlWIya#uhuR>=dqqI8&T|f+3>4IxpLyNz{kqzap6eQJN0+@T2>7@Ao-=_Pj4OUp7bji!FL09;Sg?2?R7j~wP;jIfkXzVb$jr%t`hd*} zEk$8!VJx(-uxSeMJlRfQulOCzBA4Nzq9e_yJqDn&GpCS*NMt}4W)5Q`Co7kuNVhPl zS7bd9Ltv}5F_Rqt6DcCGL=4m>Z96Q5&wLNCU^Vh{*{rE4%S>hQlM+au2px`Hn`hJc z%g<=?aU$ym-(3d&F<&p8F`slYc7(+q`Z*i zodn{zJh)ppC&GUb4R858|5ozGp@NO7(xae&3+K=Jc)RWL_yJEN!>mfugyF}g8becU z(J163Gcyzx3S--K5$MFCiP1^xj)|cO`ur3v!WS8q_|gnJ>HWG=7o0cr+;m~LvQkvx zkFJ=a@9D#D$A;fK;IlU;!%lZhmOZvM-%*im9cwMEPB+vSBr$nB->I4Is~K#soEqxz zyX8ALI3$*Veau^k{QDy+Qgq=@U8*M()VWwSv8H6&{U8Aw=KDDz?w0t&o1ISIb8fezxGBq`Jq%!M9a ziEY3f`IR^=(VUgYiEBiyn`Abi5 z2I@QPK14b+o|F0@%wfJHHwOLb1!;DK4Y^x#Q!T{H{FZx+T4RbnBEuNV&q=uuMDxS! z6o^j*M}el;d$btS@dJe$cIED!o;AgpXd|On)WYqp7-LgWVt1{ptu(d2y}UNZJ~`UK z45|lyw+9CYXCy`tWB+fH`E$R(wiN@H*YE9WuP-aAD9&$hD5@>X8f+;=X1}kqsvTkK z;r9NHn(3hygcOGR8{1l{ph$Ud+mdY3&Q0`^KtMXFw>mQ+{!vp=+GuB0SAD4r7A#Gl z8|mn&$=5^%FfyL~1k;6{Tngx@!k(b4MBqX1c2TTgwM} z>ZW?Cdz(tji!wH>|JFr6K;TVF_#I=!El7;{iH4Fir0hk88g1~BWCL*x9tag=YRzmY za2-pWCS^ujL^VAak&L>I<09a=5-8c?WkM4-k0IO-I-?~%_~?N>$A0|n?3wE-RUBag z18cwyz=I5c-6B3U_Nna4n6G3lxPS3U$o|RRXq#`AM;VgRi~~jr$wpijK>-065jMkn z5jv~zHXS51sG%T5m|#ODk^3C8#T}O#4IThSK!|`iE!#KtfUSw$*d1sla4bM70Z}DX ziTEjY4ljj{JLY)GNFcUsrLjkGU_d(libIQ8*$9hpPZWJ2j)nC)985T679q}w*ggpk z=7>s~17SvdAu=SA#U(8Pnz49Z1ONl^BsGEhnT0}+fEY^@J`R3>;H%WXa18`{fG2Xx z!rS3cF!PClh{D9TVcnn;R|ZWLRxT%z0D=*ZurR=tnvcvmB$o^BWikOBEfq2$i00aC z6w?7Ah&K2{@P0u&t}h1$gyllp@L0$Li*v%0<(2IY#xAn}*mUB<;Y8684)riTmNAaO z!NKRwoY9x0^3d%WT;nJAv^Z*8IM@=E_2g1}jiH72ID?J+2baIpQ5F@Ly zk=%))(A-v8K#d^T7>*D|UaGk=hnXCK;E5*Uu2mnkotZUxDU9T12xdu|sjsa96_oCp z9G5Y;&Sf5JDQRJVur8c>1b8wuJTyCpas0=D#~lCs2j)i%GB<~r_jPvEmlanO<#gBQ zjdoYeO?FzM{IEV!C_N-d10QN(7adNq+DdGqm(n7cgw{1cgfMbWJ!L{vPk*-1mlwKnvl-+rBJjwLNdKDN|lE=@Pa`Cqq^O^tlO)O+Gw zk$=od%5rE@_2JwSP>d3^VcL+})~JWPx%8ehtQjYSneipaL)k(VgG?Co4;h$xd4j=?EyY^Hp0G@?RwwS+z33kYG%#TI@;jU}PCi zVk;sDTq$O5VZ*ow7UX1f!$a55P=Unh-c;KC3@#5!51q#nX8k4y=_z~iPD2m!ViLbeOBzcqI z^hrBm0szQ$<2Aq_u7xvMI6HzKycf`2low=?^C-&ESufCTsmX3FOKYsio+6pqP~?04>c9Y{{8{lJ7S2CWEE_Q47=0ZSWlD-NlA4NA2AhkD z({%Jj4!2f}_BFt?pXhBK>Z~7y&o(;PSzmMZx8q*hwiIO~G9;b0yRNzde66|ZLBu5xP9l3UH`7y_W9cYM8Eq}6 zv$(A!8J$}?rhCwmt;&{aaz?BiLBB7F1se;;SGjJ%1x52VvA|1BB*6HdZ0P-p*i{yv$sy2 zynNxz?f95DSo8*!8VMn>dT}Sj(#3VQh^`=eK42n56tqy_y76q$F`$1$#=AgajSi2* zdyw6bS}ImxwqhELIwvWS$(T-lj9n|<0wF!Q0_Jw%>#-m(lAo_ zwk9Vz2!D7<9z2;IYOBcv9^pT5WN3BJTQPI-PZVZ{EQyFkIRu~imOtk#_(FclIY@zv zg)-=qWr{2tkr4>P2ZsYJzz4aiO7#}g7LO#|N!2DjBb`6aQU(g*l5xseuB`n0d}OY1 zrZ_qyO>t0iGh8f}A@O);0FGI#}_R!;|^ z%>6+JB`7HH!nxnKZd|>8`=-1EjW)!W!VTky85C$!huZZB5tz~U%XP#t91v;~q$ZMe z>6W-`n`)%3!byCcYP7@!qArw5HyOc>Iw*s#kWji-!_3k5osvh-wa3{uIB z#Yt$tBY{$ss+}G0peoIziN1!swu(%KkKeg*jYKqdF)dMoSjs{?#8==kGsl)bNb#mP zpP}F6W4mih2Rmy=I%?Wzg6?P-Yp)pWrMY;NeC$Y{RFi)_c6k3@_s+(Wk@kw#%8Zh9 zZEIEL>_k^_nsH{TYi6{ari1a`y1|~RVdkn@47r(^fTBQ&@>qy-;Wc?}K2L*Ogm2v~ zWRk0quF5pF7AH=1Rpr~F;CnMSt-X@g>A~Kn^2W;I&;RuSZ!VQzTReo=0EUo~OKB?2 zK%0Wm107X)$f6{xLm6R!2g1+|7k%Oslyj4EoF)R{L{+du71~yoo1LUjx1+VCHiX?( z1>Cf$L(*(e_hX%w_>+eYp84a}@n0^-#;C}*YUARKH0emkjwCX8U>agIB9Jc4fMUgx zRzboD@|&I=o_iaULeurD&pyj_WdJQ0jTmrR8baUKE?)H9wwVdS*d=CFUS5t0JqZJt zp_|vO1s3SNkrK3p45o~G;6Qu>un_a(4zaO|RSM%BW(xK!iy|AzXVR@Kj0Z-j#8(Np zO~f{2N)c)SWpZ<~Z{ED+wrR`hlfMF0>CP0&Pb{o3FO%dDfP>8fKJ5N(8#a1w-NM{d zWLUOs-Mrn+?Uy45oj3=wFhxIsGn68a3|VHicp3zKcvO_safC?WvIcO3e`P_KyYR;Z zj<|YUC`?|GFA|!GYs9(nxb5rv^N~Y3O`GEF1TcYd8-n91x`9Ge_Znt_2US6o(M3COIx5ZIW-HI}&|+qc%Py zB=E}BOPe>Y`g#9OTa3RY=3cHNp8cgF7x}SU$b{mJ045oxXmYTc&^rir)k;M$m?u~@ zA;lRcr#Z5zDpwbApW0AqhDj5Alafc4EjrHsipv~Hg3gs-aQE1ZsN!%_X<2q+ePLpA zS;j<912T!t6=~Dml@w}62b*U{o4RW=eXm>{8KMb7@lO^IPv$Ukfh;=8I*>Cds;wv< z>#3%DvA3;~7U;3g+Wz_?dM;2in*dUVyQaqb209zgocd*l+lF+9ZltYjy0=CbdJ73_ zR14_dot++F!12sP?_hiR5UkqaHj6rj{cHXtcF;4;iP1l z4A|RRn3t$Rk9usdxwSF}hpM5baNW8uXb;D`fG}^1_1A{nqCbl%#`EQ1MpDzOg*I%u zO)KL>QxUg8E?AUf^XUN9ga+Tah`3F0y4|V@t}ntT4S;6fQJrs!31C25fy-*wNB?^G zCv}|p)bE!?ufS|%2&P_xR2o~ilt|~rP9c~x{|VO~~2L5|EAq_;(KqKUgacO2g9gERq! zm;-zF9^SYA)bZmOA^8^k3Nc%br=)|hQjU%T#)ZKv1LqPHhlJ9J#5^37Lu1#nasW_X zQp&i9R})N06-odRABn2F-|gG`_IT40NEgq8d$;XYV|HdbrRvM)F6{N*$^6rwj~sb$ z=Qb(hoSYn%5fm5z=#iyONl3||)mkYMu>uZCY6ahnN)WG)+lap+=*J=mQwb%-0Tcli zl(MMr=;;#;3I5~ssm+_#9NO(+2=QZLjy}xKWr?=L--k$_OUtk!BF6tJEc(o3qp1IB zLo6{5OLH7_cF_L?ZL&N!k%&7dNkuN#8XJ(H3L*4vuE>afcnwi>8ah(#8kmF4<+)|) z`mWmi$ApNdNkqep|9*FOw>{oFkL*9l7+$fL+kQ8%UEk^9>E-Fc z%-}=&_8;*%0M393yc7`)u@HMVqfV(uW3!T@pud@sRZ2`HkRk2?UOcTsVzziN^ygrw z;tWWrBC(55V_2ACxj+zWi;Rfey?ggzpM6IU9@xK|f`cdQSWMOb!F^`y@F#>&nEyWS zT?h8=Lu(H0g#&wi4(;*z_1H0qRKy;|n*dLEK>-So%`W+1IW(Vn2D(y2JOVO;d*BJy z%L;i8AGlKT+j%gt6O)k!lGg+C&Zp2nk4Zjz7R<&E|dVOaBswm zAvoksB+IVVsv;u8h0higc>UUC&uu^Ka^H~eP%$Z^zBmJ_yf)%?c9M>2PIe-9j-C{2 zLs>S{6PTnxJ|Be>YkWv`ezHRsQ33@&)DK~Ewz;b8|kb!JYB!9>@p^JW4kYVP@HcjZgYZpR8BJVy7jE#*&nM0ZPq{cxY!zvnV%9cvT58Kos zPasS-Fom0w_8zfy0Tv}fiHnU#&BJROqcVTkwq=vg-n~EWKXmxOp(BS59om1u+rx9~ zx^=rfwjbQP@6bMDK65yZiZ@0Y8GZ`OW_jXAa%iGQ zVl5@!;c^i@lIJGof-cO{kV=RO524FA6u$kL-`v)(`uTuYmNilna?=(c0%MILZ%rPz z*j>bwh>MeG(@0P|tx;v!Hht7X`a9I2cWDhXslrv^B>WQyh>{uHV^iljQK&W|l8*>2 zB5%q1FpDb4d-wLHQYoa4_tz$>{m}`@vPYpfM2UwnST!!|TxZ!peHL=83HLW$jtxf>^&mIRT*ZV)^}{7Gz+j^Qtg)Q4rFQMMes;IAU#zIOJFl6CMbVkaBFXYd`Tlt}&r63~LQHID1g9%*Mn)@Wz-%m_61%4voQ%?`9Q z7EexglLAe!8M87o0TK>4|7n3v2P~N{7AtPhEc?Rrcvo4v2_e~*@=QoR!yTnPEyd&A zwS5hR(>+xc1b<)U@7)WC ziHycF8M0~8&I>ul;)X~81;G=&fxv{m9`0EJaPeN~Y^5I!NqpuGTg(u-q1SF$vz7n} zhCYU$<;o!YcWA$lw0x>Jv_G3jz>o!vwS4pr%1#d&m6*e zqm|)JojZR%dMG6DVSZj-R%Q-$ zF@OJuZd*2!k5#``arT z3X+-%61vNs<6V{YB`Gr_^*uFNvjfe+0gpyTh@1^|tXChD~SBVq(FW8!^ zEl5DKes-)KQOd^R)Y10x!KM;QX&v>2V_h}8eWm$nKdk$P#vEJxLqqs&6p%9P(TEbH zse{qKf~#hZ38a@CmM=Y?>9+Wuh7!nZy0F_QmeVj;mSKW=6cyxKlxb(qY+;%y*J;Xj z8o?7j2zj92+caU9&;9=YviIKaan@)4F98>9(@C<~WOuXYI^Q3^*E!doO(2xeO8|p0 z#>TeXdy_jY3DtnX7~^iMcTMkIqtP@;BaOpWvbbL${!WH}z+Y=8>XGWl?07JNR@#13rgmviR zh^!}+>=2#Md|mVu7%Vkk;ZVdc;^EGoa2!}SRxDyB+!1Dj#o7c#3A-Q$;0?STeElkw z^6M|YH0pGm3T+YM7YrLqr@SCiHn{8UB3B}MdH3{5(i4btPaO*~&P|06(8mM;-cpFyWEU3c>?*fvRLbIqq2}V1v9$|%-#uC~d z{M%xVi;BE-;cGZ}b39%`9j5mZqtUfpT2+G zYnE8$(Zm}@c_dO$R!uBCY<}btjH!T6D)XI4Du}rro3hmJgjfmLh(h={<*`LxBO}Jd zy`@CUX#^+eR3@WIO83Vgy{(qS90@<%R$aU>+TI!j5mCyt$WTi;*?oU)-e^P;R46|PMJY>SgNxw_OV7{K->E4H6nGu2<-UMhzc2^dpJ1eHy03b) zr>?#-e`;LljgIs+4)(YG{e#m-5A4eGq)+tL^mf;F)#guhR#Jr+Z?8b*u(vk1u`C;H zbV|F-5jcz*h9yL8LnJ#Pb6>gH5e9g;OJK zgB_K9jU@NQBif1iQQp&S9 zBoieP44jP#T=THMssMvW_pDWAq}Ch%qMYN z&U8pBF-gAJw5+7K0DQaGi}$0)4K@{=n<(Aj2gEUmbOwLM&V(U{3P)TGR^s4!H!nLA z7s^5*yA?95%qMWNY=EQS-@L*v!i(S;1mi2eTRAGGo9G0C7ldav&1w=LJoHRG?)*GI zAT|mvjx-D46Lt#p4tPvnP8Q*i$f3BJyer%kMIEXi%n}T@| zJa#n(8cUpjPx>2+TFP9*9p%+N^Jq(Os<*B_KW(@z7<2pf#5iPh{}r8JAV2;WW+yC9 ze9iZDcGMLI1_rtZn@gq#n;J?o;VVGr4jsLPg{k=|$el)}Cwif4D=YDT^6>{@o7Xp1 zmm@_sH`?A-o(nj3VYYj;yLw@|6CT~Z`T#(8x;!uo2|QbV0cR5OCc=d+?(#?eNv!n` z_q(`<>O5PXU4a@kn6}w|k`m>@czZ`}A>kiQtD%mn>Y)FfjjvhNDIR@_&y?)a#?=>j z(o}JHl0uK3gqJ}rr$K^DB$GQ}PD=AK2ttWlP<~`?i-$`^fCq}olyVzoQo-#8Rdt$- z7Bk!_3~jMNmR*1L@cx_EqQ3a@dzD-XuRZYzRZ21ld<$d$;?Xa}<)}9ZfjRISL!>!T@mrFm~cuRCzNIk%xpeRHmNi?pE?hL9!qWr><;6>RN`2r^c zs&)}Z!pgiz^Ms!`Pl7Sz&nQm__?+0C_@FpK69-Jffs--eH&~E7QAAC+D1rwuB4rXO z9+g|Beu!m+1~ChWx-?M-M7|{=dKFXj6q-{vCFjbeXp=y`H zr)o=b>8G{VmM~2W7ZWhBvCgtmk7lT)xI9w_v;Aaeb$PaxsT1rMe=;^c5qjDRpRz<> z!nXh6Q+hk7`s58DBOY*Jdou`R^wdlZ)Q@*p&yV%=x7W>%^~_BVjt_NBjSQVR6~1Tt z)?fh>I-Q{S7;qfvtYTPZcBG}dt#YiZs;4G@Vx*&|sc3efKG$Vu_Uga)wKV=D+9=&J=G(_Nd_Qk*_22qFq6M!Qg} zq9?%;X3;JoZs$?X;)@1Oi5R;e@nH>$iTDIPig=-_g|K%V33jyTE<}zdY};xvQry5N zgw}+}g}hAslg|=0k+AVkc0gdk9dZIcznA%#qpSVEj;D6bO9lYwZ2 zBPCj}a!@)w@3IKa6CE_(A~+$K;bcL6kocf>mhB}gGvYPanfMCfTR43z8+Rx^#cCl% zW8uN<%sp8tr*etN%Xmw84T}wT!KK5WaD*%)+Dn|3jh?YMWiA?9@XcZ2RB=bV$YCtT zUBpu$?lMDT&#=d$zmuGls8^||SA71-$Km^TesFA`OPgp_$5^!qIFJyZxtkdrh(nPr z&Ph{1zg88X9c-*F$?|(`ezzVPHy%uOMKm2_oKJoxVhZ}|LKkRlL#X^x6L6!BZIZ_y z2|onsb4@`;e_J*8_WW3DT>!GjN*cs-z4bGL4FipZlrnZ%P8(~c$xGBw~xidpaDBnKSRZ-&eP&}NQpPi=lvXoz>JBwu$ zoXJ2RJR3y=4T0w3jNY1D*a=GA8W>$VDW1^yo*$kVY;J2P-T3A!E{lRpHcfWRp}ZB$ z5~F;mQ4?|~=oc} z2%|8J4CalelFLBXFY5ghCqMb{{KcHwz!_c*@!QW4bLE=98e`8KaA7lP{k-hn$_b(=p4}vp}IkO!|@Qt&|~6* z{O!1^3;>9a8jOS}BuoN}i@ze|ft*cmP!S}7KhbJpV`9Gg{L>?Qw*BqYA>vg#4kXJ+ zj_ga56TRD%F(65DGBlYP;;ozvBPzG0%n@h6IqagRjNWaIL&qo}Pj==~s{_v1>*p9s z1@I=c;}Wk@-}6{i;l~bD7JEkq8+#gpp!C}-vztpj{Y`=HI>;UwDuG_f1Ea{~NK@qX zYg3a`So>V4UHo5Z$&YJ}A#W10!MTP0&W`$$y!MtFly`D$vhKP7ikyv=d6NTe<6Sk= zV;$o{l&4~5vcIe}_tdE)NB8f{_1Jn_YuaiHdz*{Ld#c+id~~{NgV~g(aYumkD4_(h zELje7zCTCoi{K&DHU4qW;=fiC{v>oZyh6BDQ{bR4T;orho$TnT&F!i5*1)YaSYOIq z&q8l|T_N?@H(q-=+paBis?t(#6sF6y@MvWk;Gp&xQ_Crhr9^@SO+N$ z$ZdcDq$#8Q4pmKw*Pmh0BwdGc)}~F)w!{4>qbr1X3Sa}qE*Lld)NVRx(_vU@$}$dTa~*_fl{Qj1d)K3o8R$mB?VM2VXV zMF$+m%^|Td3nI8C>Lq4E8Yrf5FrlMmcZ5lHro5T=AqB=BdfJHtV)mr4zEUKiS--T2*xD*I>+-7C?v4drW9^^Y4id~)MS+LoUbyk9v zZ7Ook4YiIAb@pJzO#$*9-~>}sQ=(h(Um?nWnaz*)%MboUR5liRI@>D){`Q6n2342{ zK(wo)u5@yur>nv@KQk~t+A%ZIJ~KVIFgsdRUU>ZE;XT_n=eR74F7`AO)D^oX2I?uj zjtr7D6`)l*Kh+NmwWcH!=xl+{4QCCmB(yv6#fMOGGR2*798uZZ>!6%ugL0c3HEo@Z`$y>%^*|7T{0$I31n!r$u}sA`K(f^?kGWK z=u;8xDuUY4V|JS5ez(pfi{Qag;5Jf>Wh%jAl~okD%X88}=~J+UP8LssBol7L1z3f| z*`i8_O#b@^w?6ymmQt$J=?yZ8)Pxo5RD>S{^|%oc1LzGr_JOA0OStb5_BH9X1`TBv z>KtkjdC)D^Yx$|us*PH$uvxv1zA*J$>=DyuP5c9EV$ntfIg|?ggLrDPOZ4g}0&DOd zdaX)rRHMdjwDOckC`_%=X;j!CiUA30H&{BGr&9*iYlsl| zhPw@81M!+>(OdOet4VJ)=r|)Zd;8 z$(X-Ng-hYHyd^vvpV5ch9a?4@ExQw)C!LOMv`PhwL)eIQ+`V#y+7Vxqq~|LNWxZ=X1@4TfQ4 zR+#6a#OgAo_#JBE5GwqnIa!1*%2?DzX)^j9dZ!5{K!-&UiDrUbmjn$p&{-Oha8?&( z*@AgaDzl|oX5=i@q6J_EIoMfS(pwkktj(*=b95r*Q0c2JbahmD^D|WAeT@@c)x#YS z$&SR_ihvkg^g~1!bV&>lQw%LFVjv8$yR);RxL}~IeyqD{VX~tpKVzh~QAl4^=aSKk z54H{WH9~GbGSJyvS9$!z;R8E&q-i8$19iRi`O}j<#krQrK?VR@C%bE>C)%fbYWkW` zJ??7`X1UXh5OxtfEVhi<*MEC~AN4n}{^B=YY_LBsUDaEgUzcwmYY(Dk0&ruNRe>j=IFI%Lp=p{rmeiQx(Ar{X?_;crxICBT{ZnVYI2UpJ*yqxu z6oUWMWbl&+h$_Xs%0v&T1_~O&J}@h_R>keFB({du0CP|(WcUh3br@MyDW&M@a+3?c zp~kCduoAsqrBy4jf1OHcpn;@N>eOjvZr)?xc%9uAMFi$>)j(e33GwG;vXo+0vBlr zW|!yM&59_<{qmi_)f`!N8Ttqy5ct_#>E}lBSQR{{WHDDN{E$d8-(jiDcj0Q#8?{Jo zQtpG=ns6mN{4jj@$g+%g*AKMu|H`q}qM4zFg^`A;JnJz0MNNUZq5A$7^Z{>APfb&E z5b^s`*`HXLp2#9zuDi3Nyue?cn+eh$ggF)otrHw3EhX-`x$)k%S|Dlzopp41TI$Nf zsWfffSXCtSGDdpqkZC3c=xYf0ElR-o;5|?pof)b_0|yUTril}&jW#9IqGYNf+oDLkalSm?ZI(smIhp85vZ|?=8FK78xDF6-g9@@N zU$ACzpX6q!oZ2`5NG5sQhXCVGe{<~6$BLBHG`*I1Shxj}5m74<&VkkrxrbIQhil28 z!KQf3sjx~Ds>KqC5yQuv)#4R{uvsPdEv6CLOhK-p7Vj!_N*T*i3Dl|NYDKC>AvF+t z;8-;H5jh5;kW2Xp?{d#;lv1@q!mjZ-YK2s#kgyA^MIuSYU~y%YBNUy)r(Sw1H>(=q^Wp6q_xvSX z3r~m-H~FUzOIH6!j;Lfu9@kf*~vc2BNP2C*;(mF4({H$Z4((Fv&Nluh2vf2?Ui1N6|=*g zJx!H8sEv=db~hCCwwK{v0@+@0n_@Sj?z=Q+61p^iV_|0dp@=;{jdo#GuC+Pf2zs=G zO@W@Kyz*=#WRG;`X<7|+HP%!VZrb>o!;+enCT%Xy666v#h1ZaxPrS|~AQI_k@Jn^llS`x97+o-t7F;4}zIt~GA(I_Pt0{+CP zRN_X2`OAbq(I_MutsHB`DR0Ihe7~X?6Xqp8dkgS%chU`u&Oc+NI z3WT(B*1^o>1Q;A4KoccgEs|upB!y}Sd%&My;|jS1FCh+zT@#bwNpM!YsE`QrM?f*O zFO?$I%4y3|gx69_4Mqj;V%_)wVjZ!Kl0_6*KyC;p^lGjP5gK8f2u$QMoDYtOYeI0t z@!@~iDHn=JhF$P&P>JKjqZ$n2z=SgqzpL3D9*^r|7defbWw|U$X)0+We;T4m{!I88 zi(cz;*tGE2Yxt*FR-~N5SF5BcDJk)BGFehoT*N1z{PpDFU1yK%$hOKEAcc?GDvkHs z3{?eg#6y{Cr?3E70S}$(VlOF8hF;>(Nx{$(ihxyMP6zynFHM%6CS|Za-)(j1L!ZjA zSd~$94bt_}6Gso06=YWV9W{P4v##xxIW55~^aSbe%?lH4qaBseH?9$% z2phxzm#izo;xi%y!pi5nJ6bCWeSMwHv%_6Lvl@b)QL3z6Rm?#z%#T6`KQqugHq<&Z z*4Nxve&E3FgL`&lr5gu3ssY=#R{>Kg=&H)C2~aQ@A8algZL6A_9YV9LsmvG5gGJOQ z&Ls4;bS?$oxR_Gm9^pzFZVlGurS(+!`x=Xiz1rFw!|Yi5R8JLRYB=+$fo3{STi#h` z*9suVHDE{c0q^pFKu-W9Kql99Gw80T7!{&JnOeu?m$R%)YCPk#*MHZacRvU=9 z{5g*gQeCGhg(+i68%)2h{?;MX*YW_AMWz`%Cgd^^zw$wMyC(e1xB(FQiqw7#XAvK!MU?LJ)_N z4ozVskFhK-;14PcHiONq^JRM|^b*^%Ybuv)&c`?gTC}uxMVXhr6G<554l`I3IyMGI z=qPUr7Jq7<)ERiiO0h`PH(;eS83_`!yh3kn+@%acm6%$MLBnZK-6a`BvO-jP4VbygX3_!ohpd(WgM%W+5&a+%Eegms z3b`DHx~L!rp9WBd6J*{xRNW=lk?~oeDfkn!K}AW1119~kiu#K1R3fAll@?M?4FDj# z3D6pxB;G9g_AQjYE}`4TMm+=u9%GfzsCn`M>eI5gZ{2=tI#GaLqe0gYz6PIBVpk@7$m z*~EBz5I$-+WUe~Wgxda7jcS)`JtAi=*XFA{E2v?FR4Gl#6|csztGv< zQj(w5-Bi<6na{!G+LQ=*Q5o)PDeG-4L^hO4?8Hz9aa46h$=*FX_V3tAQK70Nv!Oh% zy}D>}pb5%Z#75g|0!$?JHkI`^mkzZC>D*@8EhwRI8lqRVl<|q6jScxmJmlQ$WS(6; z*jmo~5oqL*=D=V>VQpT?$>jb#_bg;OdM%y-;3g4!a(v8J=RT*& z`1O~cpa0_Aw_kn5_qk6$Ise&b7tVk2{l%}pKKI$V&p$bT?(=WI`r^B(b=Jn1~yZx30%VMa12{e)H<(n5f$cF%h?}e;-fy ze)CFnR77+{MAXe2VB8~bUgI@MQhY-6?b|o6$)FyHzMYa37j^3fP_7uU(3n7 zQD2e;35H#0oo8Cr2_;#!e76BQi(qbAo}KzCT22N=HVA8>PRdSGQnn>FhF!_3h^+BA{Q*-sZw_YkzG3&Geb! zR&-10BSRx!o308wJmJV_U*fNZr{Cq+n&Ym9os<+^3UDdw(;&x zI109J+q-ke?y&8%`5?by17f9~C}1EPblEt|J) z+PG&&*tRWi@7lhZ-EqJ>wrttHb<@rrVcWO9vu9`6&TU~~Teq+~aXe!0n^^(kfgRho z?%4Xy-d#I4Z+>S-*gM<9!gg#6uGiZetN~kXyI#>aMUbh96Z@Inh@dsSeKtTJEHmQpSpP z#GjFoH{>aaw{Kkk>xX9#?B0B0&pTA)%KT1?I+4c>6JB;zTtM*WNOj4#LD3U_n50oo zlhB<+b_Y4R5`=E;nyhpUc~F*J%~TGgI&jb0q_F|S(=+HPM>v>Tbx=P!2L6N@x`o-n z@s5i2N%YO5JGa%ufys_cWkl+$ZMg`l`wUd-v`<5q^kD=16x7(t8U- z_0@iRU9rd`#+pjT2O7Gn{No6x4kMpY9q=LG;G0?Eelb_+hhabw)XmLLjr7##L)1Ig zQ`y&0&{>vUmuH_JZmS7o^fm?Rf&DZT!D;!%+7~nJDnsgZha%FWi!1Qza_njV_M+8m zmKA5&a^OYNBvBaQ9(~m9?C+jo{WooKIl0;2|euUTQf@Ns`-o1zSA2@mV*x3^&&YnL0 z-kDQSg}is__=oSE`r!1*56{BfaSDQw_s^Vu@ARqnPoH60mTyMtJ~#`l$H{k3o_tRb zkDPh`^jW@7vB>e0ADm`;UgzCYXHT9K{3It&zsusMPkjJu%88RuFue!O!3lo83u(y* zY;&5Oo_PNZKVf2mg5c!e-aUEd&98$$ap{w39j5CO&Fc8VObZ0CMOkLrJ!pn9*He*W zFUe+XG_td%05CS0j^CyCyUn$wxtVFmXD9gJz4zJkpagUo^Ih636rAF}XU09lC_i~3 z98R#hV$VQB0f4b!fpfI8rm@g7+h1Q>;)0V9q{{qkKc$tJ$XnAhGZ=fQgc+goS~+Yx#32L>qojP=V$u5TPo(Kd*){c7RI~teBK>9 zw(r=w5#5lM>Vlc!cBqGjx@%}I4>uIS4>{IWDI_*}nrxDr3lp8yrG@YiiXxD3i{kr7 zK8=4Y7Yen0Sbn&tyQd}4T;Mrn@Sq>S^W>x-NQ zWz3bD0$z@{DWXZT;CTa(4+;+Xj0|n!_H{3RbmqN}KKM8(HeRh#!ndQAiqb2ELHYsE z`v_u2=&24JUia#&&prBwryqUviAVnM+>?(y`^W!y?oW?B^~fWS|Kb1TmB%0X5=%4@e=+los_QW6m@Z^(^{_)X2Jo%@`o__RCe}3eTPe1nf(@*~CiAVqN z%wvx|_1K@Ddg9TiAAL-``1oT_Kk~>EkNkg+Kk~?9fB4U5p7_%j4FFp6nbNu$m zAD?>siRb?O)YFeX&h{_-`Ohyr{ltq;{^{92J^JS-9)0Sm$DVomiKm}<@};Mrdf~Ch zUwq>67oL9dg{Pk3!2a^=b5B411lzy#7%x8d((_L}|I9N_{^{}O{`};`^;Y+d-9d%o_X?#M_+#K*_WPrik~k&^UTXHyztU9&%XNHvoAmY^s6tw@ZytC zz4*-2d}QtO&%g4*^M85v>A$@EEZ;9Z`^+mZKKs&h&%ONA)2~1G+$+yL|MIiXzx3== zYhQlhjlVqq>hsUM^vu(1Uw-cOwJ*K$@=LG1{Ni6;cxv72&%g2NtFJxx!W%EX{OXG@ zt$pEz*Is;SaB zvPioj_3)8>UA3hlS~fRBYOR%7C0RPq5e)@tbv|2DVMbpQy^^YdhN770nCa<|IAACv zSt1h@o@Ab)2B_7!p7yqiyi6wD2D@t6XHzhzEa0NJ%49C>o`r>p$$|RWiOz-j$((E_ zvhlk&Z*&>e3uC>AID^BlFZZF8+7k33MyxV7+Ose>T9&P^3kKlEffXT?j|hjd z6ko!RgjNm8<4>Z?qY zi;z+sPZ7)_kA}9S&}HOV01^PqKy!s(n|QlA;G(qd(#N+|6%=RNp(CL1<+Cc$AJodC zbDVk_Jz!U~k_ewe(@^Y9xpkg6cKr*_e)ZA0<3~>UH5E*BqJwS2|hD_5*s!S;9F zzk1cG<-fRx?`6MOz2eRlEACjcX2q(|W^AzXt~*z)Sg~f+s+H__*<*4|&GMD^uX*6!HEUL{yz3r5wQ9wE%kTW< zeQWMtvw|(|TfO>$2Oi+PHFqz&_uiHFtXgr;vgNDqyz8OWYwqP7mi^++yMDpG?q9R= z!PP5Qa|+Avdf=Wld~;16e&C*m?qB_@2k&{{p1Z|WTDF>H9=Lzay=#`=d-w7O?_2rs zgRAdZdG`bN-p}6eS-I+=`|o}5zE!_|_@0L!TK!MIeBigg{?)_x-*?|VYkvI@2X*Iz z58U(M{c9e)_wEPpU;eva-N#G6xqrYxQV9hfqLj#6H$VCKgAMCm*uLQv04HYo?R0G%cza?Jhb|Se zokF+KD2+u;lA=B7Hgtd4HksR$TH#A?0AOL3llU;uK_`*9o-}1#bzTNfZ892*Ji#iB z&ao-e^^!BEPZVdF+sizlH42>?I>l2H9kfM;n@dL9%X=G3m@8>0&6%6%N=`^%+=V^` z|IJ{COZA2EVTPgjq_w#$FLQcwsIl0E3jD&tB$TiV6CG$;O%JwrHCKU1X{ut@cskQ< z+qZlB!JS)+ea?}dCVJc;Pv%G4s9-P54KSiRJJvDOQ8_!-J=onqqqe!W94_`nD;E*U z5`BfrCX3iSPHKFpudCV@%rw9XzA#u{RbU-zD;@7|>8=e73jJdE?Mti5{9#+)au}tw zdKteea>KxP&SjR`lu?B)U6IF-@6-#bJuguD2)e_iIov%l^o#QljTCO)BX2YMpQ?I2G- zcIXf{=fC~>*AJ~&e#g&WKZPrB?|rL|96WgB;DMtD_g%U84Q(?pz;t)$I>}N~Vk0A| zqTIZ8`GfaQ@7c9!+lE)D!a}pg1bVJRUFA=wT0-s&HqvF3F(Jr^pG6UksuxImq>U-Y zHU)E`x#*}X(j?u=bLzcmDkh5^n#7tS(eVj*joO5(e!CKm^kc^kbkr7gRp%Bu)#DvC z1MO9!L& zwT{B0*jkD7^TJ3=UtOR%=tE{`q^pL;P;XlU+!Eq+h;5|2cw4{`Km|?_WrWj#Z^3r^LrdlM+FHaUa474?F#q&F?&X-+ilp3a0e) zF>(d|`PUEsKmYrGpE`at{K$cmM-S0h7qFHPt|loyHtN<*X-d+K>zChq@8tT|UJT!} zg_&P{>g}3=VfkVYWW!}x|TO-V~A zCtX*FsG~Agk#NPuU1yOvR58#USkwt;&V&!P*NlyHlFq~Z&a4^Q=wuWvwS^=>9o0E` zwv@IqS4*i|DM_B4o+fgb4fREq%mCSga4FbfM{85S=WHzZ*Oz#Rs`^_?IHb0UoS~NB z>}3DsXwU4-z}(#E!t9t_lDL&}_d9Q9SXDg@CGAyy(u&q^$BK#+6v0_&P-RTf2hh*zopEQm#$-?9D%eaANj+{gCBqV{-xNc7~rFc zF|klM0!4#%1GZB9$)-)4)~vpJ)h~YWv$g&tuE0M(c+da+Z~scc>-b^ePmuKimrJo- zK=@=y(NQCEY4Pe1mbd&Az$u}Yctq5w#8><}I7IZ7eIyhLQk2 z{CY^^TPyoJ>sy1asnPbXwo0Dt1HH|_S4MlPYf1x%vxU6L55~SkX9IU7d%>L$1P%3c zLQYkgXB}!Rs>-!N^H}QDz^y&f*Dx~F3Tn5ntuk2P-MDd`K@$f(1$j!qtM}39H%b7U zP-QJ}=pdjrrrs*aHn}Y+s<_LgUW?lx$;O$uOj%Y{WuYs_rS;mSpdXRjU`voo&@llv zVCo05K9?!ktV}$*FZ|fPbEm`4-@X;0Q7Thn<8*Q!XKK(>2lwqhc6fi-+gt8kcK6-C zxbr7rO+O#xFCSX@yMO-WiKBdPaE71~l>EhwfAp|xnVqGSAbwMT!hc;bYS%JeKkA`lV zCL<;N(pA#uQ$IPBEgz#)g_o*)xuX}c!D?=mo7TorIuLLr-B{yKP9i7W7)$tMZUOq1~L7rt;YpX{s1P9h)ZU_}=4ZkAJ&o z`+Ji3Br36hOO?sVdW91Hfx~#Tm1=(6^{%M+oiULRcjq^mxkR}loR|Y%dtR>l zt+!tf+qA)(VXiLpE(|xf1hXMt0Dy`?4R_ZKx0LoZ6is(j_16V}rj!?;f9(yml7v4I zdC!u330Hzk5kD3d275XhN*qJY#S`6CnZ~3MD78C+Bh6(bab0zR`SH#HM!9<%wr|-8 zD{QgLkZY65qQ1@0#>03cjl2{g5mLJ^j|3FCE(#MmyMPNX&C-JywY?gWprQi;U6;cnlosB(aU{y0kE`Ddet!N0remEWTsgG9g0N}}@L_A8Bc=DVXf6>a5Ej?{6LLZ=0PO9PdNYYg(g9*&4QK>&7=z<8KYLR-!G!qyX)z zZun-a{8Qtt<2@Ce1v8J+y|r}(>CKhJSssrlZm^rh@1;1I(CRpoSwYypP*)kO&P%KC zncISH2Dhh&n`?4S-Hk;9cB5u7gD^^QAj= z68<_&aZ(SdrjNxvpqFH&>w`IVgFL3Pzzrixnl7az$Br;M`hXN>lOw(j=A>y-ZZ(!= z5}(jbriPD*+i4+pb^f!DuSZ;sW{4~@;+8Bq8GaH*LTHm6JA7!vrj09CE~n%9v#I_h zuE4MEzx&^R_d9@X#}4jCxs0hq;uAP$fS>@Ey?yH%(~GyRUjZ428q1E2Yat)DYvW+f z(Wl(7sbVuUNs!g+q)}+p(jzvc-k^zWg@DVUWwMy@4eBA~x#=M4y(TH8z05RP0B(x3 z5M`j%!VPJX-O9A2rW;a^pEx$$R@+gTi}DW7?y=75?yB7R{<@x);$Wt3VYm_Y=29R0 zu@ezDZ;Dok2plL1ELDJlaf<{&JksadTbgs7c0UsYrljG{@*d_~Ix0sxD*?$+Q=J}c zp6qR$8SO#LORY@VxN-fSt(!8fdKjl+JS+E^AnIS3=o#p2$aBgkhiZH43mS^N(8!Or zl?`__BU8Ir2omQb41a097SAM9bLwbmsLV-gE6W^iF0RbAG!?sAAZHt>8|$m(uhv~% z&{&?+-dO$iTd!uO>BvuE?98@G;goioWbisx5T-<4WWW>XBE^v27Gw$xBs;W;>E>jk zNvcVrNQ;7Gc^(wy(RdF419c^tE{lxeFD5S-*J2%jj-P+{*Z0m`JbU`vh?}<=bWKfy zAA=cx8H0WYcI`fT=+L^2Z{D>MoW)PVn0`LUJAQrts^9xTjY&LPjGmc@Ka z)KOmOp|(%i1UNmkC%V+z%=l!QrI|K$KFaW#M5xgjOqRu50ICh&4r=La|L)lny^W=P zO~sSl6^((kpj+KtmQ|Rh=x8ox6c-)L;ei$gd`1U4lxi)~#bDI2cgl=Qlp|o;G^7{Z zR(nfBo;Q7Rq@yCoG(SJGFf-gylMgbjyEcD*xP79pZltGXq^kj3idLTb+N&?_+r8Cp z)C{&&5A{@!_csr9R2Mt7gDsU~o#ovkW$Wpwg+7G_OF?H#6~fr;3MUc@B9_RR2u~%x zLgnjVN#1yO11bK+!IXGS6)Vbf3a%&Lwr z%Xbv{(zt&hxG446B@y4jYEt0UQ>4vt8qKn3Xiree2>KmPJ!=b3 zovty-W66Wcd}$2+I!1U~;&1q`kbc)H~2wInrL* z+ZdP`?VcDzDyD6EM#SydM<^v(5*rlO$53u4UTAM>&UHEZTPg=T>t_eL8%pv(y_R^4 z^OOCv9=grc6s{*gGJieO=WTFSzJ7%W02V{W38SZiUd zdtr8<)$lr zX;R7~b;VwN$}PG%*(M3~G&m^i+GNB@waK?@18(HQ&{9E29Uc`bW^Sv}Vo-eX(U<4H zjQQkmSHPbrr81%vrBn)!2SO72ckjfXyuESLisb?g`xCLJ|LKSM>jzi<=DvGR9zH^{ zbL8MYC=p1>+lcXfZ#zfvsNshmM?J6@$@2vmJM<))t4XMi5%itkJjDaAFGM?rI z!a72SB@0>%EvQHySg6Ml&}tKJ!WznKJFrRKD#}S~tnlY~%|55Lx!muzNR!XerdLOZnPE9Y+FTkYncyLw1k8N5tW3#h*Exh z^ZP$mBt~IBZ7ofnbW*M9j)tO6LePj;UX9t?iy&Tndom?m>rTN$G!RH zn_Hx2H<6*>oGgsH#XP^+!vNMl*8VAI8RnMy%EGWM>p`~~ zWKjh$OQ6z~aK)~SDa%U(4sDjkAvxL*M?#V4ip+SIve ziej(8s6h5&RK&I+8>vYs$S`DCHBe45?*G|G(O-NT9epcSA(14-#mQ2VK|sN|ad7W$ zdXDeBz2$)ws~`Bq&;6aBhNpVy!Dau~zy9XePTzU8G@fV(bbmykEMVU5q;($A5TciNk(zVItHJLVfzFSL7i|g=MRJm>g3651B zTj(*vf`Z&6lXMKfFdL{yzTvhhsi1gG5?Ev*G~hl|C*5#Zl#DWV)D#yxl|#La{XEU< zvD}inLOYynC2mb=rfzn$wI!HCU;wQp)*pC;h0vYvKUtLFa9*q5^`R?suZ>1aItI-p6xQ!{$PzXqyDaEda z9m|;SHPfnrz!MH7B2OB@n&ewT$RIlnmV-dH&Bx%6GENL?$s$U!A^FTG%_SweRh&&H zC^_4vaoLn#e)QFu6W@RSaa4SS$ahi_6XZxzDkO!uS>Ww~ZLeSV*1aoM-hao>_1K?= zKY8%}760!?-|FHx6$ag$W^vHA}YAhPX2{*1@Vn*x6wab71+k5L?d+~!)`*U4J zXt)5d`Ry9JGQPr}!8|E)*yK2XoxDaFKv|bfQIu^((+hxoAj^yf7W$;%PniAyPRX4{ zbuQnfYbf?u5ms>O$eXfV#`oSo-BA^&^y=Gbq|Wp+liL`~LUw1krD(FVyeii`)K)e# z)Hc#t$4F7=Y5Nb0U#e$1riarK^_iCDrtAz0b1PHhy~sl}R^;`yRLqQZ_qPORCOT#( zdKrG{YA&0b7*HvbUViPRty?ze6v}6rW=XLh9l$5yDbglu!j*?C`7YGJ}+QNaJx`~eR zrn2n%a{soiZ#qm8R4~eY*3?@U$Xj?)5Na}e#Q;w1wJ-f{1GpMkVF^}~Z(l^at-8oV zCJR{sRb040p^&9|Ms>w!kzM=pU1YrMim1whbb}%)HRgM>I_|H>PJjHt^)n~Gj*W7JBd#=Y+Ao;`JF57__-ka)9@$1y8j1!?9l`Jj~>_uj~p~^ zaKs^%A&@6Gu27G?c8z*$c-UL(c5Zqt*QGDZL&8Z_l$}m7#A`@JY=vhNx+)pkPZg>ef^(*&tga$w=e8{_YqCunrAxX};xR$9rcJtu zKnC2@i?SC*{`As(M`e)*%rk#Mg#W%YLq& z{4~4?^E(f${^wslc!Xy0!M%s}@6PsQn6!{~f@MpgeiD7_x&(ae^~+~Z9o_!U>*xP| z+G&VUrcWk6% zVQP>Wx`oN^-WIexCL(WLd;ZxcH>`cRATzDC!rxq$&C`6evwCK#f3Uu=sWN|{uX(Vo z3LWQR@U*a5HrL=!#JPkLxF7#Cepr$9|8dP07E1H|)ucIqd@A!Gw4LZ}Y)9n~RiMt= ziQXm{ar-Fj6lZPU{+8cmMc0oCiA@n(K#e`uiteyep9Jw*YX!xV2qVfDsyOujY`S== z>n>2!P%62N=whU+;sa#IMtM#;Egr?01G3nz-32T0&TTL{cZI*nc&$79v1QNOBJ68 zhr)lM_$Sll>a573yENWY(^#HO2WA)-z zrBtD}k$8it^Q?4jLwOE(1Djs*$%kKG{Z4iK=qJgE3D7;pMMuI72pu|MvcR7lJox6D z>sGAzxx4eza3&n(>Xpm>>7o0N3ci8^hxhFAWxL?7CgnjaK$e_z^V;`djBZ@L^4{5# zn>Vce=*%IfQBqNmA&a@pgemZ8P}7u3h(z`d19au@X5?X?^j=a{MOrVzO!MS&z(NhS}`-)*4ISbGTc_?9c(S8 zbpl+L)1<_s$kdlO>ksUCylU7+oUoO!o ziOA3;27T5nyH=fa6J1Cu@WtLVn=FRMhglv2Z<5O_N2NO3f&ZNT#Jf`g5xncE>4<~tdvO+gxa@j7nto$Z*Sx-U9;k6y!}tZrTq3c_y6-R z9~R(~gZmHd+2wMiL8gS(2E~*3sECN0R~f*+cH{fMe(>&ronia7th1}4wF%dPS+=-q z=b1(ilJe-$`?G*jqw-(mHlmsVz@BDek;iIR$J6M^b(!+L)(l-rO`#isQKS|EUNdPp z`H?S8fdUk>W5qtliBm`0s|xz-iy8_Y^|@9EX4 z42xMr@0f^)9mIc2^A&O>p#Y_&v7WgmNT(SDnCz z;F;*Zc=6l|&pf?;?O#kv=~RDXRh}JCMtwngna9u;^vur<4YUQ}sYWqmti7VK$UWKL zn(4OB&kB0&#r-YCxrn8SfrL*HJ3)(~vpz6CHvsKzWsV8#eP4B9e{Ft$UD3i=2VMKF z`uy(pitRf$I`k^CRAmhQKc=P33;u*ge`kGZj?*MhyaA0P<#dmzp~b+H<+f=M3Y5iP zgRZ=FlrJwGv9cT|0xHYYn_!B^?qJ+t}$aj|J3)>69+1Sfma|8ZF zlWCNW0pIPa>hGvz-XG-}Di2Ke6PC=4cFznkzcY2?>UV$o&;Q)?*6Zm;)o6Fk+{_TT zj>bY~SynogmO_VuM5(K`5Y$Iwsc*WkuCY8n%acK{g*yqQR!eg-!2SgAguRH%mFac@ z^hFpNdYOTi5~w8L-XCZ#njLBFX|3#OE$yuK4|G>;-?lDYr!>nWl+oWY8?K1{7CwBt z0%<=4B9lvU(txM|SF0)XWav{|W=X!s7|e5J*Fcjf{|{B!IVv#CZR%T}KY>dvo3EtM7&!@#n9f z#ua#I)v{kba6e!+@F!3{x*;PMqGl2m*$#RhH?P84aP`XNlSdD3TKoLz{b3e)4E&9x z!&wehp34Bgbag>S4#R*(Nrnb_9c7k7i-fUV7Y|umV|js978}U2)|F;wn;=fHn-qx! zfKps~ZpB=?E=?7kri{$8%52({vuBPiObr)#v^9QPXMGXLMORhcNK5HtM|po!kgTDh zG`l=6W1_D%$L+*CL@Z? z(q1;%Q^RyafzP^k=i87<7?W=)V!yX4W2mDVWl>u49epyaCQLJt)t2Wvs*17z-peAt z&-3WSRE1S0;L|24y<@XH7A+OJIdH}T5}>(*GBt!;a4u2FH>eW6Id|dAsZYQ9?ECnL zSXm;XGSN^zB67!A>b{-3!VezUy#8&R$x%+?p`|m?w`~8Ra?Mk=V zD4tM}MYcdLNw|9TQgUJ#&86rmg33&x{1N&>GAGQKKtPDCmwt2 zjaR^{j6g)4lSb~)T#;SkbF|l#v{q!#4A!@nXJd~|C2(1f1`BiGxBo{mXmO`Ya59Uh zBTh*C&+AHW40@-!Dy#k0mY~aLPFNVKo1SWKt0}+-4t7*^HU#S`1Ly;SOoIf;CcB-k zib5+S7xZ-8wc4Ug3h(?KVWI$aZ-j2zp)d2h3o}g>h!;3?2+KlI&V(Q%oJ=MAtO^^E zOpe{h-#hwSK0;kLCqpHPxx97Vn;)L}?A)gplH+1kQVDWVP*S4|m62}WyL8%V3rMsTkD%@ZfOETJb-sihL(UT7B|u3c1X20J+D{WIK$qNWa6SwPRutIzNM3F>!2_`gNeRZjB;F+CPi8~@m-THn6RJjCHU6p`8@)3E z5*lYsMd>45wSBFXsCW!_*7kNaY~QxQtc=$sT**z7yR?bqxzeah)ZWQfasUzKIdh#R zr$K_;IRPpKl?+2_Nwy81CG-K)wDJ78vu$!lk{y~9Qbm(I3W3pVyPWL}45aIlEUJXh z&W3;T;U{07`zG?{Rb^^QTtsAQVggSyM7#Iy+;wFC0sP6Dl`DV7v;9=u)P1Y&`j_AQ z5+vKvef!Wm1N%*<7^P7Lc$fr)i5h-jyvmuA;cxuq8Rm=gJvxUz0hBf5!+NmOnKn8* z1?0<`#1IK&x+3m!o~q>#r_+|~b|z4wlevp&=QSwauJXS3NoyPLKx8?s4AAq@hA zVq+T;AQ;(JvE_;j5HOf#dU2Cv%j#Xzd+)vX-ZfRDG8*;X-s>5egxz=FbAG?G=ntQ@ zqR6t4rpWWXpSxW5=j!ttRH7cW5GihtP0K~M1Py=eeSn|>=ben#0B{OOfN~xMyvLD* zcO-5fiCOY}*2#Pbw}bu(7-ADCSI(#Hb1G-@kzAk0pi&a84dPl${Es+;>u?GYOK{Vr z7RqWe78THX;C3;Y_7o!)kd?=W;)8MfXg)GCF|Y*E<4|mREWa>4eCY7LAOGw}e|&li z;>q&#(A*?O$$eN_86Sv5Z1DdYf-o-~vS4#37c$KZ_)#mt_jYM5-ztT#^@}I?HLX1< zrA(HMJ7m;GR9+Cz6q4@2pkaAwV0I)?%moWc*I>vJ@fyp^es9s0^e5~tF$Ml>JZOqi z0h5x|+2_`wn8ClDODBSSh~3)|^TIr^0~&h-8M~HmQL{7>I%Y$0kIA7Gg96GW)e|~K zemA-CQ^1FVE|pqL-?!tBuN*r1!rmioP3Op+T`lM9N$u@ORIp!6@a=c+dSc@SxMN&< ziGOmD1eCAca^>HC{m$LhmAfk|sl~M!~SSLe*($m#``t&E*2RwE1#KHZ$AAjin z>awRaq8^mV(6eFZ%dL~ZsY$|W$KELVC#aE;gg}oi!*+&*!Re_F+Y~}(i(JrYlGA}W zFskX$LHVr;H0!|WQghp(O93Yk9bNd)9ewR3uTe1+wuEeAK&`=npBV^7ZBn3pRz?#@ zS^$Tin;jm`$4y!lF{~(E&DXDqiKAEA(IcW(UnC-?Q!vdLgyHGp&`=CccinKpnwv;M zuRcByMQdeYBDaEi=gp({{p`nEHa$x1X&vhG6MYH7YcC%6>Q`q6GY;9(Om<;raAq>M zI*}THjwS4N+00AJrTNZ!_D^6evi2K8yi&_$*?@7bKM>OM#^SaCpQb-z0_bU=&owvM zKRX=H`b>lAz>cy%@EP3@#UlA6H+*c7GsyLyYK0`s=3Ht)+Ghf*(ze?#A{Y!*~g;gK^F}&IkojP{`DcBM%$#f{-lr$UMSsZ6i9`X#~yg#gSXCBZa)l5 zTx2Faovoyf4oXj#OeWm6?T>q^${&CH@vE+Y<<6zIi{m%&^}BAm`?g#5RPRE)b9moA z8QLcd3Y|g%BMX)6*}5}bT`i|-PaJ$<-^0JU?}hSbfpgRfDd2QzIPG>NTh8t33m7rb z0q7pRN@5d7#_*YC;4HayLZ40HFp0q$b!!C%KG~^ZYk0j-I=PJsqnNIjkkIzW5|9fp zQeN*XFTXI9bdM$+g^Y7JVvd_dvx8yaNpTF97qd%q>0Cf-lhUUr3OXeQB7~leNFeZG z9g-8=FyaY3!ywpLSzS!U!_ZdDkL7u^R$SA)CdKN?q)|q}V*{yRZgzA$<(n7iO^s%NYs2>R>fETwpvAr6 zjtGmgQc{F_|8n0-zoXKvmu_Dv6=6oaIuA1a|?z2W2-6W=?ivph%aMw`&pu&ZB8_YG*XwhdUXZ=C3aGPcDvla_ekC@~8_W8bZZofE~TY6?ZF_F)enfhGB=ShmY!9sTNtcCqw*_5L7P2UWdgr z-S2lR86(*M9Nr5NbHX8C8jQ@2Bm-7i+M`B~C>pREL@ zmmcM1x8Hcp-`sZV3)R)t72EbyY=?(2Xf`ZLFEmB%9c^c8Pr>;9%*m4n_Eqn#+WOp< z2f6nUk3iR^=?65Q2!geJ}X#hj@QVLex;eU-JL@OZW zA~p<*(YaOdVW>?QvKXZdQsbv8A?eju4^IrllOFAmUniqAK@?$=(V&$jbYc@J7-P*0 zhYK<5^l+b94?rTZS%Wu%&$d2qr5h*i0{0X4d8Gmxq%WBmJPgTwZZ#Z!{W{_N)WFJA zc5!xi3?5O{DV?^JvPG3fsr~ z!?P3FsY1%3mp}XaCx8=|&|2iob}6G($!Y_g2BJjB*d)|8IkU@U6lompWnqgp_NdRE2lfkz~l+J0p3i*LMg>gX#U zHk><0>gvMA7_MJHWMIFzyzKdX=*Mn(0=<(fFYyX4l2~=;Z8zP0>&<&AE3jV-J)1@$ zl?u23P=H3=*52AsU)$Z@3cdZly*q!u>EWGQpFrD0%xG7ONH9iMaXQJZr^L(-K+fG} zDdvD-mrg@0pGwet!zVtYwB^iktDKJ6BJq+F(@N$)P>G=4Y zuO&Rj(WG}MY=xcrOd*y5PYJlNuqA4h&*XxOMWTz6i#S|X^IHF;bo|yUKf(FFuo|?o z8uj}m96I)e!B$-uielyqCohm5F}s;6#O5Xk=4Xnt(?j!9qX+lz`QAO>dur3;txdH< z36ERDg@<6$uU{I^fV?y}3!1fgVJeHoM)V}XhFY1QH0iXZyCMjd7ZQkdh>%3-R?1KC z`w|JbNSx4~>JJ!TsN_)4a$YEP`xa-0W{3MQfSVo9&W+|EapaR*umC8gwPJ$f((%|` zb-0vZOCs)2i%HFhtstTRNDkU3)B;|E5SS^{IG|Wy-yBi_O7lrMrws`zgalaQ^1(!e zXr0MG`9pN#f=9jog#-KF{P4rG4QK1fB#=c<_jI%|$h{mIh1dtI+WFXqhp)f>+G{Sq z`XV_`|JxttZMWZY*B!U-swjtF#;(c=nM43J5y4aH?ZPGn_IJ=lsXcvq|Gw&tkNl?m znMa{B!4#MS?lh|nI0AG|A}%cyu=u)y(+lKUz#>N%1z88mWXKFGDz@J$g<#SNjT5IA zGaH{-;?Rr24z*3r!2Y|8(FQ#mpc${f@*<3`JX-!>%!MVLq*s>;8jFP_EGHldLl4ub zWI~&o^qbvw8xcuLZ^Ri{pSLgE{z}m8(u%nA(*vNvkEA^buNr=%0Ax>38Qx&@d>z~lOYD5&QjYHvv(1Eo-tb7s^ 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 literal 0 HcmV?d00001 diff --git a/uisimulator/sdl/UI-yh_920.bmp b/uisimulator/sdl/UI-yh_920.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6d330d417db8288bec932a6d01f6aea6eee261a7 GIT binary patch literal 555750 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 z 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