Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove Mini2440 and Lyre prototype 1 ports

Both targets were part of the (presumably dead) Lyre project
and no longer build. The Mini2440 was much more complete than
the Lyre and doesn't seem terribly difficult to fix up to the
point where it at least builds, if someone still cares -- but
given it is a dev board in a box, it's unlikely it ever saw
much use.

Change-Id: I09745379d28db69ea9aaf77f0a62b049884260e1

authored by

Aidan MacDonald and committed by
Solomon Peachy
ebd27383 1e2950cc

+37 -5364
-2
apps/SOURCES
··· 240 240 #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) \ 241 241 || (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD) 242 242 keymaps/keymap-yh8xx_yh9xx.c 243 - #elif CONFIG_KEYPAD == MINI2440_PAD 244 - keymaps/keymap-mini2440.c 245 243 #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD 246 244 keymaps/keymap-vibe500.c 247 245 #elif CONFIG_KEYPAD == MPIO_HD200_PAD
-380
apps/keymaps/keymap-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* Button Code Definitions for the Mini2440 target 23 - * based on Toshiba Gigabeat F keymap 24 - */ 25 - #include <stdio.h> 26 - #include <string.h> 27 - #include <stdlib.h> 28 - 29 - #include "config.h" 30 - #include "action.h" 31 - #include "button.h" 32 - #include "settings.h" 33 - 34 - /* 35 - * The format of the list is as follows 36 - * { Action Code, Button code, Prereq button code } 37 - * if there's no need to check the previous button's value, use BUTTON_NONE 38 - * Insert LAST_ITEM_IN_LIST at the end of each mapping 39 - */ 40 - 41 - /* CONTEXT_CUSTOM's used in this file... 42 - 43 - CONTEXT_CUSTOM|CONTEXT_TREE = the standard list/tree defines (without directions) 44 - CONTEXT_CUSTOM|CONTEXT_SETTINGS = the direction keys for the eq/col picker screens 45 - i.e where up/down is inc/dec 46 - CONTEXT_SETTINGS = up/down is prev/next, l/r is inc/dec 47 - 48 - */ 49 - 50 - 51 - static const struct button_mapping button_context_standard[] = { 52 - { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, 53 - { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 54 - { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 55 - { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 56 - 57 - { ACTION_STD_CANCEL, BUTTON_LEFT, BUTTON_NONE }, 58 - { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, 59 - 60 - { ACTION_STD_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_SELECT }, 61 - 62 - { ACTION_STD_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 63 - { ACTION_STD_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 64 - 65 - { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 66 - { ACTION_STD_OK, BUTTON_RIGHT, BUTTON_NONE }, 67 - 68 - LAST_ITEM_IN_LIST 69 - }; /* button_context_standard */ 70 - 71 - 72 - static const struct button_mapping button_context_wps[] = { 73 - { ACTION_WPS_PLAY, BUTTON_A|BUTTON_REL, BUTTON_A }, 74 - { ACTION_WPS_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 75 - 76 - { ACTION_WPS_SKIPNEXT, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 77 - { ACTION_WPS_SKIPPREV, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 78 - 79 - { ACTION_WPS_SEEKBACK, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 80 - { ACTION_WPS_SEEKFWD, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 81 - { ACTION_WPS_STOPSEEK, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT|BUTTON_REPEAT }, 82 - { ACTION_WPS_STOPSEEK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT|BUTTON_REPEAT }, 83 - 84 - { ACTION_WPS_ABSETB_NEXTDIR,BUTTON_A|BUTTON_RIGHT, BUTTON_NONE }, 85 - { ACTION_WPS_ABSETA_PREVDIR,BUTTON_A|BUTTON_LEFT, BUTTON_NONE }, 86 - { ACTION_WPS_ABRESET, BUTTON_A|BUTTON_SELECT, BUTTON_NONE }, 87 - 88 - { ACTION_WPS_VOLDOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 89 - { ACTION_WPS_VOLDOWN, BUTTON_DOWN, BUTTON_NONE }, 90 - { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 91 - { ACTION_WPS_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 92 - { ACTION_WPS_VOLUP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 93 - { ACTION_WPS_VOLUP, BUTTON_UP, BUTTON_NONE }, 94 - { ACTION_WPS_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 95 - { ACTION_WPS_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, 96 - 97 - { ACTION_WPS_PITCHSCREEN, BUTTON_A|BUTTON_UP, BUTTON_A }, 98 - { ACTION_WPS_VIEW_PLAYLIST, BUTTON_A|BUTTON_DOWN, BUTTON_NONE }, 99 - 100 - { ACTION_WPS_QUICKSCREEN, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, 101 - { ACTION_WPS_MENU, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 102 - { ACTION_WPS_CONTEXT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT }, 103 - 104 - { ACTION_WPS_HOTKEY, BUTTON_A|BUTTON_MENU, BUTTON_NONE }, 105 - { ACTION_WPS_BROWSE, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }, 106 - 107 - LAST_ITEM_IN_LIST 108 - }; /* button_context_wps */ 109 - 110 - static const struct button_mapping button_context_list[] = { 111 - { ACTION_LISTTREE_PGUP, BUTTON_A|BUTTON_UP, BUTTON_NONE }, 112 - { ACTION_LISTTREE_PGUP, BUTTON_A|BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 113 - { ACTION_LISTTREE_PGDOWN, BUTTON_A|BUTTON_DOWN, BUTTON_NONE }, 114 - { ACTION_LISTTREE_PGDOWN, BUTTON_A|BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 115 - #ifdef HAVE_VOLUME_IN_LIST 116 - { ACTION_LIST_VOLUP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 117 - { ACTION_LIST_VOLUP, BUTTON_VOL_UP, BUTTON_NONE }, 118 - { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 119 - { ACTION_LIST_VOLDOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 120 - #endif 121 - 122 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 123 - }; /* button_context_list */ 124 - 125 - static const struct button_mapping button_context_tree[] = { 126 - { ACTION_TREE_WPS, BUTTON_A|BUTTON_REL, BUTTON_A }, 127 - { ACTION_TREE_STOP, BUTTON_POWER, BUTTON_NONE }, 128 - { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 129 - { ACTION_TREE_STOP, BUTTON_POWER|BUTTON_REPEAT, BUTTON_NONE }, 130 - { ACTION_TREE_HOTKEY, BUTTON_A|BUTTON_MENU, BUTTON_NONE }, 131 - 132 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) 133 - }; /* button_context_tree */ 134 - 135 - static const struct button_mapping button_context_listtree_scroll_with_combo[] = { 136 - { ACTION_NONE, BUTTON_A, BUTTON_NONE }, 137 - { ACTION_TREE_PGLEFT, BUTTON_A|BUTTON_LEFT, BUTTON_NONE }, 138 - { ACTION_TREE_ROOT_INIT, BUTTON_A|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_A|BUTTON_LEFT }, 139 - { ACTION_TREE_PGLEFT, BUTTON_A|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 140 - { ACTION_TREE_PGRIGHT, BUTTON_A|BUTTON_RIGHT, BUTTON_NONE }, 141 - { ACTION_TREE_PGRIGHT, BUTTON_A|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 142 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 143 - }; 144 - 145 - static const struct button_mapping button_context_listtree_scroll_without_combo[] = { 146 - { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 147 - { ACTION_STD_CANCEL, BUTTON_LEFT|BUTTON_REL, BUTTON_LEFT }, 148 - { ACTION_TREE_ROOT_INIT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_LEFT }, 149 - { ACTION_TREE_PGLEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 150 - { ACTION_NONE, BUTTON_RIGHT, BUTTON_NONE }, 151 - { ACTION_STD_OK, BUTTON_RIGHT|BUTTON_REL, BUTTON_RIGHT }, 152 - { ACTION_TREE_PGRIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 153 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_TREE), 154 - }; 155 - 156 - static const struct button_mapping button_context_settings[] = { 157 - { ACTION_SETTINGS_INC, BUTTON_UP, BUTTON_NONE }, 158 - { ACTION_SETTINGS_INCREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 159 - { ACTION_SETTINGS_DEC, BUTTON_DOWN, BUTTON_NONE }, 160 - { ACTION_SETTINGS_DECREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 161 - { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, 162 - { ACTION_STD_PREVREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 163 - { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, 164 - { ACTION_STD_NEXTREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 165 - 166 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 167 - }; /* button_context_settings */ 168 - 169 - static const struct button_mapping button_context_settings_right_is_inc[] = { 170 - { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, 171 - { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 172 - { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, 173 - { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 174 - { ACTION_STD_PREV, BUTTON_UP, BUTTON_NONE }, 175 - { ACTION_STD_PREVREPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 176 - { ACTION_STD_NEXT, BUTTON_DOWN, BUTTON_NONE }, 177 - { ACTION_STD_NEXTREPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 178 - 179 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 180 - }; /* button_context_settingsgraphical */ 181 - 182 - static const struct button_mapping button_context_yesno[] = { 183 - { ACTION_YESNO_ACCEPT, BUTTON_SELECT, BUTTON_NONE }, 184 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 185 - }; /* button_context_settings_yesno */ 186 - 187 - static const struct button_mapping button_context_colorchooser[] = { 188 - { ACTION_STD_OK, BUTTON_A|BUTTON_REL, BUTTON_NONE }, 189 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), 190 - }; /* button_context_colorchooser */ 191 - 192 - static const struct button_mapping button_context_eq[] = { 193 - { ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, 194 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_CUSTOM|CONTEXT_SETTINGS), 195 - }; /* button_context_eq */ 196 - 197 - /** Bookmark Screen **/ 198 - static const struct button_mapping button_context_bmark[] = { 199 - { ACTION_BMS_DELETE, BUTTON_A, BUTTON_NONE }, 200 - 201 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST), 202 - }; /* button_context_bmark */ 203 - 204 - static const struct button_mapping button_context_time[] = { 205 - { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, 206 - { ACTION_STD_OK, BUTTON_A, BUTTON_NONE }, 207 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_SETTINGS), 208 - }; /* button_context_time */ 209 - 210 - static const struct button_mapping button_context_quickscreen[] = { 211 - { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE }, 212 - { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 213 - { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 214 - { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 215 - { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 216 - { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 217 - { ACTION_QS_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 218 - { ACTION_QS_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 219 - { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, 220 - 221 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 222 - }; /* button_context_quickscreen */ 223 - 224 - static const struct button_mapping button_context_pitchscreen[] = { 225 - { ACTION_PS_INC_SMALL, BUTTON_UP, BUTTON_NONE }, 226 - { ACTION_PS_INC_BIG, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 227 - { ACTION_PS_DEC_SMALL, BUTTON_DOWN, BUTTON_NONE }, 228 - { ACTION_PS_DEC_BIG, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 229 - { ACTION_PS_NUDGE_LEFT, BUTTON_LEFT, BUTTON_NONE }, 230 - { ACTION_PS_NUDGE_LEFTOFF, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 231 - { ACTION_PS_NUDGE_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 232 - { ACTION_PS_NUDGE_RIGHTOFF, BUTTON_RIGHT|BUTTON_REL, BUTTON_NONE }, 233 - { ACTION_PS_TOGGLE_MODE, BUTTON_MENU, BUTTON_NONE }, 234 - { ACTION_PS_RESET, BUTTON_A, BUTTON_NONE }, 235 - { ACTION_PS_EXIT, BUTTON_POWER, BUTTON_NONE }, 236 - { ACTION_PS_SLOWER, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 237 - { ACTION_PS_FASTER, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 238 - 239 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 240 - }; /* button_context_pitchcreen */ 241 - 242 - static const struct button_mapping button_context_keyboard[] = { 243 - { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, 244 - { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 245 - { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 246 - { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 247 - { ACTION_KBD_CURSOR_LEFT, BUTTON_A|BUTTON_LEFT, BUTTON_NONE }, 248 - { ACTION_KBD_CURSOR_LEFT, BUTTON_A|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 249 - { ACTION_KBD_CURSOR_RIGHT, BUTTON_A|BUTTON_RIGHT, BUTTON_NONE }, 250 - { ACTION_KBD_CURSOR_RIGHT, BUTTON_A|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 251 - { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, 252 - { ACTION_KBD_PAGE_FLIP, BUTTON_A|BUTTON_MENU, BUTTON_NONE }, 253 - { ACTION_KBD_DONE, BUTTON_A|BUTTON_REL, BUTTON_A }, 254 - { ACTION_KBD_ABORT, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, 255 - { ACTION_KBD_BACKSPACE, BUTTON_MENU, BUTTON_NONE }, 256 - { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, 257 - { ACTION_KBD_UP, BUTTON_UP, BUTTON_NONE }, 258 - { ACTION_KBD_UP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 259 - { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE }, 260 - { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 261 - { ACTION_KBD_MORSE_INPUT, BUTTON_A|BUTTON_POWER, BUTTON_NONE }, 262 - { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, 263 - 264 - LAST_ITEM_IN_LIST 265 - }; /* button_context_keyboard */ 266 - 267 - #ifdef HAVE_MINI2440_REMOTE 268 - /***************************************************************************** 269 - * Remote control mappings 270 - *****************************************************************************/ 271 - 272 - static const struct button_mapping remote_button_context_standard[] = { 273 - { ACTION_STD_PREV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 274 - { ACTION_STD_PREVREPEAT, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 275 - { ACTION_STD_NEXT, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 276 - { ACTION_STD_NEXTREPEAT, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 277 - { ACTION_STD_CANCEL, BUTTON_RC_REW, BUTTON_NONE }, 278 - { ACTION_STD_OK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, 279 - { ACTION_STD_CONTEXT, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_RC_FF }, 280 - { ACTION_STD_MENU, BUTTON_RC_DSP, BUTTON_NONE }, 281 - 282 - LAST_ITEM_IN_LIST 283 - }; 284 - 285 - static const struct button_mapping remote_button_context_wps[] = { 286 - { ACTION_WPS_PLAY, BUTTON_RC_PLAY, BUTTON_NONE }, 287 - 288 - { ACTION_WPS_SKIPNEXT, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF }, 289 - { ACTION_WPS_SKIPPREV, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW }, 290 - 291 - { ACTION_WPS_SEEKBACK, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, 292 - { ACTION_WPS_SEEKFWD, BUTTON_RC_FF|BUTTON_REPEAT, BUTTON_NONE }, 293 - { ACTION_WPS_STOPSEEK, BUTTON_RC_REW|BUTTON_REL, BUTTON_RC_REW|BUTTON_REPEAT }, 294 - { ACTION_WPS_STOPSEEK, BUTTON_RC_FF|BUTTON_REL, BUTTON_RC_FF|BUTTON_REPEAT }, 295 - 296 - { ACTION_WPS_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, 297 - { ACTION_WPS_MENU, BUTTON_RC_DSP, BUTTON_NONE }, 298 - 299 - { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 300 - { ACTION_WPS_VOLDOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 301 - { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 302 - { ACTION_WPS_VOLUP, BUTTON_RC_VOL_UP, BUTTON_NONE }, 303 - 304 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 305 - }; 306 - 307 - static const struct button_mapping remote_button_context_tree[] = { 308 - { ACTION_TREE_WPS, BUTTON_RC_PLAY|BUTTON_REL, BUTTON_RC_PLAY }, 309 - { ACTION_TREE_STOP, BUTTON_RC_PLAY|BUTTON_REPEAT, BUTTON_RC_PLAY }, 310 - { ACTION_STD_CANCEL, BUTTON_RC_REW|BUTTON_REPEAT, BUTTON_NONE }, 311 - 312 - LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 313 - }; 314 - 315 - static const struct button_mapping* get_context_mapping_remote( int context ) 316 - { 317 - context ^= CONTEXT_REMOTE; 318 - 319 - switch (context) 320 - { 321 - case CONTEXT_WPS: 322 - return remote_button_context_wps; 323 - case CONTEXT_MAINMENU: 324 - case CONTEXT_TREE: 325 - return remote_button_context_tree; 326 - } 327 - return remote_button_context_standard; 328 - } 329 - #endif 330 - 331 - const struct button_mapping* target_get_context_mapping(int context) 332 - { 333 - #ifdef HAVE_MINI2440_REMOTE 334 - if (context&CONTEXT_REMOTE) 335 - return get_context_mapping_remote(context); 336 - #endif 337 - switch (context) 338 - { 339 - case CONTEXT_STD: 340 - return button_context_standard; 341 - case CONTEXT_WPS: 342 - return button_context_wps; 343 - 344 - case CONTEXT_LIST: 345 - return button_context_list; 346 - case CONTEXT_MAINMENU: 347 - case CONTEXT_TREE: 348 - if (global_settings.hold_lr_for_scroll_in_list) 349 - return button_context_listtree_scroll_without_combo; 350 - else 351 - return button_context_listtree_scroll_with_combo; 352 - case CONTEXT_CUSTOM|CONTEXT_TREE: 353 - return button_context_tree; 354 - 355 - case CONTEXT_SETTINGS: 356 - return button_context_settings; 357 - case CONTEXT_CUSTOM|CONTEXT_SETTINGS: 358 - return button_context_settings_right_is_inc; 359 - 360 - case CONTEXT_SETTINGS_COLOURCHOOSER: 361 - return button_context_colorchooser; 362 - case CONTEXT_SETTINGS_EQ: 363 - return button_context_eq; 364 - 365 - case CONTEXT_SETTINGS_TIME: 366 - return button_context_time; 367 - 368 - case CONTEXT_YESNOSCREEN: 369 - return button_context_yesno; 370 - case CONTEXT_BOOKMARKSCREEN: 371 - return button_context_bmark; 372 - case CONTEXT_QUICKSCREEN: 373 - return button_context_quickscreen; 374 - case CONTEXT_PITCHSCREEN: 375 - return button_context_pitchscreen; 376 - case CONTEXT_KEYBOARD: 377 - return button_context_keyboard; 378 - } 379 - return button_context_standard; 380 - }
-6
bootloader/SOURCES
··· 53 53 show_logo.c 54 54 #elif CONFIG_CPU==IMX233 55 55 imx233.c 56 - #elif defined(LYRE_PROTO1) 57 - lyre_proto1.c 58 - show_logo.c 59 - #elif defined(MINI2440) 60 - mini2440.c 61 - show_logo.c 62 56 #elif defined(PBELL_VIBE500) 63 57 main-pp.c 64 58 show_logo.c
-33
bootloader/lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* Include Standard files */ 23 - #include "../kernel-internal.h" 24 - #include "system.h" 25 - 26 - int main(void) 27 - { 28 - /* Initialize Rockbox kernel */ 29 - kernel_init(); 30 - 31 - /* Never returns */ 32 - while(1) ; 33 - }
-122
bootloader/mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins, Lyre Project 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* Include Standard files */ 23 - #include <stdlib.h> 24 - #include <stdio.h> 25 - #include "inttypes.h" 26 - #include "string.h" 27 - #include "cpu.h" 28 - #include "system.h" 29 - #include "lcd.h" 30 - #include "../kernel-internal.h" 31 - #include "storage.h" 32 - #include "file_internal.h" 33 - #include "disk.h" 34 - #include "font.h" 35 - #include "backlight.h" 36 - #include "button.h" 37 - #include "panic.h" 38 - #include "power.h" 39 - #include "file.h" 40 - #include "common.h" 41 - #include "rb-loader.h" 42 - #include "loader_strerror.h" 43 - #include "sd.h" 44 - #include "backlight-target.h" 45 - #include "lcd-target.h" 46 - #include "dma-target.h" 47 - #include "uart-s3c2440.h" 48 - #include "led-mini2440.h" 49 - #include "version.h" 50 - 51 - 52 - int main(void) 53 - { 54 - unsigned char* loadbuffer; 55 - int buffer_size; 56 - int rc; 57 - int(*kernel_entry)(void); 58 - 59 - led_init(); 60 - clear_leds(LED_ALL); 61 - /* NB: something in system_init() prevents H-JTAG from downloading */ 62 - /* system_init(); */ 63 - kernel_init(); 64 - /* enable_interrupt(IRQ_FIQ_STATUS); */ 65 - lcd_init(); 66 - backlight_init(); /* BUGFIX backlight_init MUST BE AFTER lcd_init */ 67 - lcd_setfont(FONT_SYSFIXED); 68 - button_init(); 69 - dma_init(); 70 - 71 - uart_init(); 72 - uart_init_device(DEBUG_UART_PORT); 73 - 74 - /* mini2440_test(); */ 75 - 76 - /* Show debug messages if button is pressed */ 77 - int touch_data; 78 - if(button_read_device(&touch_data) & BUTTON_MENU) 79 - verbose = true; 80 - 81 - printf("Rockbox boot loader"); 82 - printf("Version %s", rbversion); 83 - 84 - rc = storage_init(); 85 - if(rc) 86 - { 87 - reset_screen(); 88 - error(EATA, rc, true); 89 - } 90 - 91 - filesystem_init(); 92 - rc = disk_mount_all(); 93 - if (rc<=0) 94 - { 95 - error(EDISK,rc, true); 96 - } 97 - 98 - printf("Loading firmware"); 99 - 100 - /* Flush out anything pending first */ 101 - commit_discard_idcache(); 102 - 103 - loadbuffer = (unsigned char*) 0x31000000; 104 - buffer_size = (unsigned char*)0x31400000 - loadbuffer; 105 - 106 - rc = load_firmware(loadbuffer, BOOTFILE, buffer_size); 107 - if(rc <= 0) 108 - error(EBOOTFILE, rc, true); 109 - 110 - printf("Loaded firmware %d\n", rc); 111 - 112 - /* storage_close(); */ 113 - system_prepare_fw_start(); 114 - 115 - commit_discard_idcache(); 116 - kernel_entry = (void*) loadbuffer; 117 - rc = kernel_entry(); 118 - 119 - /* end stop - should not get here */ 120 - led_flash(LED_ALL, LED_NONE); 121 - while (1); /* avoid warning */ 122 - }
+1 -29
firmware/SOURCES
··· 929 929 target/arm/ipod/lcd-gray.c 930 930 #elif CONFIG_LCD == LCD_GIGABEATS 931 931 target/arm/imx31/gigabeat-s/lcd-gigabeat-s.c 932 - #elif CONFIG_LCD == LCD_GIGABEAT || CONFIG_LCD == LCD_MINI2440 932 + #elif CONFIG_LCD == LCD_GIGABEAT 933 933 target/arm/s3c2440/lcd-s3c2440.c 934 934 #elif CONFIG_LCD == LCD_ILI9342 || CONFIG_LCD == LCD_ILI9342C 935 935 target/arm/rk27xx/ma/lcd-ma.c ··· 1825 1825 target/mips/ingenic_x1000/erosqnative/power-erosqnative.c 1826 1826 target/mips/ingenic_x1000/spl-nand-x1000.c 1827 1827 #endif /* EROS_QN */ 1828 - 1829 - #if defined(LYRE_PROTO1) 1830 - target/arm/at91sam/lyre_proto1/adc-lyre_proto1.c 1831 - target/arm/at91sam/lyre_proto1/backlight-lyre_proto1.c 1832 - target/arm/at91sam/lyre_proto1/button-lyre_proto1.c 1833 - target/arm/at91sam/lyre_proto1/crt0.S 1834 - target/arm/at91sam/lyre_proto1/debug-lyre_proto1.c 1835 - target/arm/at91sam/lyre_proto1/kernel-lyre_proto1.c 1836 - target/arm/at91sam/lyre_proto1/lcd-lyre_proto1.c 1837 - target/arm/at91sam/lyre_proto1/system-lyre_proto1.c 1838 - target/arm/at91sam/lyre_proto1/timer-lyre_proto1.c 1839 - #endif 1840 - 1841 - #if defined(MINI2440) 1842 - drivers/lcd-memframe.c 1843 - target/arm/s3c2440/dma-s3c2440.c 1844 - target/arm/s3c2440/sd-s3c2440.c 1845 - target/arm/s3c2440/uart-s3c2440.c 1846 - target/arm/s3c2440/mini2440/backlight-mini2440.c 1847 - target/arm/s3c2440/mini2440/button-mini2440.c 1848 - target/arm/s3c2440/mini2440/led-mini2440.c 1849 - target/arm/s3c2440/mini2440/power-mini2440.c 1850 - target/arm/s3c2440/mini2440/touchscreen-mini2440.c 1851 - #ifndef BOOTLOADER 1852 - target/arm/s3c2440/mini2440/powermgmt-mini2440.c 1853 - target/arm/s3c2440/mini2440/pcm-mini2440.c 1854 - #endif 1855 - #endif /* MINI2440 */ 1856 1828 1857 1829 #if defined(SAMSUNG_YH820) || defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925) 1858 1830 target/arm/samsung/akcodec-yh82x_yh92x.c
+1 -1
firmware/asm/SOURCES
··· 50 50 51 51 #if (defined(SANSA_E200) || defined(GIGABEAT_F) || defined(GIGABEAT_S) || \ 52 52 defined(CREATIVE_ZVx) || defined(SANSA_CONNECT) || defined(SANSA_FUZEPLUS) || \ 53 - defined(COWON_D2) || defined(MINI2440) || defined(SAMSUNG_YPR0) || \ 53 + defined(COWON_D2) || defined(SAMSUNG_YPR0) || \ 54 54 defined(SAMSUNG_YPR1) || defined(DX50) || defined(DX90) || (defined(MROBE_500) && !defined(LCD_USE_DMA)) || \ 55 55 defined(CREATIVE_ZEN) || defined(CREATIVE_ZENXFI) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX) || \ 56 56 defined(FIIO_M3K_LINUX)) && \
-682
firmware/export/at91sam9260.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* MATRIX_MRCR : (MATRIX Offset: 0x100) MRCR Register */ 23 - #define AT91C_MATRIX_RCA926I (0x1 << 0) /* (MATRIX) Remap Command for 24 - ARM926EJ-S Instruction Master */ 25 - #define AT91C_MATRIX_RCA926D (0x1 << 1) /* (MATRIX) Remap Command for 26 - ARM926EJ-S Data Master */ 27 - 28 - /* Register definition for MATRIX peripheral */ 29 - #define AT91C_MATRIX_MCFG0 (*(volatile unsigned long*) 0xFFFFEE00) /*(MATRIX) 30 - Master Configuration Register 0 (ram96k) */ 31 - #define AT91C_MATRIX_MCFG7 (*(volatile unsigned long*) 0xFFFFEE1C) /*(MATRIX) 32 - Master Configuration Register 7 (teak_prog) */ 33 - #define AT91C_MATRIX_SCFG1 (*(volatile unsigned long*) 0xFFFFEE44) /*(MATRIX) 34 - Slave Configuration Register 1 (rom) */ 35 - #define AT91C_MATRIX_MCFG4 (*(volatile unsigned long*) 0xFFFFEE10) /*(MATRIX) 36 - Master Configuration Register 4 (bridge) */ 37 - #define AT91C_MATRIX_VERSION (*(volatile unsigned long*) 0xFFFFEFFC) /*(MATRIX) 38 - Version Register */ 39 - #define AT91C_MATRIX_MCFG2 (*(volatile unsigned long*) 0xFFFFEE08) /*(MATRIX) 40 - Master Configuration Register 2 (hperiphs) */ 41 - #define AT91C_MATRIX_PRBS0 (*(volatile unsigned long*) 0xFFFFEE84) /*(MATRIX) 42 - PRBS0 (ram0) */ 43 - #define AT91C_MATRIX_SCFG3 (*(volatile unsigned long*) 0xFFFFEE4C) /*(MATRIX) 44 - Slave Configuration Register 3 (ebi) */ 45 - #define AT91C_MATRIX_MCFG6 (*(volatile unsigned long*) 0xFFFFEE18) /*(MATRIX) 46 - Master Configuration Register 6 (ram16k) */ 47 - #define AT91C_MATRIX_EBI (*(volatile unsigned long*) 0xFFFFEF1C) /*(MATRIX) 48 - Slave 3 (ebi) Special Function Register */ 49 - #define AT91C_MATRIX_SCFG0 (*(volatile unsigned long*) 0xFFFFEE40) /*(MATRIX) 50 - Slave Configuration Register 0 (ram96k) */ 51 - #define AT91C_MATRIX_PRAS0 (*(volatile unsigned long*) 0xFFFFEE80) /*(MATRIX) 52 - PRAS0 (ram0) */ 53 - #define AT91C_MATRIX_MCFG3 (*(volatile unsigned long*) 0xFFFFEE0C) /*(MATRIX) 54 - Master Configuration Register 3 (ebi) */ 55 - #define AT91C_MATRIX_PRAS1 (*(volatile unsigned long*) 0xFFFFEE88) /*(MATRIX) 56 - PRAS1 (ram1) */ 57 - #define AT91C_MATRIX_PRAS2 (*(volatile unsigned long*) 0xFFFFEE90) /*(MATRIX) 58 - PRAS2 (ram2) */ 59 - #define AT91C_MATRIX_SCFG2 (*(volatile unsigned long*) 0xFFFFEE48) /*(MATRIX) 60 - Slave Configuration Register 2 (hperiphs) */ 61 - #define AT91C_MATRIX_MCFG5 (*(volatile unsigned long*) 0xFFFFEE14) /*(MATRIX) 62 - Master Configuration Register 5 (mailbox) */ 63 - #define AT91C_MATRIX_MCFG1 (*(volatile unsigned long*) 0xFFFFEE04) /*(MATRIX) 64 - Master Configuration Register 1 (rom) */ 65 - #define AT91C_MATRIX_MRCR (*(volatile unsigned long*) 0xFFFFEF00) /*(MATRIX) 66 - Master Remp Control Register */ 67 - #define AT91C_MATRIX_PRBS2 (*(volatile unsigned long*) 0xFFFFEE94) /*(MATRIX) 68 - PRBS2 (ram2) */ 69 - #define AT91C_MATRIX_SCFG4 (*(volatile unsigned long*) 0xFFFFEE50) /*(MATRIX) 70 - Slave Configuration Register 4 (bridge) */ 71 - #define AT91C_MATRIX_TEAKCFG (*(volatile unsigned long*) 0xFFFFEF2C) /*(MATRIX) 72 - Slave 7 (teak_prog) Special Function Register */ 73 - #define AT91C_MATRIX_PRBS1 (*(volatile unsigned long*) 0xFFFFEE8C) /*(MATRIX) 74 - PRBS1 (ram1) */ 75 - 76 - /* SOFTWARE API DEFINITION FOR Watchdog Timer Controller Interface */ 77 - /* - WDTC_WDCR : (WDTC Offset: 0x0) Periodic Interval Image Register ---- */ 78 - #define AT91C_WDTC_WDRSTT (0x1 << 0) /* (WDTC) Watchdog Restart */ 79 - #define AT91C_WDTC_KEY (0xFF << 24) /* (WDTC) Watchdog KEY Password */ 80 - /* -------- WDTC_WDMR : (WDTC Offset: 0x4) Watchdog Mode Register -------- */ 81 - #define AT91C_WDTC_WDV (0xFFF << 0) /* (WDTC) Watchdog Timer Restart */ 82 - #define AT91C_WDTC_WDFIEN (0x1 << 12) /* (WDTC) Watchdog Fault Interrupt 83 - Enable */ 84 - #define AT91C_WDTC_WDRSTEN (0x1 << 13) /* (WDTC) Watchdog Reset Enable */ 85 - #define AT91C_WDTC_WDRPROC (0x1 << 14) /* (WDTC) Watchdog Timer Restart */ 86 - #define AT91C_WDTC_WDDIS (0x1 << 15) /* (WDTC) Watchdog Disable */ 87 - #define AT91C_WDTC_WDD (0xFFF << 16) /* (WDTC) Watchdog Delta Value */ 88 - #define AT91C_WDTC_WDDBGHLT (0x1 << 28) /* (WDTC) Watchdog Debug Halt */ 89 - #define AT91C_WDTC_WDIDLEHLT (0x1 << 29) /* (WDTC) Watchdog Idle Halt */ 90 - /* -------- WDTC_WDSR : (WDTC Offset: 0x8) Watchdog Status Register ----- */ 91 - #define AT91C_WDTC_WDUNF (0x1 << 0) /* (WDTC) Watchdog Underflow */ 92 - #define AT91C_WDTC_WDERR (0x1 << 1) /* (WDTC) Watchdog Error */ 93 - 94 - /* SOFTWARE API DEFINITION FOR Watchdog Timer Controller Interface */ 95 - /* - WDTC_WDCR : (WDTC Offset: 0x0) Periodic Interval Image Register ---- */ 96 - #define AT91C_WDTC_WDRSTT (0x1 << 0) /* (WDTC) Watchdog Restart */ 97 - #define AT91C_WDTC_KEY (0xFF << 24) /* (WDTC) Watchdog KEY Password */ 98 - /* -------- WDTC_WDMR : (WDTC Offset: 0x4) Watchdog Mode Register -------- */ 99 - #define AT91C_WDTC_WDV (0xFFF << 0) /* (WDTC) Watchdog Timer Restart */ 100 - #define AT91C_WDTC_WDFIEN (0x1 << 12) /* (WDTC) Watchdog Fault Interrupt 101 - Enable */ 102 - #define AT91C_WDTC_WDRSTEN (0x1 << 13) /* (WDTC) Watchdog Reset Enable */ 103 - #define AT91C_WDTC_WDRPROC (0x1 << 14) /* (WDTC) Watchdog Timer Restart */ 104 - #define AT91C_WDTC_WDDIS (0x1 << 15) /* (WDTC) Watchdog Disable */ 105 - #define AT91C_WDTC_WDD (0xFFF << 16) /* (WDTC) Watchdog Delta Value */ 106 - #define AT91C_WDTC_WDDBGHLT (0x1 << 28) /* (WDTC) Watchdog Debug Halt */ 107 - #define AT91C_WDTC_WDIDLEHLT (0x1 << 29) /* (WDTC) Watchdog Idle Halt */ 108 - /* -------- WDTC_WDSR : (WDTC Offset: 0x8) Watchdog Status Register ----- */ 109 - #define AT91C_WDTC_WDUNF (0x1 << 0) /* (WDTC) Watchdog Underflow */ 110 - #define AT91C_WDTC_WDERR (0x1 << 1) /* (WDTC) Watchdog Error */ 111 - 112 - /* Register definition for WDTC peripheral */ 113 - #define AT91C_WDTC_WDCR (*(volatile unsigned long*) 0xFFFFFD40) /* (WDTC) 114 - Watchdog Control Register */ 115 - #define AT91C_WDTC_WDSR (*(volatile unsigned long*) 0xFFFFFD48) /* (WDTC) 116 - Watchdog Status Register */ 117 - #define AT91C_WDTC_WDMR (*(volatile unsigned long*) 0xFFFFFD44) /* (WDTC) 118 - Watchdog Mode Register */ 119 - 120 - /* CKGR_MOR : (CKGR Offset: 0x0) Main Oscillator Register */ 121 - #define AT91C_CKGR_MOSCEN (0x1 << 0) /* (CKGR) Main Oscillator Enable */ 122 - #define AT91C_CKGR_OSCBYPASS (0x1 << 1) /* (CKGR) Main Oscillator Bypass */ 123 - #define AT91C_CKGR_OSCOUNT (0xFF << 8) /* (CKGR) Main Oscillator Start 124 - -up Time */ 125 - /* CKGR_MCFR : (CKGR Offset: 0x4) Main Clock Frequency Register */ 126 - #define AT91C_CKGR_MAINF (0xFFFF << 0) /* (CKGR) Main Clock Frequency */ 127 - #define AT91C_CKGR_MAINRDY (0x1 << 16) /* (CKGR) Main Clock Ready */ 128 - /* CKGR_PLLAR : (CKGR Offset: 0x8) PLL A Register */ 129 - #define AT91C_CKGR_DIVA (0xFF << 0) /* (CKGR) Divider A Selected */ 130 - #define AT91C_CKGR_DIVA_0 (0x0) /* (CKGR) Divider A output is 0 */ 131 - #define AT91C_CKGR_DIVA_BYPASS (0x1) /* (CKGR) Divider A is bypassed */ 132 - #define AT91C_CKGR_PLLACOUNT (0x3F << 8) /* (CKGR) PLL A Counter */ 133 - #define AT91C_CKGR_OUTA (0x3 << 14) /* (CKGR) PLL A Output Frequency Range */ 134 - #define AT91C_CKGR_OUTA_0 (0x0 << 14) /* (CKGR) Please 135 - refer to the PLLA datasheet */ 136 - #define AT91C_CKGR_OUTA_1 (0x1 << 14) /* (CKGR) Please 137 - refer to the PLLA datasheet */ 138 - #define AT91C_CKGR_OUTA_2 (0x2 << 14) /* (CKGR) Please 139 - refer to the PLLA datasheet */ 140 - #define AT91C_CKGR_OUTA_3 (0x3 << 14) /* (CKGR) Please 141 - refer to the PLLA datasheet */ 142 - #define AT91C_CKGR_MULA (0x7FF << 16) /* (CKGR) PLL A Multiplier */ 143 - #define AT91C_CKGR_SRCA (0x1 << 29) /* (CKGR) */ 144 - /* CKGR_PLLBR : (CKGR Offset: 0xc) PLL B Register */ 145 - #define AT91C_CKGR_DIVB (0xFF << 0) /* (CKGR) Divider B Selected */ 146 - #define AT91C_CKGR_DIVB_0 (0x0) /* (CKGR) Divider B output is 0 */ 147 - #define AT91C_CKGR_DIVB_BYPASS (0x1) /* (CKGR) Divider B is bypassed */ 148 - #define AT91C_CKGR_PLLBCOUNT (0x3F << 8) /* (CKGR) PLL B Counter */ 149 - #define AT91C_CKGR_OUTB (0x3 << 14) /* (CKGR) PLL B Output Frequency Range */ 150 - #define AT91C_CKGR_OUTB_0 (0x0 << 14) /* (CKGR) Please 151 - refer to the PLLB datasheet */ 152 - #define AT91C_CKGR_OUTB_1 (0x1 << 14) /* (CKGR) Please 153 - refer to the PLLB datasheet */ 154 - #define AT91C_CKGR_OUTB_2 (0x2 << 14) /* (CKGR) Please 155 - refer to the PLLB datasheet */ 156 - #define AT91C_CKGR_OUTB_3 (0x3 << 14) /* (CKGR) Please 157 - refer to the PLLB datasheet */ 158 - #define AT91C_CKGR_MULB (0x7FF << 16) /* (CKGR) PLL B Multiplier */ 159 - #define AT91C_CKGR_USBDIV (0x3 << 28) /* (CKGR) Divider for USB Clocks */ 160 - #define AT91C_CKGR_USBDIV_0 (0x0 << 28) /* (CKGR) 161 - Divider output is PLL clock output */ 162 - #define AT91C_CKGR_USBDIV_1 (0x1 << 28) /* (CKGR) 163 - Divider output is PLL clock output divided by 2 */ 164 - #define AT91C_CKGR_USBDIV_2 (0x2 << 28) /* (CKGR) 165 - Divider output is PLL clock output divided by 4 */ 166 - 167 - /* SOFTWARE API DEFINITION FOR Power Management Controler */ 168 - /* -------- PMC_SCER : (PMC Offset: 0x0) System Clock Enable Register ----- */ 169 - #define AT91C_PMC_PCK (0x1 << 0) /* (PMC) Processor Clock */ 170 - #define AT91C_PMC_UHP (0x1 << 6) /* (PMC) USB Host Port Clock */ 171 - #define AT91C_PMC_UDP (0x1 << 7) /* (PMC) USB Device Port Clock */ 172 - #define AT91C_PMC_PCK0 (0x1 << 8) /* (PMC) Programmable Clock Output */ 173 - #define AT91C_PMC_PCK1 (0x1 << 9) /* (PMC) Programmable Clock Output */ 174 - #define AT91C_PMC_HCK0 (0x1 << 16) /* (PMC) AHB UHP Clock Output */ 175 - #define AT91C_PMC_HCK1 (0x1 << 17) /* (PMC) AHB LCDC Clock Output */ 176 - /* -------- PMC_SCDR : (PMC Offset: 0x4) System Clock Disable Register ----- */ 177 - /* -------- PMC_SCSR : (PMC Offset: 0x8) System Clock Status Register ----- */ 178 - /* -------- CKGR_MOR : (PMC Offset: 0x20) Main Oscillator Register -------- */ 179 - /* -------- CKGR_MCFR : (PMC Offset: 0x24) Main Clock Frequency Register--- */ 180 - /* -------- CKGR_PLLAR : (PMC Offset: 0x28) PLL A Register -------- */ 181 - /* -------- CKGR_PLLBR : (PMC Offset: 0x2c) PLL B Register -------- */ 182 - /* -------- PMC_MCKR : (PMC Offset: 0x30) Master Clock Register -------- */ 183 - #define AT91C_PMC_CSS (0x3 << 0) /* (PMC) Programmable Clock Selection */ 184 - #define AT91C_PMC_CSS_SLOW_CLK (0x0) /* (PMC) Slow Clock is selected */ 185 - #define AT91C_PMC_CSS_MAIN_CLK (0x1) /* (PMC) Main Clock is selected */ 186 - #define AT91C_PMC_CSS_PLLA_CLK (0x2) /* (PMC) Clock from PLL A is selected */ 187 - #define AT91C_PMC_CSS_PLLB_CLK (0x3) /* (PMC) Clock from PLL B is selected */ 188 - #define AT91C_PMC_PRES (0x7 << 2) /* (PMC) Programmable Clock Prescaler */ 189 - #define AT91C_PMC_PRES_CLK (0x0 << 2) /* (PMC) Selected clock */ 190 - #define AT91C_PMC_PRES_CLK_2 (0x1 << 2) /* (PMC) Selected clock 191 - divided by 2 */ 192 - #define AT91C_PMC_PRES_CLK_4 (0x2 << 2) /* (PMC) Selected clock 193 - divided by 4 */ 194 - #define AT91C_PMC_PRES_CLK_8 (0x3 << 2) /* (PMC) Selected clock 195 - divided by 8 */ 196 - #define AT91C_PMC_PRES_CLK_16 (0x4 << 2) /* (PMC) Selected clock 197 - divided by 16 */ 198 - #define AT91C_PMC_PRES_CLK_32 (0x5 << 2) /* (PMC) Selected clock 199 - divided by 32 */ 200 - #define AT91C_PMC_PRES_CLK_64 (0x6 << 2) /* (PMC) Selected clock 201 - divided by 64 */ 202 - #define AT91C_PMC_MDIV (0x3 << 8) /* (PMC) Master Clock Divisionv */ 203 - #define AT91C_PMC_MDIV_1 (0x0 << 8) /* (PMC) The master clock and the 204 - processor clock are the same */ 205 - #define AT91C_PMC_MDIV_2 (0x1 << 8) /* (PMC) The processor clock is twice 206 - as fast as the master clock */ 207 - #define AT91C_PMC_MDIV_3 (0x2 << 8) /* (PMC) The processor clock is four 208 - times faster than the master clock */ 209 - /* -------- PMC_PCKR : (PMC Offset: 0x40) Programmable Clock Register ----- */ 210 - /* -------- PMC_IER : (PMC Offset: 0x60) PMC Interrupt Enable Register ---- */ 211 - #define AT91C_PMC_MOSCS (0x1 << 0) /* (PMC) MOSC Status/Enable/Disable/Mask*/ 212 - #define AT91C_PMC_LOCKA (0x1 << 1) /* (PMC) PLL A Status/Enable/Disable/ 213 - Mask */ 214 - #define AT91C_PMC_LOCKB (0x1 << 2) /* (PMC) PLL B Status/Enable/Disable/ 215 - Mask */ 216 - #define AT91C_PMC_MCKRDY (0x1 << 3) /* (PMC) Master Clock Status/Enable/ 217 - Disable/Mask */ 218 - #define AT91C_PMC_PCK0RDY (0x1 << 8) /* (PMC) PCK0_RDY Status/Enable/ 219 - Disable/Mask */ 220 - #define AT91C_PMC_PCK1RDY (0x1 << 9) /* (PMC) PCK1_RDY Status/Enable/ 221 - Disable/Mask */ 222 - /* ---PMC_IDR : (PMC Offset: 0x64) PMC Interrupt Disable Register -------- */ 223 - /* ------ PMC_SR : (PMC Offset: 0x68) PMC Status Register -------- */ 224 - #define AT91C_PMC_OSCSEL (0x1 << 7) /* (PMC) 32kHz Oscillator 225 - selection status */ 226 - /* -------- PMC_IMR : (PMC Offset: 0x6c) PMC Interrupt Mask Register ---- */ 227 - 228 - /* SOFTWARE API DEFINITION FOR Advanced Interrupt Controller */ 229 - /* -------- AIC_SMR : (AIC Offset: 0x0) Control Register -------- */ 230 - #define AT91C_AIC_PRIOR (0x7 << 0) /* (AIC) Priority Level */ 231 - #define AT91C_AIC_PRIOR_LOWEST (0x0) /* (AIC) Lowest priority 232 - level */ 233 - #define AT91C_AIC_PRIOR_HIGHEST (0x7) /* (AIC) Highest 234 - priority level */ 235 - #define AT91C_AIC_SRCTYPE (0x3 << 5) /* (AIC) Interrupt Source Type */ 236 - #define AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE (0x0 << 5) /* (AIC) 237 - Internal Sources Code Label Level Sensitive */ 238 - #define AT91C_AIC_SRCTYPE_INT_EDGE_TRIGGERED (0x1 << 5) /* (AIC) 239 - Internal Sources Code Label Edge triggered */ 240 - #define AT91C_AIC_SRCTYPE_EXT_HIGH_LEVEL (0x2 << 5) /* (AIC) 241 - External Sources Code Label High-level Sensitive */ 242 - #define AT91C_AIC_SRCTYPE_EXT_POSITIVE_EDGE (0x3 << 5) /* (AIC) 243 - External Sources Code Label Positive Edge triggered */ 244 - /* - AIC_CISR : (AIC Offset: 0x114) AIC Core Interrupt Status Register ----- */ 245 - #define AT91C_AIC_NFIQ (0x1 << 0) /* (AIC) NFIQ Status */ 246 - #define AT91C_AIC_NIRQ (0x1 << 1) /* (AIC) NIRQ Status */ 247 - /* - AIC_DCR : (AIC Offset: 0x138) AIC Debug Control Register (Protect) ---- */ 248 - #define AT91C_AIC_DCR_PROT (0x1 << 0) /* (AIC) Protection Mode */ 249 - #define AT91C_AIC_DCR_GMSK (0x1 << 1) /* (AIC) General Mask */ 250 - 251 - /* Register definition for AIC peripheral */ 252 - #define AT91C_AIC_IVR (*(volatile unsigned long*) 0xFFFFF100) /* (AIC) IRQ 253 - Vector Register */ 254 - #define AIC_IVR 0x00000100 255 - /* (AIC) Source Mode Register */ 256 - #define AT91C_AIC_SMR(a) (*(volatile unsigned long*) (0xFFFFF000 + 4*(a))) 257 - #define AT91C_AIC_FVR (*(volatile unsigned long*) 0xFFFFF104) /* (AIC) FIQ 258 - Vector Register */ 259 - #define AT91C_AIC_DCR (*(volatile unsigned long*) 0xFFFFF138) /* (AIC) Debug 260 - Control Register (Protect) */ 261 - #define AT91C_AIC_EOICR (*(volatile unsigned long*) 0xFFFFF130) /* (AIC) End 262 - of Interrupt Command Register */ 263 - #define AIC_EOICR 0x00000130 264 - /* (AIC) Source Vector Register */ 265 - #define AT91C_AIC_SVR(a) (*(volatile unsigned long*) (0xFFFFF080 + 4*(a))) 266 - #define AT91C_AIC_FFSR (*(volatile unsigned long*) 0xFFFFF148) /* (AIC) Fast 267 - Forcing Status Register */ 268 - #define AT91C_AIC_ICCR (*(volatile unsigned long*) 0xFFFFF128) /* (AIC) 269 - Interrupt Clear Command Register */ 270 - #define AT91C_AIC_ISR (*(volatile unsigned long*) 0xFFFFF108) /* (AIC) 271 - Interrupt Status Register */ 272 - #define AT91C_AIC_IMR (*(volatile unsigned long*) 0xFFFFF110) /* (AIC) 273 - Interrupt Mask Register */ 274 - #define AT91C_AIC_IPR (*(volatile unsigned long*) 0xFFFFF10C) /* (AIC) 275 - Interrupt Pending Register */ 276 - #define AT91C_AIC_FFER (*(volatile unsigned long*) 0xFFFFF140) /* (AIC) 277 - Fast Forcing Enable Register */ 278 - #define AT91C_AIC_IECR (*(volatile unsigned long*) 0xFFFFF120) /* (AIC) 279 - Interrupt Enable Command Register */ 280 - #define AT91C_AIC_ISCR (*(volatile unsigned long*) 0xFFFFF12C) /* (AIC) 281 - Interrupt Set Command Register */ 282 - #define AT91C_AIC_FFDR (*(volatile unsigned long*) 0xFFFFF144) /* (AIC) 283 - Fast Forcing Disable Register */ 284 - #define AT91C_AIC_CISR (*(volatile unsigned long*) 0xFFFFF114) /* (AIC) 285 - Core Interrupt Status Register */ 286 - #define AT91C_AIC_IDCR (*(volatile unsigned long*) 0xFFFFF124) /* (AIC) 287 - Interrupt Disable Command Register */ 288 - #define AT91C_AIC_SPU (*(volatile unsigned long*) 0xFFFFF134) /* (AIC) 289 - Spurious Vector Register */ 290 - 291 - /* SOFTWARE API DEFINITION FOR Periodic Interval Timer Controller Interface */ 292 - /* PITC_PIMR : (PITC Offset: 0x0) Periodic Interval Mode Register -------- */ 293 - #define AT91C_PITC_PIV (0xFFFFF << 0) /* (PITC) Periodic Interval 294 - Value */ 295 - #define AT91C_PITC_PITEN (0x1 << 24) /* (PITC) Periodic Interval Timer 296 - Enabled */ 297 - #define AT91C_PITC_PITIEN (0x1 << 25) /* (PITC) Periodic Interval Timer 298 - Interrupt Enable */ 299 - /* --- PITC_PISR : (PITC Offset: 0x4) Periodic Interval Status Register - */ 300 - #define AT91C_PITC_PITS (0x1 << 0) /* (PITC) Periodic Interval Timer 301 - Status */ 302 - /* - PITC_PIVR : (PITC Offset: 0x8) Periodic Interval Value Register ---- */ 303 - #define AT91C_PITC_CPIV (0xFFFFF << 0) /* (PITC) Current Periodic 304 - Interval Value */ 305 - #define AT91C_PITC_PICNT (0xFFF << 20) /* (PITC) Periodic Interval Counter */ 306 - /* PITC_PIIR : (PITC Offset: 0xc) Periodic Interval Image Register ---- */ 307 - 308 - /* Register definition for AIC peripheral */ 309 - #define AT91C_AIC_IVR (*(volatile unsigned long*) 0xFFFFF100) /* (AIC) IRQ 310 - Vector Register */ 311 - #define AIC_IVR 0x00000100 312 - #define AT91C_AIC_EOICR (*(volatile unsigned long*) 0xFFFFF130) /* (AIC) End 313 - of Interrupt Command Register */ 314 - #define AIC_EOICR 0x00000130 315 - 316 - /* Register definition for PIOA peripheral */ 317 - #define AT91C_PIOA_ODR (*(volatile unsigned long*) 0xFFFFF414) /* (PIOA) 318 - Output Disable Registerr */ 319 - #define AT91C_PIOA_SODR (*(volatile unsigned long*) 0xFFFFF430) /* (PIOA) 320 - Set Output Data Register */ 321 - #define AT91C_PIOA_ISR (*(volatile unsigned long*) 0xFFFFF44C) /* (PIOA) 322 - Interrupt Status Register */ 323 - #define AT91C_PIOA_ABSR (*(volatile unsigned long*) 0xFFFFF478) /* (PIOA) 324 - AB Select Status Register */ 325 - #define AT91C_PIOA_IER (*(volatile unsigned long*) 0xFFFFF440) /* (PIOA) 326 - Interrupt Enable Register */ 327 - #define AT91C_PIOA_PPUDR (*(volatile unsigned long*) 0xFFFFF460) /* (PIOA) 328 - Pull-up Disable Register */ 329 - #define AT91C_PIOA_IMR (*(volatile unsigned long*) 0xFFFFF448) /* (PIOA) 330 - Interrupt Mask Register */ 331 - #define AT91C_PIOA_PER (*(volatile unsigned long*) 0xFFFFF400) /* (PIOA) 332 - PIO Enable Register */ 333 - #define AT91C_PIOA_IFDR (*(volatile unsigned long*) 0xFFFFF424) /* (PIOA) 334 - Input Filter Disable Register */ 335 - #define AT91C_PIOA_OWDR (*(volatile unsigned long*) 0xFFFFF4A4) /* (PIOA) 336 - Output Write Disable Register */ 337 - #define AT91C_PIOA_MDSR (*(volatile unsigned long*) 0xFFFFF458) /* (PIOA) 338 - Multi-driver Status Register */ 339 - #define AT91C_PIOA_IDR (*(volatile unsigned long*) 0xFFFFF444) /* (PIOA) 340 - Interrupt Disable Register */ 341 - #define AT91C_PIOA_ODSR (*(volatile unsigned long*) 0xFFFFF438) /* (PIOA) 342 - Output Data Status Register */ 343 - #define AT91C_PIOA_PPUSR (*(volatile unsigned long*) 0xFFFFF468) /* (PIOA) 344 - Pull-up Status Register */ 345 - #define AT91C_PIOA_OWSR (*(volatile unsigned long*) 0xFFFFF4A8) /* (PIOA) 346 - Output Write Status Register */ 347 - #define AT91C_PIOA_BSR (*(volatile unsigned long*) 0xFFFFF474) /* (PIOA) 348 - Select B Register */ 349 - #define AT91C_PIOA_OWER (*(volatile unsigned long*) 0xFFFFF4A0) /* (PIOA) 350 - Output Write Enable Register */ 351 - #define AT91C_PIOA_IFER (*(volatile unsigned long*) 0xFFFFF420) /* (PIOA) 352 - Input Filter Enable Register */ 353 - #define AT91C_PIOA_PDSR (*(volatile unsigned long*) 0xFFFFF43C) /* (PIOA) 354 - Pin Data Status Register */ 355 - #define AT91C_PIOA_PPUER (*(volatile unsigned long*) 0xFFFFF464) /* (PIOA) 356 - Pull-up Enable Register */ 357 - #define AT91C_PIOA_OSR (*(volatile unsigned long*) 0xFFFFF418) /* (PIOA) 358 - Output Status Register */ 359 - #define AT91C_PIOA_ASR (*(volatile unsigned long*) 0xFFFFF470) /* (PIOA) 360 - Select A Register */ 361 - #define AT91C_PIOA_MDDR (*(volatile unsigned long*) 0xFFFFF454) /* (PIOA) 362 - Multi-driver Disable Register */ 363 - #define AT91C_PIOA_CODR (*(volatile unsigned long*) 0xFFFFF434) /* (PIOA) 364 - Clear Output Data Register */ 365 - #define AT91C_PIOA_MDER (*(volatile unsigned long*) 0xFFFFF450) /* (PIOA) 366 - Multi-driver Enable Register */ 367 - #define AT91C_PIOA_PDR (*(volatile unsigned long*) 0xFFFFF404) /* (PIOA) 368 - PIO Disable Register */ 369 - #define AT91C_PIOA_IFSR (*(volatile unsigned long*) 0xFFFFF428) /* (PIOA) 370 - Input Filter Status Register */ 371 - #define AT91C_PIOA_OER (*(volatile unsigned long*) 0xFFFFF410) /* (PIOA) 372 - Output Enable Register */ 373 - #define AT91C_PIOA_PSR (*(volatile unsigned long*) 0xFFFFF408) /* (PIOA) 374 - PIO Status Register */ 375 - 376 - /* Register definition for PIOB peripheral */ 377 - #define AT91C_PIOB_OWDR (*(volatile unsigned long*) 0xFFFFF6A4) /* (PIOB) 378 - Output Write Disable Register */ 379 - #define AT91C_PIOB_MDER (*(volatile unsigned long*) 0xFFFFF650) /* (PIOB) 380 - Multi-driver Enable Register */ 381 - #define AT91C_PIOB_PPUSR (*(volatile unsigned long*) 0xFFFFF668) /* (PIOB) 382 - Pull-up Status Register */ 383 - #define AT91C_PIOB_IMR (*(volatile unsigned long*) 0xFFFFF648) /* (PIOB) 384 - Interrupt Mask Register */ 385 - #define AT91C_PIOB_ASR (*(volatile unsigned long*) 0xFFFFF670) /* (PIOB) 386 - Select A Register */ 387 - #define AT91C_PIOB_PPUDR (*(volatile unsigned long*) 0xFFFFF660) /* (PIOB) 388 - Pull-up Disable Register */ 389 - #define AT91C_PIOB_PSR (*(volatile unsigned long*) 0xFFFFF608) /* (PIOB) 390 - PIO Status Register */ 391 - #define AT91C_PIOB_IER (*(volatile unsigned long*) 0xFFFFF640) /* (PIOB) 392 - Interrupt Enable Register */ 393 - #define AT91C_PIOB_CODR (*(volatile unsigned long*) 0xFFFFF634) /* (PIOB) 394 - Clear Output Data Register */ 395 - #define AT91C_PIOB_OWER (*(volatile unsigned long*) 0xFFFFF6A0) /* (PIOB) 396 - Output Write Enable Register */ 397 - #define AT91C_PIOB_ABSR (*(volatile unsigned long*) 0xFFFFF678) /* (PIOB) 398 - AB Select Status Register */ 399 - #define AT91C_PIOB_IFDR (*(volatile unsigned long*) 0xFFFFF624) /* (PIOB) 400 - Input Filter Disable Register */ 401 - #define AT91C_PIOB_PDSR (*(volatile unsigned long*) 0xFFFFF63C) /* (PIOB) 402 - Pin Data Status Register */ 403 - #define AT91C_PIOB_IDR (*(volatile unsigned long*) 0xFFFFF644) /* (PIOB) 404 - Interrupt Disable Register */ 405 - #define AT91C_PIOB_OWSR (*(volatile unsigned long*) 0xFFFFF6A8) /* (PIOB) 406 - Output Write Status Register */ 407 - #define AT91C_PIOB_PDR (*(volatile unsigned long*) 0xFFFFF604) /* (PIOB) 408 - PIO Disable Register */ 409 - #define AT91C_PIOB_ODR (*(volatile unsigned long*) 0xFFFFF614) /* (PIOB) 410 - Output Disable Registerr */ 411 - #define AT91C_PIOB_IFSR (*(volatile unsigned long*) 0xFFFFF628) /* (PIOB) 412 - Input Filter Status Register */ 413 - #define AT91C_PIOB_PPUER (*(volatile unsigned long*) 0xFFFFF664) /* (PIOB) 414 - Pull-up Enable Register */ 415 - #define AT91C_PIOB_SODR (*(volatile unsigned long*) 0xFFFFF630) /* (PIOB) 416 - Set Output Data Register */ 417 - #define AT91C_PIOB_ISR (*(volatile unsigned long*) 0xFFFFF64C) /* (PIOB) 418 - Interrupt Status Register */ 419 - #define AT91C_PIOB_ODSR (*(volatile unsigned long*) 0xFFFFF638) /* (PIOB) 420 - Output Data Status Register */ 421 - #define AT91C_PIOB_OSR (*(volatile unsigned long*) 0xFFFFF618) /* (PIOB) 422 - Output Status Register */ 423 - #define AT91C_PIOB_MDSR (*(volatile unsigned long*) 0xFFFFF658) /* (PIOB) 424 - Multi-driver Status Register */ 425 - #define AT91C_PIOB_IFER (*(volatile unsigned long*) 0xFFFFF620) /* (PIOB) 426 - Input Filter Enable Register */ 427 - #define AT91C_PIOB_BSR (*(volatile unsigned long*) 0xFFFFF674) /* (PIOB) 428 - Select B Register */ 429 - #define AT91C_PIOB_MDDR (*(volatile unsigned long*) 0xFFFFF654) /* (PIOB) 430 - Multi-driver Disable Register */ 431 - #define AT91C_PIOB_OER (*(volatile unsigned long*) 0xFFFFF610) /* (PIOB) 432 - Output Enable Register */ 433 - #define AT91C_PIOB_PER (*(volatile unsigned long*) 0xFFFFF600) /* (PIOB) 434 - PIO Enable Register */ 435 - 436 - /* Register definition for PIOC peripheral */ 437 - #define AT91C_PIOC_OWDR (*(volatile unsigned long*) 0xFFFFF8A4) /* (PIOC) 438 - Output Write Disable Register */ 439 - #define AT91C_PIOC_SODR (*(volatile unsigned long*) 0xFFFFF830) /* (PIOC) 440 - Set Output Data Register */ 441 - #define AT91C_PIOC_PPUER (*(volatile unsigned long*) 0xFFFFF864) /* (PIOC) 442 - Pull-up Enable Register */ 443 - #define AT91C_PIOC_CODR (*(volatile unsigned long*) 0xFFFFF834) /* (PIOC) 444 - Clear Output Data Register */ 445 - #define AT91C_PIOC_PSR (*(volatile unsigned long*) 0xFFFFF808) /* (PIOC) 446 - PIO Status Register */ 447 - #define AT91C_PIOC_PDR (*(volatile unsigned long*) 0xFFFFF804) /* (PIOC) 448 - PIO Disable Register */ 449 - #define AT91C_PIOC_ODR (*(volatile unsigned long*) 0xFFFFF814) /* (PIOC) 450 - Output Disable Register */ 451 - #define AT91C_PIOC_PPUSR (*(volatile unsigned long*) 0xFFFFF868) /* (PIOC) 452 - Pull-up Status Register */ 453 - #define AT91C_PIOC_ABSR (*(volatile unsigned long*) 0xFFFFF878) /* (PIOC) 454 - AB Select Status Register */ 455 - #define AT91C_PIOC_IFSR (*(volatile unsigned long*) 0xFFFFF828) /* (PIOC) 456 - Input Filter Status Register */ 457 - #define AT91C_PIOC_OER (*(volatile unsigned long*) 0xFFFFF810) /* (PIOC) 458 - Output Enable Register */ 459 - #define AT91C_PIOC_IMR (*(volatile unsigned long*) 0xFFFFF848) /* (PIOC) 460 - Interrupt Mask Register */ 461 - #define AT91C_PIOC_ASR (*(volatile unsigned long*) 0xFFFFF870) /* (PIOC) 462 - Select A Register */ 463 - #define AT91C_PIOC_MDDR (*(volatile unsigned long*) 0xFFFFF854) /* (PIOC) 464 - Multi-driver Disable Register */ 465 - #define AT91C_PIOC_OWSR (*(volatile unsigned long*) 0xFFFFF8A8) /* (PIOC) 466 - Output Write Status Register */ 467 - #define AT91C_PIOC_PER (*(volatile unsigned long*) 0xFFFFF800) /* (PIOC) 468 - PIO Enable Register */ 469 - #define AT91C_PIOC_IDR (*(volatile unsigned long*) 0xFFFFF844) /* (PIOC) 470 - Interrupt Disable Register */ 471 - #define AT91C_PIOC_MDER (*(volatile unsigned long*) 0xFFFFF850) /* (PIOC) 472 - Multi-driver Enable Register */ 473 - #define AT91C_PIOC_PDSR (*(volatile unsigned long*) 0xFFFFF83C) /* (PIOC) 474 - Pin Data Status Register */ 475 - #define AT91C_PIOC_MDSR (*(volatile unsigned long*) 0xFFFFF858) /* (PIOC) 476 - Multi-driver Status Register */ 477 - #define AT91C_PIOC_OWER (*(volatile unsigned long*) 0xFFFFF8A0) /* (PIOC) 478 - Output Write Enable Register */ 479 - #define AT91C_PIOC_BSR (*(volatile unsigned long*) 0xFFFFF874) /* (PIOC) 480 - Select B Register */ 481 - #define AT91C_PIOC_PPUDR (*(volatile unsigned long*) 0xFFFFF860) /* (PIOC) 482 - Pull-up Disable Register */ 483 - #define AT91C_PIOC_IFDR (*(volatile unsigned long*) 0xFFFFF824) /* (PIOC) 484 - Input Filter Disable Register */ 485 - #define AT91C_PIOC_IER (*(volatile unsigned long*) 0xFFFFF840) /* (PIOC) 486 - Interrupt Enable Register */ 487 - #define AT91C_PIOC_OSR (*(volatile unsigned long*) 0xFFFFF818) /* (PIOC) 488 - Output Status Register */ 489 - #define AT91C_PIOC_ODSR (*(volatile unsigned long*) 0xFFFFF838) /* (PIOC) 490 - Output Data Status Register */ 491 - #define AT91C_PIOC_ISR (*(volatile unsigned long*) 0xFFFFF84C) /* (PIOC) 492 - Interrupt Status Register */ 493 - #define AT91C_PIOC_IFER (*(volatile unsigned long*) 0xFFFFF820) /* (PIOC) 494 - Input Filter Enable Register */ 495 - 496 - /* Register definition for PMC peripheral */ 497 - #define AT91C_PMC_PCER (*(volatile unsigned long*) 0xFFFFFC10) /* (PMC) 498 - Peripheral Clock Enable Register */ 499 - #define AT91C_PMC_PCKR (*(volatile unsigned long*) 0xFFFFFC40) /* (PMC) 500 - Programmable Clock Register */ 501 - #define AT91C_PMC_MCKR (*(volatile unsigned long*) 0xFFFFFC30) /* (PMC) 502 - Master Clock Register */ 503 - #define AT91C_PMC_PLLAR (*(volatile unsigned long*) 0xFFFFFC28) /* (PMC) 504 - PLL A Register */ 505 - #define AT91C_PMC_PCDR (*(volatile unsigned long*) 0xFFFFFC14) /* (PMC) 506 - Peripheral Clock Disable Register */ 507 - #define AT91C_PMC_SCSR (*(volatile unsigned long*) 0xFFFFFC08) /* (PMC) 508 - System Clock Status Register */ 509 - #define AT91C_PMC_MCFR (*(volatile unsigned long*) 0xFFFFFC24) /* (PMC) 510 - Main Clock Frequency Register */ 511 - #define AT91C_PMC_IMR (*(volatile unsigned long*) 0xFFFFFC6C) /* (PMC) 512 - Interrupt Mask Register */ 513 - #define AT91C_PMC_IER (*(volatile unsigned long*) 0xFFFFFC60) /* (PMC) 514 - Interrupt Enable Register */ 515 - #define AT91C_PMC_MOR (*(volatile unsigned long *) 0xFFFFFC20) /* (PMC) 516 - Main Oscillator Register */ 517 - #define AT91C_PMC_IDR (*(volatile unsigned long *) 0xFFFFFC64) /* (PMC) 518 - Interrupt Disable Register */ 519 - #define AT91C_PMC_PLLBR (*(volatile unsigned long*) 0xFFFFFC2C) /* (PMC) 520 - PLL B Register */ 521 - #define AT91C_PMC_SCDR (*(volatile unsigned long*) 0xFFFFFC04) /* (PMC) 522 - System Clock Disable Register */ 523 - #define AT91C_PMC_PCSR (*(volatile unsigned long*) 0xFFFFFC18) /* (PMC) 524 - Peripheral Clock Status Register */ 525 - #define AT91C_PMC_SCER (*(volatile unsigned long*) 0xFFFFFC00) /* (PMC) 526 - System Clock Enable Register */ 527 - #define AT91C_PMC_SR (*(volatile unsigned long*) 0xFFFFFC68) /* (PMC) 528 - Status Register */ 529 - 530 - /* Register definition for PITC peripheral */ 531 - #define AT91C_PITC_PIVR (*(volatile unsigned long*) 0xFFFFFD38) /* (PITC) 532 - Period Interval Value Register */ 533 - #define AT91C_PITC_PISR (*(volatile unsigned long*) 0xFFFFFD34) /* (PITC) 534 - Period Interval Status Register */ 535 - #define AT91C_PITC_PIIR (*(volatile unsigned long*) 0xFFFFFD3C) /* (PITC) 536 - Period Interval Image Register */ 537 - #define AT91C_PITC_PIMR (*(volatile unsigned long*) 0xFFFFFD30) /* (PITC) 538 - Period Interval Mode Register */ 539 - 540 - /* PIO DEFINITIONS FOR AT91SAM9260 */ 541 - #define AT91C_PIO_PA0 (1 << 0) /* Pin Controlled by PA0 */ 542 - #define AT91C_PIO_PA1 (1 << 1) /* Pin Controlled by PA1 */ 543 - #define AT91C_PIO_PA10 (1 << 10) /* Pin Controlled by PA10 */ 544 - #define AT91C_PIO_PA11 (1 << 11) /* Pin Controlled by PA11 */ 545 - #define AT91C_PIO_PA12 (1 << 12) /* Pin Controlled by PA12 */ 546 - #define AT91C_PIO_PA13 (1 << 13) /* Pin Controlled by PA13 */ 547 - #define AT91C_PIO_PA14 (1 << 14) /* Pin Controlled by PA14 */ 548 - #define AT91C_PIO_PA15 (1 << 15) /* Pin Controlled by PA15 */ 549 - #define AT91C_PIO_PA16 (1 << 16) /* Pin Controlled by PA16 */ 550 - #define AT91C_PIO_PA17 (1 << 17) /* Pin Controlled by PA17 */ 551 - #define AT91C_PIO_PA18 (1 << 18) /* Pin Controlled by PA18 */ 552 - #define AT91C_PIO_PA19 (1 << 19) /* Pin Controlled by PA19 */ 553 - #define AT91C_PIO_PA2 (1 << 2) /* Pin Controlled by PA2 */ 554 - #define AT91C_PIO_PA20 (1 << 20) /* Pin Controlled by PA20 */ 555 - #define AT91C_PIO_PA21 (1 << 21) /* Pin Controlled by PA21 */ 556 - #define AT91C_PIO_PA22 (1 << 22) /* Pin Controlled by PA22 */ 557 - #define AT91C_PIO_PA23 (1 << 23) /* Pin Controlled by PA23 */ 558 - #define AT91C_PIO_PA24 (1 << 24) /* Pin Controlled by PA24 */ 559 - #define AT91C_PIO_PA25 (1 << 25) /* Pin Controlled by PA25 */ 560 - #define AT91C_PIO_PA26 (1 << 26) /* Pin Controlled by PA26 */ 561 - #define AT91C_PIO_PA27 (1 << 27) /* Pin Controlled by PA27 */ 562 - #define AT91C_PIO_PA28 (1 << 28) /* Pin Controlled by PA28 */ 563 - #define AT91C_PIO_PA29 (1 << 29) /* Pin Controlled by PA29 */ 564 - #define AT91C_PIO_PA3 (1 << 3) /* Pin Controlled by PA3 */ 565 - #define AT91C_PIO_PA30 (1 << 30) /* Pin Controlled by PA30 */ 566 - #define AT91C_PIO_PA31 (1 << 31) /* Pin Controlled by PA31 */ 567 - #define AT91C_PIO_PA4 (1 << 4) /* Pin Controlled by PA4 */ 568 - #define AT91C_PIO_PA5 (1 << 5) /* Pin Controlled by PA5 */ 569 - #define AT91C_PIO_PA6 (1 << 6) /* Pin Controlled by PA6 */ 570 - #define AT91C_PIO_PA7 (1 << 7) /* Pin Controlled by PA7 */ 571 - #define AT91C_PIO_PA8 (1 << 8) /* Pin Controlled by PA8 */ 572 - #define AT91C_PIO_PA9 (1 << 9) /* Pin Controlled by PA9 */ 573 - #define AT91C_PIO_PB0 (1 << 0) /* Pin Controlled by PB0 */ 574 - #define AT91C_PIO_PB1 (1 << 1) /* Pin Controlled by PB1 */ 575 - #define AT91C_PIO_PB10 (1 << 10) /* Pin Controlled by PB10 */ 576 - #define AT91C_PIO_PB11 (1 << 11) /* Pin Controlled by PB11 */ 577 - #define AT91C_PIO_PB12 (1 << 12) /* Pin Controlled by PB12 */ 578 - #define AT91C_PIO_PB13 (1 << 13) /* Pin Controlled by PB13 */ 579 - #define AT91C_PIO_PB14 (1 << 14) /* Pin Controlled by PB14 */ 580 - #define AT91C_PIO_PB15 (1 << 15) /* Pin Controlled by PB15 */ 581 - #define AT91C_PIO_PB16 (1 << 16) /* Pin Controlled by PB16 */ 582 - #define AT91C_PIO_PB17 (1 << 17) /* Pin Controlled by PB17 */ 583 - #define AT91C_PIO_PB18 (1 << 18) /* Pin Controlled by PB18 */ 584 - #define AT91C_PIO_PB19 (1 << 19) /* Pin Controlled by PB19 */ 585 - #define AT91C_PIO_PB2 (1 << 2) /* Pin Controlled by PB2 */ 586 - #define AT91C_PIO_PB20 (1 << 20) /* Pin Controlled by PB20 */ 587 - #define AT91C_PIO_PB21 (1 << 21) /* Pin Controlled by PB21 */ 588 - #define AT91C_PIO_PB22 (1 << 22) /* Pin Controlled by PB22 */ 589 - #define AT91C_PIO_PB23 (1 << 23) /* Pin Controlled by PB23 */ 590 - #define AT91C_PIO_PB24 (1 << 24) /* Pin Controlled by PB24 */ 591 - #define AT91C_PIO_PB25 (1 << 25) /* Pin Controlled by PB25 */ 592 - #define AT91C_PIO_PB26 (1 << 26) /* Pin Controlled by PB26 */ 593 - #define AT91C_PIO_PB27 (1 << 27) /* Pin Controlled by PB27 */ 594 - #define AT91C_PIO_PB28 (1 << 28) /* Pin Controlled by PB28 */ 595 - #define AT91C_PIO_PB29 (1 << 29) /* Pin Controlled by PB29 */ 596 - #define AT91C_PIO_PB3 (1 << 3) /* Pin Controlled by PB3 */ 597 - #define AT91C_PIO_PB30 (1 << 30) /* Pin Controlled by PB30 */ 598 - #define AT91C_PIO_PB31 (1 << 31) /* Pin Controlled by PB31 */ 599 - #define AT91C_PIO_PB4 (1 << 4) /* Pin Controlled by PB4 */ 600 - #define AT91C_PIO_PB5 (1 << 5) /* Pin Controlled by PB5 */ 601 - #define AT91C_PIO_PB6 (1 << 6) /* Pin Controlled by PB6 */ 602 - #define AT91C_PIO_PB7 (1 << 7) /* Pin Controlled by PB7 */ 603 - #define AT91C_PIO_PB8 (1 << 8) /* Pin Controlled by PB8 */ 604 - #define AT91C_PIO_PB9 (1 << 9) /* Pin Controlled by PB9 */ 605 - #define AT91C_PIO_PC0 (1 << 0) /* Pin Controlled by PC0 */ 606 - #define AT91C_PIO_PC1 (1 << 1) /* Pin Controlled by PC1 */ 607 - #define AT91C_PIO_PC10 (1 << 10) /* Pin Controlled by PC10 */ 608 - #define AT91C_PIO_PC11 (1 << 11) /* Pin Controlled by PC11 */ 609 - #define AT91C_PIO_PC12 (1 << 12) /* Pin Controlled by PC12 */ 610 - #define AT91C_PIO_PC13 (1 << 13) /* Pin Controlled by PC13 */ 611 - #define AT91C_PIO_PC14 (1 << 14) /* Pin Controlled by PC14 */ 612 - #define AT91C_PIO_PC15 (1 << 15) /* Pin Controlled by PC15 */ 613 - #define AT91C_PIO_PC16 (1 << 16) /* Pin Controlled by PC16 */ 614 - #define AT91C_PIO_PC17 (1 << 17) /* Pin Controlled by PC17 */ 615 - #define AT91C_PIO_PC18 (1 << 18) /* Pin Controlled by PC18 */ 616 - #define AT91C_PIO_PC19 (1 << 19) /* Pin Controlled by PC19 */ 617 - #define AT91C_PIO_PC2 (1 << 2) /* Pin Controlled by PC2 */ 618 - #define AT91C_PIO_PC20 (1 << 20) /* Pin Controlled by PC20 */ 619 - #define AT91C_PIO_PC21 (1 << 21) /* Pin Controlled by PC21 */ 620 - #define AT91C_PIO_PC22 (1 << 22) /* Pin Controlled by PC22 */ 621 - #define AT91C_PIO_PC23 (1 << 23) /* Pin Controlled by PC23 */ 622 - #define AT91C_PIO_PC24 (1 << 24) /* Pin Controlled by PC24 */ 623 - #define AT91C_PIO_PC25 (1 << 25) /* Pin Controlled by PC25 */ 624 - #define AT91C_PIO_PC26 (1 << 26) /* Pin Controlled by PC26 */ 625 - #define AT91C_PIO_PC27 (1 << 27) /* Pin Controlled by PC27 */ 626 - #define AT91C_PIO_PC28 (1 << 28) /* Pin Controlled by PC28 */ 627 - #define AT91C_PIO_PC29 (1 << 29) /* Pin Controlled by PC29 */ 628 - #define AT91C_PIO_PC3 (1 << 3) /* Pin Controlled by PC3 */ 629 - #define AT91C_PIO_PC30 (1 << 30) /* Pin Controlled by PC30 */ 630 - #define AT91C_PIO_PC31 (1 << 31) /* Pin Controlled by PC31 */ 631 - #define AT91C_PIO_PC4 (1 << 4) /* Pin Controlled by PC4 */ 632 - #define AT91C_PIO_PC5 (1 << 5) /* Pin Controlled by PC5 */ 633 - #define AT91C_PIO_PC6 (1 << 6) /* Pin Controlled by PC6 */ 634 - #define AT91C_PIO_PC7 (1 << 7) /* Pin Controlled by PC7 */ 635 - #define AT91C_PIO_PC8 (1 << 8) /* Pin Controlled by PC8 */ 636 - #define AT91C_PIO_PC9 (1 << 9) /* Pin Controlled by PC9 */ 637 - 638 - /* PERIPHERAL ID DEFINITIONS FOR AT91SAM9260 */ 639 - #define AT91C_ID_FIQ ( 0) /* Advanced Interrupt Controller (FIQ) */ 640 - #define AT91C_ID_SYS ( 1) /* System Controller */ 641 - #define AT91C_ID_PIOA ( 2) /* Parallel IO Controller A */ 642 - #define AT91C_ID_PIOB ( 3) /* Parallel IO Controller B */ 643 - #define AT91C_ID_PIOC ( 4) /* Parallel IO Controller C */ 644 - #define AT91C_ID_ADC ( 5) /* ADC */ 645 - #define AT91C_ID_US0 ( 6) /* USART 0 */ 646 - #define AT91C_ID_US1 ( 7) /* USART 1 */ 647 - #define AT91C_ID_US2 ( 8) /* USART 2 */ 648 - #define AT91C_ID_MCI ( 9) /* Multimedia Card Interface 0 */ 649 - #define AT91C_ID_UDP (10) /* USB Device Port */ 650 - #define AT91C_ID_TWI (11) /* Two-Wire Interface */ 651 - #define AT91C_ID_SPI0 (12) /* Serial Peripheral Interface 0 */ 652 - #define AT91C_ID_SPI1 (13) /* Serial Peripheral Interface 1 */ 653 - #define AT91C_ID_SSC0 (14) /* Serial Synchronous Controller 0 */ 654 - #define AT91C_ID_TC0 (17) /* Timer Counter 0 */ 655 - #define AT91C_ID_TC1 (18) /* Timer Counter 1 */ 656 - #define AT91C_ID_TC2 (19) /* Timer Counter 2 */ 657 - #define AT91C_ID_UHP (20) /* USB Host Port */ 658 - #define AT91C_ID_EMAC (21) /* Ethernet Mac */ 659 - #define AT91C_ID_HISI (22) /* Image Sensor Interface */ 660 - #define AT91C_ID_US3 (23) /* USART 3 */ 661 - #define AT91C_ID_US4 (24) /* USART 4 */ 662 - #define AT91C_ID_US5 (25) /* USART 5 */ 663 - #define AT91C_ID_TC3 (26) /* Timer Counter 3 */ 664 - #define AT91C_ID_TC4 (27) /* Timer Counter 4 */ 665 - #define AT91C_ID_TC5 (28) /* Timer Counter 5 */ 666 - #define AT91C_ID_IRQ0 (29) /* Advanced Interrupt Controller (IRQ0) */ 667 - #define AT91C_ID_IRQ1 (30) /* Advanced Interrupt Controller (IRQ1) */ 668 - #define AT91C_ID_IRQ2 (31) /* Advanced Interrupt Controller (IRQ2) */ 669 - #define AT91C_ALL_INT (0xFFFE7FFF) /* ALL VALID INTERRUPTS */ 670 - 671 - /* MEMORY MAPPING DEFINITIONS FOR AT91SAM9260 */ 672 - #define AT91C_IRAM_1 (0x00200000) /* Maximum IRAM_1 Area : 4Kbyte 673 - base address */ 674 - #define AT91C_IRAM_1_SIZE (0x00001000) /* Maximum IRAM_1 Area : 4Kbyte size 675 - in byte (4 Kbytes) */ 676 - #define AT91C_EBI_SDRAM_32BIT (0x20000000) /* SDRAM on EBI Chip Select 1 677 - base address */ 678 - #define AT91C_BASE_AIC 0xFFFFF000 /* (AIC) Base Address */ 679 - 680 - /* Timer frequency */ 681 - /* timer is based on PCLK and minimum division is 2 */ 682 - #define TIMER_FREQ (49156800/2)
-9
firmware/export/config.h
··· 79 79 #define JZ4732 4732 80 80 #define JZ4760B 47602 81 81 #define AS3525 3525 82 - #define AT91SAM9260 9260 83 82 #define AS3525v2 35252 84 83 #define IMX233 233 85 84 #define RK27XX 2700 ··· 122 121 #define ONDAVX767_PAD 32 123 122 #define SANSA_CLIP_PAD 35 124 123 #define SANSA_FUZE_PAD 36 125 - #define LYRE_PROTO1_PAD 37 126 124 #define SAMSUNG_YH820_PAD 38 127 125 #define ONDAVX777_PAD 39 128 - #define MINI2440_PAD 41 129 126 #define PHILIPS_HDD6330_PAD 42 130 127 #define PBELL_VIBE500_PAD 43 131 128 #define MPIO_HD200_PAD 44 ··· 246 243 #define LCD_ONDAVX767 30 /* as used by the Onda VX767 */ 247 244 #define LCD_SSD1303 31 /* as used by the Sansa Clip */ 248 245 #define LCD_FUZE 32 /* as used by the Sansa Fuze */ 249 - #define LCD_LYRE_PROTO1 33 /* as used by the Lyre prototype 1 */ 250 246 #define LCD_YH925 34 /* as used by Samsung YH-925 (similar to the H10 20GB) */ 251 247 #define LCD_VIEW 35 /* as used by the Sansa View */ 252 248 #define LCD_NANO2G 36 /* as used by the iPod Nano 2nd Generation */ 253 - #define LCD_MINI2440 37 /* as used by the Mini2440 */ 254 249 #define LCD_HDD6330 38 /* as used by the Philips HDD6330 */ 255 250 #define LCD_VIBE500 39 /* as used by the Packard Bell Vibe 500 */ 256 251 #define LCD_IPOD6GNANO3G4G 40 /* as used by the iPod Classic, Nano 3G and Nano 4G */ ··· 485 480 #include "config/sansaclipzip.h" 486 481 #elif defined(SANSA_C200V2) 487 482 #include "config/sansac200v2.h" 488 - #elif defined(LYRE_PROTO1) 489 - #include "config/lyreproto1.h" 490 - #elif defined(MINI2440) 491 - #include "config/mini2440.h" 492 483 #elif defined(SAMSUNG_YH820) 493 484 #include "config/samsungyh820.h" 494 485 #elif defined(SAMSUNG_YH920)
-102
firmware/export/config/lyreproto1.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* 23 - * This config file is for the Lyre prototype 1. 24 - */ 25 - 26 - #define CONFIG_SDRAM_START 0x20000000 27 - 28 - /* For Rolo and boot loader */ 29 - #define MODEL_NUMBER 130 30 - 31 - /* define this if the flash memory uses the 32 - * SecureDigital Memory Card protocol */ 33 - #define CONFIG_STORAGE STORAGE_SD 34 - #define HAVE_FLASH_STORAGE 35 - 36 - 37 - 38 - 39 - /* define this if you have a colour LCD */ 40 - #define HAVE_LCD_COLOR 41 - 42 - #define CONFIG_LCD LCD_LYRE_PROTO1 43 - 44 - /* LCD dimensions */ 45 - #define LCD_WIDTH 128 46 - #define LCD_HEIGHT 128 47 - /* sqrt(128^2 + 128^2) / 1.8 = 100.6 */ 48 - #define LCD_DPI 101 49 - /* The LCD used is just rgb444, 64 colours. We do a bit conversion on LCD 50 - * drivers. */ 51 - #define LCD_DEPTH 16 /* 65536 colours */ 52 - #define LCD_PIXELFORMAT RGB565 /* rgb565 */ 53 - 54 - #define HAVE_ALBUMART 55 - 56 - /* define this to enable bitmap scaling */ 57 - #define HAVE_BMP_SCALING 58 - 59 - /* define this to enable JPEG decoding */ 60 - #define HAVE_JPEG 61 - 62 - #define CONFIG_KEYPAD LYRE_PROTO1_PAD 63 - 64 - 65 - 66 - 67 - /* The number of bytes reserved for loadable codecs */ 68 - #define CODEC_SIZE 0x100000 69 - 70 - /* The number of bytes reserved for loadable plugins */ 71 - #define PLUGIN_BUFFER_SIZE 0x100000 72 - 73 - /* Lyre prototype 1 do not use I2C, just SPI */ 74 - #define CONFIG_I2C I2C_NONE 75 - 76 - /* Define this if you have the TLV320 audio codec -> controlled by the DSP */ 77 - #define HAVE_TLV320 78 - 79 - /* TLV320 has no tone controls, so we use the software ones */ 80 - #define HAVE_SW_TONE_CONTROLS 81 - 82 - #define BATTERY_CAPACITY_DEFAULT 1100 /* default battery capacity */ 83 - #define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ 84 - #define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */ 85 - #define BATTERY_CAPACITY_INC 100 /* capacity increment */ 86 - 87 - 88 - #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE 89 - 90 - #define CONFIG_CPU AT91SAM9260 91 - 92 - /* Define this to the CPU frequency */ 93 - #define CPU_FREQ 198656000 94 - #define MCK_FREQ 99328000 95 - #define SLOW_CLOCK 32768 96 - 97 - #define BOOTFILE_EXT "lyre_proto1" 98 - #define BOOTFILE "rockbox." BOOTFILE_EXT 99 - #define BOOTDIR "/.rockbox" 100 - 101 - /* Define this if a programmable hotkey is mapped */ 102 - //#define HAVE_HOTKEY
-154
firmware/export/config/mini2440.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * Copyright (C) 2009 by Bob Cousins, Lyre Project 10 - * Copyright (C) 2009 by Jorge Pinto, Lyre Project 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* 23 - * This config file is for the Mini2440 24 - */ 25 - 26 - /* For Rolo and boot loader */ 27 - #define MODEL_NUMBER 131 28 - #define MODEL_NAME "Mini2440" 29 - 30 - /***************************************************************************/ 31 - /* Hardware Config */ 32 - 33 - /* TODO: ??? */ 34 - #define CONFIG_SDRAM_START 0x30000000 35 - 36 - /* Flash storage */ 37 - #define HAVE_FLASH_STORAGE 38 - /* define the storage type */ 39 - #define CONFIG_STORAGE STORAGE_SD 40 - 41 - #define HAVE_MULTIVOLUME 42 - #define HAVE_HOTSWAP 43 - #define HAVE_HOTSWAP_STORAGE_AS_MAIN 44 - #define INCLUDE_TIMEOUT_API 45 - 46 - /* Disk storage */ 47 - /* define this if you have a disk storage, i.e. something 48 - that needs spinups and can cause skips when shaked */ 49 - /* #define HAVE_DISK_STORAGE */ 50 - 51 - /* Display */ 52 - 53 - 54 - /* define this if you have a colour LCD */ 55 - #define HAVE_LCD_COLOR 56 - /* The LCD is assumed to be 3.5" TFT touch screen, others are possible */ 57 - #define CONFIG_LCD LCD_MINI2440 58 - /* LCD dimensions */ 59 - #define LCD_WIDTH 240 60 - #define LCD_HEIGHT 320 61 - /* sqrt(240^2 + 320^2) / 3.5 = 114.3 */ 62 - #define LCD_DPI 114 63 - #define LCD_DPI 114 /* 400 pixels diagonally / 3.5 inch */ 64 - /* The LCD is configured for RGB565 */ 65 - #define LCD_DEPTH 16 /* 65536 colours */ 66 - #define LCD_PIXELFORMAT RGB565 /* rgb565 */ 67 - /* Define this for LCD backlight available */ 68 - /* The Mini2440 supports backlight brightness depending on LCD type */ 69 - /* But the 3.5" LCD touch screen does not support brightness*/ 70 - #define HAVE_BACKLIGHT 71 - #define HAVE_BACKLIGHT_BRIGHTNESS 72 - /* Main LCD backlight brightness range and defaults */ 73 - #define MIN_BRIGHTNESS_SETTING 1 /* 0.5 mA */ 74 - #define MAX_BRIGHTNESS_SETTING 12 /* 32 mA */ 75 - #define DEFAULT_BRIGHTNESS_SETTING 10 /* 16 mA */ 76 - 77 - /* Keypad */ 78 - #define CONFIG_KEYPAD MINI2440_PAD 79 - #define HAVE_TOUCHSCREEN 80 - #define HAVE_BUTTON_DATA 81 - 82 - /* I2C */ 83 - /* We do not use currently use hardware I2C, but does not build without */ 84 - #define CONFIG_I2C I2C_S3C2440 85 - 86 - /* Define DAC/Codec */ 87 - #define HAVE_UDA1341 88 - 89 - #define HW_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11) 90 - 91 - /* Battery */ 92 - #define BATTERY_CAPACITY_DEFAULT 1100 /* default battery capacity */ 93 - #define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */ 94 - #define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */ 95 - #define BATTERY_CAPACITY_INC 100 /* capacity increment */ 96 - 97 - 98 - #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE 99 - 100 - 101 - 102 - /***************************************************************************/ 103 - /* Application Config */ 104 - 105 - #define HAVE_ALBUMART 106 - /* define this to enable bitmap scaling */ 107 - #define HAVE_BMP_SCALING 108 - /* define this to enable JPEG decoding */ 109 - #define HAVE_JPEG 110 - 111 - #define HAVE_QUICKSCREEN 112 - 113 - /* define this if you have a real-time clock */ 114 - #define CONFIG_RTC RTC_S3C2440 115 - 116 - 117 - 118 - 119 - /* The number of bytes reserved for loadable codecs */ 120 - #define CODEC_SIZE 0x100000 121 - 122 - /* The number of bytes reserved for loadable plugins */ 123 - #define PLUGIN_BUFFER_SIZE 0x100000 124 - 125 - #define CONFIG_CPU S3C2440 126 - 127 - /* Define this to the CPU frequency */ 128 - #define CPU_FREQ 406000000 129 - #define MCK_FREQ (CPU_FREQ/4) 130 - #define SLOW_CLOCK 32768 131 - 132 - 133 - /* Define this if your LCD can set contrast */ 134 - #define HAVE_LCD_CONTRAST 135 - #define MIN_CONTRAST_SETTING 0 136 - #define MAX_CONTRAST_SETTING 63 137 - #define DEFAULT_CONTRAST_SETTING 47 /* Match boot contrast */ 138 - 139 - /* USB */ 140 - /* TODO:#define HAVE_USBSTACK */ 141 - #define USB_NONE 142 - 143 - #define HAVE_SERIAL 144 - 145 - /* Hardware controlled charging with monitoring */ 146 - #define CONFIG_CHARGING CHARGING_MONITOR 147 - /*#define POWER_INPUT_BATTERY 0*/ 148 - 149 - #define BOOTFILE_EXT "mini2440" 150 - #define BOOTFILE "rockbox." BOOTFILE_EXT 151 - #define BOOTDIR "/.rockbox" 152 - 153 - /* Define this if a programmable hotkey is mapped */ 154 - #define HAVE_HOTKEY
-81
firmware/target/arm/at91sam/boot.lds
··· 1 - OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 2 - OUTPUT_ARCH(arm) 3 - ENTRY(reset_handler) 4 - STARTUP(target/arm/at91sam/lyre_proto1/crt0.o) 5 - 6 - #define DRAMSIZE (MEMORYSIZE * 0x100000) 7 - #define DRAMORIG 0x20000000 8 - #define IRAM0ORIG 0x200000 9 - #define IRAM0SIZE 4K 10 - #define IRAM1ORIG 0x300000 11 - #define IRAM1SIZE 4K 12 - #define STACKSIZE 2k 13 - 14 - MEMORY 15 - { 16 - DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE 17 - IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE 18 - } 19 - 20 - SECTIONS 21 - { 22 - /* We will put Rockbox bootloader at the last 1MByte of the SDRAM. */ 23 - 24 - /* Example of a section: 25 - * .section VMA(Virtual Memory Address) : LMA(Load Memory Address). 26 - * VMA and LMA addresses can be verified by doing: 27 - * "arm-elf-objdump -h bootloader.elf". */ 28 - 29 - .vectors 0 : AT (DRAMORIG + DRAMSIZE - 1M) 30 - { 31 - _start_vectors_section = .; 32 - KEEP(*(.vectors)) 33 - *(.glue_7) 34 - *(.glue_7t) 35 - . = ALIGN(4); 36 - _end_vectors_section = .; 37 - } 38 - 39 - .text (DRAMORIG + DRAMSIZE -1M + SIZEOF(.vectors)) : \ 40 - AT (DRAMORIG + DRAMSIZE -1M + SIZEOF(.vectors)) 41 - { 42 - *(.text) 43 - *(.text*) 44 - *(.icode) 45 - *(.icode*) 46 - *(.rodata) 47 - *(.rodata*) 48 - . = ALIGN(4); 49 - } 50 - 51 - /* Initialized variables are placed on SDRAM, right after .vectors section. */ 52 - /* Data section: VMA is the same as the LMA, right after the end of .vector */ 53 - .data . : 54 - { 55 - *(.data) 56 - *(.data*) 57 - . = ALIGN(4); 58 - _end_data_section = .; 59 - } 60 - 61 - /* Uninitialized variables are placed at SDRAM, right after .text section. */ 62 - .bss (NOLOAD) : 63 - 64 - { 65 - _start_bss_section = .; 66 - *(.bss) /* Bss section contains all uninitialized data generated by the compiler. */ 67 - *(.bss*) 68 - *(COMMON) 69 - . = ALIGN(4); 70 - _end_bss_section = .; 71 - } 72 - 73 - /* Stack is placed at SDRAM, right after .bss section. */ 74 - .stack . : 75 - { 76 - *(.stack) 77 - stackbegin = .; 78 - . += STACKSIZE; 79 - stackend = .; 80 - } 81 - }
-33
firmware/target/arm/at91sam/lyre_proto1/adc-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "adc.h" 23 - 24 - void adc_init(void) 25 - { 26 - } 27 - 28 - /* Called to get the recent ADC reading */ 29 - inline unsigned short adc_read(int channel) 30 - { 31 - (void)channel; 32 - return 0; 33 - }
firmware/target/arm/at91sam/lyre_proto1/adc-target.h

This is a binary file and will not be displayed.

-45
firmware/target/arm/at91sam/lyre_proto1/backlight-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - void backlight_hw_brightness(int brightness) 23 - { 24 - (void)brightness; 25 - } 26 - 27 - void backlight_hw_on(void) 28 - { 29 - 30 - } 31 - 32 - void backlight_hw_off(void) 33 - { 34 - 35 - } 36 - 37 - void buttonlight_hw_on(void) 38 - { 39 - 40 - } 41 - 42 - void buttonlight_hw_off(void) 43 - { 44 - 45 - }
-26
firmware/target/arm/at91sam/lyre_proto1/backlight-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #ifndef BACKLIGHT_TARGET_H 23 - #define BACKLIGHT_TARGET_H 24 - 25 - 26 - #endif
-99
firmware/target/arm/at91sam/lyre_proto1/button-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "at91sam9260.h" 23 - #include "button.h" 24 - 25 - #define BUTTON_01 AT91C_PIO_PB4 26 - #define BUTTON_02 AT91C_PIO_PB5 27 - #define BUTTON_03 AT91C_PIO_PB27 28 - #define BUTTON_04 AT91C_PIO_PB26 29 - #define BUTTON_05 AT91C_PIO_PB25 30 - #define BUTTON_06 AT91C_PIO_PB24 31 - #define BUTTON_07 AT91C_PIO_PB22 32 - #define BUTTON_08 AT91C_PIO_PB23 33 - 34 - void button_init_device(void) 35 - { 36 - /* Enable the periph clock for the PIO controller */ 37 - /* This is mandatory when PIO are configured as input */ 38 - AT91C_PMC_PCER = (1 << AT91C_ID_PIOB); 39 - 40 - /* Set the PIO line in input */ 41 - AT91C_PIOB_ODR = (BUTTON_01 | 42 - BUTTON_02 | 43 - BUTTON_03 | 44 - BUTTON_04 | 45 - BUTTON_05 | 46 - BUTTON_06 | 47 - BUTTON_07 | 48 - BUTTON_08); 49 - 50 - /* Set the PIO controller in PIO mode instead of peripheral mode */ 51 - AT91C_PIOB_PER = (BUTTON_01 | 52 - BUTTON_02 | 53 - BUTTON_03 | 54 - BUTTON_04 | 55 - BUTTON_05 | 56 - BUTTON_06 | 57 - BUTTON_07 | 58 - BUTTON_08); 59 - } 60 - 61 - bool button_hold(void) 62 - { 63 - return (0); 64 - } 65 - 66 - /* 67 - * Get button pressed from hardware 68 - */ 69 - int button_read_device(void) 70 - { 71 - uint32_t buttons = AT91C_PIOB_PDSR; 72 - uint32_t ret = 0; 73 - 74 - if ((buttons & BUTTON_01) == 0) 75 - ret |= BUTTON_UP; 76 - 77 - if ((buttons & BUTTON_02) == 0) 78 - ret |= BUTTON_RIGHT; 79 - 80 - if ((buttons & BUTTON_03) == 0) 81 - ret |= BUTTON_PLAY; 82 - 83 - if ((buttons & BUTTON_04) == 0) 84 - ret |= BUTTON_SELECT; 85 - 86 - if ((buttons & BUTTON_05) == 0) 87 - ret |= BUTTON_LEFT; 88 - 89 - if ((buttons & BUTTON_06) == 0) 90 - ret |= BUTTON_DOWN; 91 - 92 - if ((buttons & BUTTON_07) == 0) 93 - ret |= BUTTON_STOP; 94 - 95 - if ((buttons & BUTTON_08) == 0) 96 - ret |= BUTTON_MENU; 97 - 98 - return ret; 99 - }
-39
firmware/target/arm/at91sam/lyre_proto1/button-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #ifndef _BUTTON_TARGET_H_ 23 - #define _BUTTON_TARGET_H_ 24 - 25 - #define BUTTON_SELECT 0x00000001 26 - #define BUTTON_MENU 0x00000002 27 - #define BUTTON_PLAY 0x00000004 28 - #define BUTTON_STOP 0x00000008 29 - 30 - #define BUTTON_LEFT 0x00000010 31 - #define BUTTON_RIGHT 0x00000020 32 - #define BUTTON_UP 0x00000040 33 - #define BUTTON_DOWN 0x00000080 34 - 35 - #define BUTTON_MAIN (BUTTON_UP|BUTTON_DOWN|BUTTON_RIGHT|BUTTON_LEFT \ 36 - |BUTTON_SELECT|BUTTON_MENU|BUTTON_PLAY \ 37 - |BUTTON_STOP) 38 - 39 - #endif /* _BUTTON_TARGET_H_ */
-286
firmware/target/arm/at91sam/lyre_proto1/crt0.S
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "at91sam9260.h" 23 - 24 - #define DRAMORIG AT91C_EBI_SDRAM_32BIT 25 - #define DRAMSIZE (MEMORYSIZE * 0x100000) 26 - #define IRAM0ORIG AT91C_IRAM_1 27 - #define IRAM0SIZE AT91C_IRAM_1_SIZE 28 - #define TOP_OF_MEMORY (IRAM0ORIG + IRAM0SIZE) 29 - #define ABT_STACK_SIZE 8*3*4 30 - #define IRQ_STACK_SIZE 8*3*4 31 - 32 - #define ARM_MODE_ABT 0x17 33 - #define ARM_MODE_FIQ 0x11 34 - #define ARM_MODE_IRQ 0x12 35 - #define ARM_MODE_SVC 0x13 36 - #define ARM_MODE_UND 0x1b 37 - #define ARM_MODE_SYS 0x1f 38 - 39 - #define I_BIT 0x80 40 - #define F_BIT 0x40 41 - 42 - 43 - /* Application startup entry point */ 44 - .globl reset_handler 45 - 46 - .align 4 47 - 48 - .section .vectors 49 - .arm 50 - 51 - 52 - /* Exception vectors (should be a branch to be detected as a valid code 53 - * by the rom) */ 54 - _exception_vectors: 55 - reset_vector: 56 - ldr pc, =reset_handler 57 - undef_vector: 58 - b undef_vector /* Undefined Instruction */ 59 - swi_vector: 60 - b swi_vector /* Software Interrupt */ 61 - pabt_vector: 62 - ldr pc, =pabt_handler /* Prefetch Abort */ 63 - dabt_vector: 64 - ldr pc, =dabt_handler /* Data Abort */ 65 - rsvd_vector: 66 - b rsvd_vector /* reserved */ 67 - irq_vector: 68 - b irq_handler /* IRQ : read the AIC */ 69 - fiq_vector: 70 - /*----------------------------------------------------------------------------- 71 - *- Function : fiq_handler 72 - *- Treatments : FIQ (Fast Interrupt) Interrupt Handler. 73 - *- Called Functions : 74 - *---------------------------------------------------------------------------*/ 75 - fiq_handler: 76 - pabt_handler: 77 - dabt_handler: 78 - b fiq_handler 79 - 80 - /*----------------------------------------------------------------------------- 81 - *- Function : irq_handler 82 - *- Treatments : IRQ Controller Interrupt Handler. 83 - *- Called Functions : AIC_IVR[interrupt] 84 - *---------------------------------------------------------------------------*/ 85 - irq_handler: 86 - /*- Manage Exception Entry */ 87 - /*- Adjust and save LR_irq in IRQ stack - (LR - Link Register) */ 88 - sub lr, lr, #4 89 - stmfd sp!, {lr} 90 - /*- Save r0 and SPSR (Saved Program Status Register) in IRQ stack */ 91 - mrs r14, SPSR 92 - stmfd sp!, {r0,r14} 93 - 94 - /*- Write in the IVR (Interrupt Vector Register) to support Protect Mode */ 95 - /*- No effect in Normal Mode */ 96 - /*- De-assert the NIRQ and clear the source in Protect Mode */ 97 - ldr r14, =AT91C_BASE_AIC 98 - ldr r0 , [r14, #AIC_IVR] 99 - str r14, [r14, #AIC_IVR] 100 - 101 - /*- Enable Interrupt and Switch in Supervisor Mode */ 102 - msr CPSR_c, #ARM_MODE_SVC 103 - 104 - /*- Save scratch/used registers and LR in User Stack */ 105 - stmfd sp!, {r1-r3, r12, r14} 106 - 107 - /*- Branch to the routine pointed by the AIC_IVR */ 108 - mov r14, pc 109 - bx r0 110 - 111 - /*- Restore scratch/used registers and LR from User Stack */ 112 - ldmia sp!, {r1-r3, r12, r14} 113 - 114 - /*- Disable Interrupt and switch back in IRQ mode */ 115 - msr CPSR_c, #ARM_MODE_IRQ | I_BIT 116 - 117 - /*- Mark the End of Interrupt on the AIC */ 118 - ldr r14, =AT91C_BASE_AIC 119 - str r14, [r14, #AIC_EOICR] 120 - 121 - /*- Restore SPSR_irq and r0 from IRQ stack */ 122 - ldmia sp!, {r0,r14} 123 - msr SPSR_cxsf, r14 124 - 125 - /*- Restore adjusted LR_irq from IRQ stack directly in the PC */ 126 - ldmia sp!, {pc}^ 127 - 128 - /*----------------------------------------------------------------------------- 129 - *- Function : reset_handler 130 - *- Treatments : Reset Interrupt Handler. 131 - *- Called Functions : lowlevel_init 132 - * main 133 - *---------------------------------------------------------------------------*/ 134 - .section .text 135 - reset_handler: 136 - /*----------------------------------------------------------------------------- 137 - *- Low level Init is performed in a C function: lowlevel_init 138 - *- Init Stack Pointer to a valid memory area before calling lowlevel_init 139 - * 140 - * Put Stack Pointer on end of IRAM 1 and branches to lowlevel_init function. 141 - *---------------------------------------------------------------------------*/ 142 - /*- Temporary stack in internal RAM for Low Level Init execution */ 143 - _low_level_init: 144 - ldr r2, =_litteral_pool_lowlevel_init /* Load r2 with the address of 145 - * _litteral_pool_lowlevel_init 146 - */ 147 - ldmia r2, {r0, r1} /* r0 = lowlevel_init and r1 = TOP_OF_MEMORY */ 148 - mov sp, r1 /* sp (Stack Pointer) = TOP_OF_MEMORY (end of IRAM 1) */ 149 - mov lr, pc /* lr (Link register) = pc (Program Counter) */ 150 - bx r0 /* Branch on C function (interworking) -- branch to 151 - * lowlevel_init 152 - */ 153 - 154 - /*----------------------------------------------------------------------------- 155 - *- Setup the stack for each mode 156 - * 157 - * Executes this code after returning from lowlevel_init fucntion. 158 - * Configures Abort Mode Stack + Interrupt Mode Stack + Supervisor Mode Stack, 159 - * reserves 3 blocks, one for each mode and they start at end of IRAM 1. 160 - *---------------------------------------------------------------------------*/ 161 - _stack_init: 162 - ldr r2, =_litteral_pool_stack_init 163 - ldmia r2, {r0, r1, r2} /* r0 = TOP_OF_MEMORY (end of IRAM 1); 164 - * r1 = ABT_STACK_SIZE; 165 - * r2 = IRQ_STACK_SIZE 166 - */ 167 - 168 - /*- Set up Interrupt Mode and set IRQ Mode Stack */ 169 - msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT /* Enter in Mode Interrupt 170 - * and disable IRQ (Interrupt) and FIQ (Fast Interrupt) 171 - */ 172 - 173 - mov sp, r0 /* sp (Interrupt Mode Stack Pointer) = 174 - * TOP_OF_MEMORY (end of IRAM 1) 175 - */ 176 - 177 - /*- Set up Abort Mode and set ABT Mode Stack */ 178 - msr CPSR_c, #ARM_MODE_ABT | I_BIT | F_BIT /* Enter in Mode Abort 179 - * and disable IRQ (Interrupt) and FIQ (Fast Interrupt) 180 - */ 181 - 182 - mov sp, r0 /* sp (ABT Mode Stack Pointer) = TOP_OF_MEMORY 183 - * (end of IRAM 1) 184 - */ 185 - 186 - /*- Set up Abort Mode and set ABT Mode Stack */ 187 - msr CPSR_c, #ARM_MODE_UND | I_BIT | F_BIT /* Enter in Mode Undefined 188 - * and disable IRQ (Interrupt) and FIQ (Fast Interrupt) 189 - */ 190 - 191 - mov sp, r0 /* sp (ABT Mode Stack Pointer) = TOP_OF_MEMORY 192 - * (end of IRAM 1) 193 - */ 194 - 195 - /*- Set up Supervisor Mode and set Supervisor Mode Stack */ 196 - msr CPSR_c, #ARM_MODE_SVC | I_BIT | F_BIT 197 - mov sp, r0 198 - 199 - sub r0, r0, r2 /* Put on r0 the new address for next 200 - * Stack (Sys Mode) 201 - */ 202 - 203 - /*- Set up Sys Mode and set Sys Mode Stack */ 204 - msr CPSR_c, #ARM_MODE_SYS | F_BIT /* Enter in Sys Mode 205 - * and enable IRQ (Interrupt) and disable FIQ (Fast Interrupt) 206 - */ 207 - mov sp, r0 208 - 209 - /*----------------------------------------------------------------------------- 210 - *- Segments initialization 211 - *---------------------------------------------------------------------------*/ 212 - /* Copy the vectors section code from the LMA address to the LVA address */ 213 - _init_vectors: 214 - ldr r1, =_litteral_pool_vectors /* Load r1 with the address of 215 - * _litteral_pool_vectors 216 - */ 217 - ldmia r1, {r2, r3, r4} /* r2 = DRAMORIG; r3 = _start_vectors_section; 218 - * r4 = _end_vectors_section; 219 - */ 220 - 1: 221 - cmp r3, r4 /* Compare r3 with r4 (r3 - r4) */ 222 - ldrcc r5, [r2], #4 /* if (_start_vectors_section < _end_vectors_section) 223 - * { r5 = [r2]; r2 = r2 + 4; } 224 - */ 225 - strcc r5, [r3], #4 /* if (_start_vectors_section < _end_vectors_section) 226 - * { [r3] = r5; r3 = r3 + 4; } 227 - */ 228 - bcc 1b /* loop while (_start_vectors_section < _end_vectors_section) */ 229 - 230 - /* Clear the bss segment */ 231 - _init_bss: 232 - ldr r2, =_litteral_pool_bss 233 - ldmia r2, {r3, r4} /* r3 = _start_bss_section; r4 = _end_bss_section */ 234 - mov r2, #0 /* r2 = 0 */ 235 - 1: 236 - cmp r3, r4 /* Compare --> (_start_bss_section - _end_bss_section) */ 237 - strcc r2, [r3], #4 /* if (_start_bss_section < _end_bss_section) { 238 - * [r3] = 0; r3 = r3 + 4; } 239 - */ 240 - bcc 1b /* loop while _start_bss_section < _end_bss_section */ 241 - 242 - /* Set up some stack and munge it with 0xdeadbeef */ 243 - ldr sp, =stackend 244 - mov r3, sp 245 - ldr r2, =stackbegin 246 - ldr r4, =0xdeadbeef 247 - 248 - stackmunge: 249 - cmp r3, r2 250 - strhi r4, [r2], #4 251 - bhi stackmunge 252 - 253 - /*----------------------------------------------------------------------------- 254 - *- Branch to the main 255 - *---------------------------------------------------------------------------*/ 256 - _branch_main: 257 - ldr r0, =main 258 - mov lr, pc 259 - bx r0 260 - 261 - /*----------------------------------------------------------------------------- 262 - *- Litteral pools 263 - *---------------------------------------------------------------------------*/ 264 - _litteral_pool_lowlevel_init: 265 - .word lowlevel_init 266 - .word TOP_OF_MEMORY /* Default SVC stack after power up */ 267 - 268 - _litteral_pool_stack_init: 269 - .word TOP_OF_MEMORY /* Top of the stack */ 270 - .word ABT_STACK_SIZE /* ABT stack size */ 271 - .word IRQ_STACK_SIZE /* IRQ stack size */ 272 - 273 - _litteral_pool_bss: 274 - .word _start_bss_section 275 - .word _end_bss_section 276 - 277 - _litteral_pool_vectors: 278 - #if defined(BOOTLOADER) 279 - .word (DRAMORIG + DRAMSIZE - 0x100000) /* LMA address of vectors are at 280 - * end of DRAM minus 1MByte 281 - */ 282 - #else 283 - .word DRAMORIG /* LMA address of vectors are at DRAMORIG */ 284 - #endif 285 - .word _start_vectors_section 286 - .word _end_vectors_section
-33
firmware/target/arm/at91sam/lyre_proto1/debug-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include <stdbool.h> 23 - #include "system.h" 24 - 25 - bool dbg_ports(void) 26 - { 27 - return false; 28 - } 29 - 30 - bool dbg_hw_info(void) 31 - { 32 - return false; 33 - }
-78
firmware/target/arm/at91sam/lyre_proto1/kernel-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "config.h" 23 - #include "system.h" 24 - #include "kernel.h" 25 - #include "timer.h" 26 - #include "thread.h" 27 - #include "at91sam9260.h" 28 - 29 - /*----------------------------------------------------------------------------- 30 - * Function Name : pitc_handler 31 - * Object : Handler for PITC interrupt 32 - *---------------------------------------------------------------------------*/ 33 - void pitc_handler(void) 34 - { 35 - unsigned long pivr = 0; 36 - unsigned long pisr = 0; 37 - 38 - /* Read the PISR */ 39 - pisr = AT91C_PITC_PISR & AT91C_PITC_PITS; 40 - 41 - /* Read the PIVR. It acknowledges the IT */ 42 - pivr = AT91C_PITC_PIVR; 43 - 44 - /* Run through the list of tick tasks */ 45 - call_tick_tasks(); 46 - } 47 - 48 - void tick_start(unsigned int interval_in_ms) 49 - { 50 - volatile unsigned long pimr = 0; 51 - 52 - /* Configure a resolution of 1 ms */ 53 - AT91C_PITC_PIMR = MCK_FREQ / (((16 * 1000) - 1) / interval_in_ms); 54 - 55 - /* Enable interrupts */ 56 - /* Disable the interrupt on the interrupt controller */ 57 - AT91C_AIC_IDCR = (1 << AT91C_ID_SYS); 58 - 59 - /* Save the interrupt handler routine pointer and the interrupt priority */ 60 - AT91C_AIC_SVR(AT91C_ID_SYS) = (unsigned long) pitc_handler; 61 - 62 - /* Store the Source Mode Register */ 63 - AT91C_AIC_SMR(AT91C_ID_SYS) = AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE | \ 64 - AT91C_AIC_PRIOR_LOWEST; 65 - /* Clear the interrupt on the interrupt controller */ 66 - AT91C_AIC_ICCR = (1 << AT91C_ID_SYS); 67 - 68 - /* Enable the interrupt on the interrupt controller */ 69 - AT91C_AIC_IECR = (1 << AT91C_ID_SYS); 70 - 71 - /* Enable the interrupt on the pit */ 72 - pimr = AT91C_PITC_PIMR; 73 - AT91C_PITC_PIMR = pimr | AT91C_PITC_PITIEN; 74 - 75 - /* Enable the pit */ 76 - pimr = AT91C_PITC_PIMR; 77 - AT91C_PITC_PIMR = pimr | AT91C_PITC_PITEN; 78 - }
-29
firmware/target/arm/at91sam/lyre_proto1/lcd-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "lcd.h" 23 - 24 - /* Update the display. 25 - This must be called after all other LCD functions that change the display */ 26 - void lcd_update(void) 27 - { 28 - 29 - }
firmware/target/arm/at91sam/lyre_proto1/lcd-target.h

This is a binary file and will not be displayed.

-149
firmware/target/arm/at91sam/lyre_proto1/system-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - /* Include Standard files */ 23 - #include "at91sam9260.h" 24 - #include "config.h" 25 - 26 - /*----------------------------------------------------------------------------- 27 - * Function Name : default_spurious_handler 28 - * Object : default handler for spurious interrupt 29 - *---------------------------------------------------------------------------*/ 30 - void default_spurious_handler(void) 31 - { 32 - while (1); 33 - } 34 - 35 - /*----------------------------------------------------------------------------- 36 - * Function Name : default_fiq_handler 37 - * Object : default handler for fast interrupt 38 - *---------------------------------------------------------------------------*/ 39 - void default_fiq_handler(void) 40 - { 41 - while (1); 42 - } 43 - 44 - /*----------------------------------------------------------------------------- 45 - * Function Name : default_irq_handler 46 - * Object : default handler for irq 47 - *---------------------------------------------------------------------------*/ 48 - void default_irq_handler(void) 49 - { 50 - #if defined(BOOTLOADER) 51 - while (1); 52 - #endif 53 - } 54 - 55 - /*----------------------------------------------------------------------------- 56 - * Function Name : lowlevel_init 57 - * Object : This function performs very low level HW initialization 58 - * this function can use a Stack, depending the compilation 59 - * optimization mode 60 - *---------------------------------------------------------------------------*/ 61 - void lowlevel_init(void) 62 - { 63 - unsigned char i = 0; 64 - 65 - /* void default_fiq_handler(void) 66 - * Init PMC Step 1. Enable Main Oscillator 67 - * Main Oscillator startup time is board specific: 68 - * Main Oscillator Startup Time worst case (3MHz) corresponds to 15ms 69 - * (0x40 for AT91C_CKGR_OSCOUNT field) 70 - */ 71 - AT91C_PMC_MOR = (((AT91C_CKGR_OSCOUNT & (0x40 << 8)) | AT91C_CKGR_MOSCEN)); 72 - /* Wait Main Oscillator stabilization */ 73 - while (!(AT91C_PMC_SR & AT91C_PMC_MOSCS)); 74 - 75 - /* Init PMC Step 2. 76 - * Set PLLA to 198,608MHz 77 - * PLL Startup time depends on PLL RC filter: worst case is choosen. 78 - * 79 - * Crystal frequency = 18.432MHz; PLLA = (18.432 * 96) / 9 = 198,608MHz. 80 - */ 81 - 82 - AT91C_PMC_PLLAR = (1 << 29) | 83 - (0x60 << 16) | /* MULA = 96 */ 84 - (0x2 << 14) | 85 - (0x3f << 8) | 86 - (0x09); /* DIVA = 9 */ 87 - 88 - /* Wait for PLLA stabilization */ 89 - while (!(AT91C_PMC_SR & AT91C_PMC_LOCKA)); 90 - /* Wait until the master clock is established for the case we already */ 91 - /* turn on the PLLA */ 92 - while (!(AT91C_PMC_SR & AT91C_PMC_MCKRDY)); 93 - 94 - /* Init PMC Step 3. 95 - * Processor Clock = 198,608MHz (PLLA); Master clock = 96 - * (198,608MHz (PLLA))/2 = 98,304MHz. 97 - * The PMC_MCKR register must not be programmed in a single write operation 98 - * (see. Product Errata Sheet) 99 - */ 100 - AT91C_PMC_MCKR = AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2; 101 - /* Wait until the master clock is established */ 102 - while (!(AT91C_PMC_SR & AT91C_PMC_MCKRDY)); 103 - 104 - AT91C_PMC_MCKR |= AT91C_PMC_CSS_PLLA_CLK; 105 - /* Wait until the master clock is established */ 106 - while (!(AT91C_PMC_SR & AT91C_PMC_MCKRDY)); 107 - 108 - /* Reset AIC: assign default handler for each interrupt source 109 - */ 110 - 111 - /* Disable the interrupt on the interrupt controller */ 112 - AT91C_AIC_IDCR = (1 << AT91C_ID_SYS); 113 - 114 - /* Assign default handler for each IRQ source */ 115 - AT91C_AIC_SVR(AT91C_ID_FIQ) = (int) default_fiq_handler; 116 - for (i = 1; i < 31; i++) 117 - { 118 - AT91C_AIC_SVR(i) = (int) default_irq_handler; 119 - } 120 - AT91C_AIC_SPU = (unsigned int) default_spurious_handler; 121 - 122 - /* Perform 8 IT acknoledge (write any value in EOICR) */ 123 - 124 - /* The End of Interrupt Command Register (AIC_EOICR) must be written in order 125 - to indicate to the AIC that the current interrupt is finished. This causes the 126 - current level to be popped from the stack, restoring the previous current level 127 - if one exists on the stack. If another interrupt is pending, with lower or 128 - equal priority than the old current level but with higher priority than the new 129 - current level, the nIRQ line is re-asserted, but the interrupt sequence does 130 - not immediately start because the “I” bit is set in the core. 131 - SPSR_irq is restored. Finally, the saved value of the link register is restored 132 - directly into the PC. This has the effect of returning from the interrupt to 133 - whatever was being executed before, and of loading the CPSR with the stored 134 - SPSR, masking or unmasking the interrupts depending on the state saved in 135 - SPSR_irq. */ 136 - for (i = 0; i < 8 ; i++) 137 - { 138 - AT91C_AIC_EOICR = 0; 139 - } 140 - 141 - /* Enable the interrupt on the interrupt controller */ 142 - AT91C_AIC_IECR = (1 << AT91C_ID_SYS); 143 - 144 - /* Disable Watchdog */ 145 - AT91C_WDTC_WDMR = AT91C_WDTC_WDDIS; 146 - 147 - /* Remap */ 148 - AT91C_MATRIX_MRCR = AT91C_MATRIX_RCA926I | AT91C_MATRIX_RCA926D; 149 - }
-29
firmware/target/arm/at91sam/lyre_proto1/system-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #ifndef SYSTEM_TARGET_H 23 - #define SYSTEM_TARGET_H 24 - 25 - #include "system-arm.h" 26 - 27 - void system_init(void); 28 - 29 - #endif /* SYSTEM_TARGET_H */
-123
firmware/target/arm/at91sam/lyre_proto1/timer-lyre_proto1.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * 9 - * 10 - * Copyright (C) 2009 by Jorge Pinto 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "config.h" 23 - #include "cpu.h" 24 - #include "system.h" 25 - #include "timer.h" 26 - #include "logf.h" 27 - #include "at91sam9260.h" 28 - 29 - /*----------------------------------------------------------------------------- 30 - * Function Name : pitc_handler 31 - * Object : Handler for PITC interrupt 32 - *---------------------------------------------------------------------------*/ 33 - void pitc_handler(void) 34 - { 35 - unsigned long pivr = 0; 36 - unsigned long pisr = 0; 37 - 38 - /* Read the PISR */ 39 - pisr = AT91C_PITC_PISR & AT91C_PITC_PITS; 40 - 41 - if (pisr != 0) 42 - { 43 - /* Read the PIVR. It acknowledges the IT */ 44 - pivr = AT91C_PITC_PIVR; 45 - 46 - if (pfn_timer != NULL) 47 - pfn_timer(); 48 - } 49 - } 50 - 51 - bool timer_set(long cycles, bool start) 52 - { 53 - if (cycles < 1000) /* Max value on PITC?? */ 54 - { 55 - if (start && pfn_unregister != NULL) 56 - { 57 - pfn_unregister(); 58 - pfn_unregister = NULL; 59 - } 60 - 61 - /* Configure a resolution of <cycles> ms */ 62 - AT91C_PITC_PIMR = MCK_FREQ / ( 16 * cycles) - 1; 63 - 64 - return true; 65 - } 66 - 67 - return false; 68 - } 69 - 70 - bool timer_start(void) 71 - { 72 - bool retval = true; 73 - volatile unsigned long pimr = 0; 74 - 75 - /* Configure a resolution of 1 ms */ 76 - AT91C_PITC_PIMR = MCK_FREQ / (16 * 1000) - 1; 77 - 78 - /* Enable interrupts */ 79 - /* Disable the interrupt on the interrupt controller */ 80 - AT91C_AIC_IDCR = (1 << AT91C_ID_SYS); 81 - 82 - /* Save the interrupt handler routine pointer and the interrupt priority */ 83 - AT91C_AIC_SVR(AT91C_ID_SYS) = (unsigned long) pitc_handler; 84 - /* Store the Source Mode Register */ 85 - AT91C_AIC_SMR(AT91C_ID_SYS) = AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE | \ 86 - AT91C_AIC_PRIOR_LOWEST; 87 - /* Clear the interrupt on the interrupt controller */ 88 - AT91C_AIC_ICCR = (1 << AT91C_ID_SYS); 89 - 90 - /* Enable the interrupt on the interrupt controller */ 91 - AT91C_AIC_IECR = (1 << AT91C_ID_SYS); 92 - 93 - /* Enable the interrupt on the pit */ 94 - pimr = AT91C_PITC_PIMR; 95 - AT91C_PITC_PIMR = pimr | AT91C_PITC_PITIEN; 96 - 97 - /* Enable the pit */ 98 - pimr = AT91C_PITC_PIMR; 99 - AT91C_PITC_PIMR = pimr | AT91C_PITC_PITEN; 100 - 101 - return retval; 102 - } 103 - 104 - void timer_stop(void) 105 - { 106 - volatile unsigned long pimr = 0; 107 - 108 - /* Disable the interrupt on the interrupt controller */ 109 - AT91C_AIC_IDCR = (1 << AT91C_ID_SYS); 110 - 111 - /* Clear the interrupt on the interrupt controller */ 112 - AT91C_AIC_ICCR = (1 << AT91C_ID_SYS); 113 - 114 - /* Disable the interrupt on the pit */ 115 - pimr = AT91C_PITC_PIMR; 116 - pimr &= ~AT91C_PITC_PITIEN; 117 - AT91C_PITC_PIMR = pimr; 118 - 119 - /* Disable the pit */ 120 - pimr = AT91C_PITC_PIMR; 121 - pimr &= ~AT91C_PITC_PITEN; 122 - AT91C_PITC_PIMR = pimr; 123 - }
+1 -1
firmware/target/arm/mmu-arm.S
··· 24 24 25 25 /* Used by ARMv4 & ARMv5 CPUs with cp15 register and MMU */ 26 26 27 - #if CONFIG_CPU == TCC7801 || CONFIG_CPU == AT91SAM9260 27 + #if CONFIG_CPU == TCC7801 28 28 /* MMU present but unused */ 29 29 #define HAVE_TEST_AND_CLEAN_CACHE 30 30
-8
firmware/target/arm/s3c2440/adc-s3c2440.c
··· 24 24 #include "adc-target.h" 25 25 #include "kernel.h" 26 26 27 - #ifdef MINI2440 28 - #include "touchscreen-target.h" 29 - #endif 30 - 31 27 static unsigned short adc_readings[NUM_ADC_CHANNELS]; 32 28 33 29 /* prototypes */ ··· 136 132 { 137 133 channel = 0; 138 134 } 139 - #ifdef MINI2440 140 - /* interleave a touchscreen read if neccessary */ 141 - touchscreen_scan_device(); 142 - #endif 143 135 /* setup the next conversion and start it*/ 144 136 ADCCON = (ADCCON & ~(0x7<<3)) | (channel<<3) | 0x01; 145 137 }
-32
firmware/target/arm/s3c2440/crt0.S
··· 133 133 #define VAL_MRSRB7 0x00000030 134 134 #define VAL_GPACON 0x00FFFFFF 135 135 136 - /****************************************************************************/ 137 - #elif defined (MINI2440) 138 - 139 - /* For Mini2440 board or compatible */ 140 - /* Clock and Power Management setup values */ 141 - /* NB: clock settings must match values in s3c2440/system-target.h */ 142 - #define VAL_CLKDIV 0x5 /* HCLK = FCLK/4, PCLK = HCLK/2 */ 143 - #define VAL_UPLLCON 0x00038022 /* UCLK = 48 MHz */ 144 - #define VAL_MPLLCON 0x000C3041 /* FCLK = 406 MHz */ 145 - 146 - 147 - /* Memory Controller setup */ 148 - #define VAL_BWSCON 0x22111112 149 - #define VAL_BANKCON0 0x00002F50 150 - #define VAL_BANKCON1 0x00000700 151 - #define VAL_BANKCON2 0x00000700 152 - #define VAL_BANKCON3 0x00000700 153 - #define VAL_BANKCON4 0x00000700 154 - #define VAL_BANKCON5 0x0007FFFC 155 - #define VAL_BANKCON6 0x00018009 156 - #define VAL_BANKCON7 0x00018009 157 - 158 - #define VAL_REFRESH 0x008E04EB 159 - #define VAL_BANKSIZE 0x000000B2 160 - #define VAL_MRSRB6 0x00000030 161 - #define VAL_MRSRB7 0x00000030 162 - 163 - #define VAL_GPACON 0x00FFFFFF 164 - #define VAL_GPFCON 0x000055AA 165 - #define VAL_GPGCON 0xAA2A0128 166 - #define VAL_GPGDAT 0x0000 167 - 168 136 #else 169 137 #error Unknown target 170 138 #endif
-2
firmware/target/arm/s3c2440/debug-s3c2440.c
··· 31 31 32 32 #ifdef GIGABEAT_F 33 33 #define DEBUG_CANCEL BUTTON_POWER 34 - #elif defined(MINI2440) 35 - #define DEBUG_CANCEL BUTTON_MENU 36 34 #endif 37 35 38 36 bool dbg_hw_info(void)
-3
firmware/target/arm/s3c2440/dma-target.h
··· 29 29 #ifdef GIGABEAT_F 30 30 #define DMA_CHAN_ATA 0 31 31 #define DMA_CHAN_AUDIO_OUT 2 32 - #elif defined(MINI2440) 33 - #define DMA_CHAN_SD 0 34 - #define DMA_CHAN_AUDIO_OUT 2 35 32 #else 36 33 #error Unsupported target 37 34 #endif
-38
firmware/target/arm/s3c2440/mini2440/adc-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #ifndef _ADC_TARGET_H_ 22 - #define _ADC_TARGET_H_ 23 - 24 - /* Channel 0 is connected to an on board pot for testing 25 - Channels 0-3 are available via expansion connector CON4 26 - Channels 4-7 are routed to LCD connector for touchscreen operation if 27 - supported by display panel. 28 - */ 29 - #define NUM_ADC_CHANNELS 4 30 - 31 - #define ADC_ONBOARD 0 32 - #define ADC_SPARE_1 1 33 - #define ADC_SPARE_2 2 34 - #define ADC_SPARE_3 3 35 - 36 - #define ADC_READ_ERROR 0xFFFF 37 - 38 - #endif
-159
firmware/target/arm/s3c2440/mini2440/backlight-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #include "config.h" 22 - #include "cpu.h" 23 - #include "system.h" 24 - #include "backlight-target.h" 25 - #include "backlight.h" 26 - #include "lcd.h" 27 - #include "power.h" 28 - 29 - 30 - /* Dummy value at index 0, 1-12 used. */ 31 - static const unsigned char log_brightness[13] = 32 - {0,0,1,2,3,5,7,10,15,22,31,44,63}; 33 - 34 - 35 - static enum backlight_states 36 - { 37 - BACKLIGHT_CONTROL_IDLE, 38 - BACKLIGHT_CONTROL_OFF, 39 - BACKLIGHT_CONTROL_ON, 40 - BACKLIGHT_CONTROL_SET, 41 - BACKLIGHT_CONTROL_FADE 42 - } backlight_control; 43 - 44 - static unsigned char _backlight_brightness; 45 - static unsigned char backlight_target; 46 - 47 - 48 - /* Assumes that the backlight has been initialized */ 49 - void backlight_hw_brightness(int brightness) 50 - { 51 - if (brightness < 0) 52 - brightness = 0; 53 - else if(brightness > MAX_BRIGHTNESS_SETTING) 54 - brightness = MAX_BRIGHTNESS_SETTING; 55 - 56 - /* stop the interrupt from messing us up */ 57 - backlight_control = BACKLIGHT_CONTROL_IDLE; 58 - _backlight_brightness = log_brightness[brightness]; 59 - backlight_control = BACKLIGHT_CONTROL_SET; 60 - } 61 - 62 - static void _backlight_set_state (unsigned int level) 63 - { 64 - if (level == 0) 65 - GPGDAT &= ~GPIO_LCD_PWR; 66 - else 67 - GPGDAT |= GPIO_LCD_PWR; 68 - } 69 - 70 - /* led_control_service runs in interrupt context - be brief! 71 - * This service is called once per interrupt timer tick - 100 times a second. 72 - * 73 - * There should be at most only one i2c operation per call - if more are need 74 - * the calls should be spread across calls. 75 - * 76 - * Putting all led servicing in one thread means that we wont step on any 77 - * i2c operations - they are all serialized here in the ISR tick. It also 78 - * insures that we get called at equal timing for good visual effect. 79 - */ 80 - #ifndef BOOTLOADER 81 - static void led_control_service(void) 82 - { 83 - switch (backlight_control) 84 - { 85 - case BACKLIGHT_CONTROL_IDLE: 86 - backlight_control = BACKLIGHT_CONTROL_IDLE; 87 - break; 88 - case BACKLIGHT_CONTROL_OFF: 89 - backlight_hw_brightness(0); 90 - backlight_control = BACKLIGHT_CONTROL_IDLE; 91 - break; 92 - case BACKLIGHT_CONTROL_ON: 93 - backlight_hw_brightness(DEFAULT_BRIGHTNESS_SETTING); 94 - backlight_control = BACKLIGHT_CONTROL_IDLE; 95 - break; 96 - case BACKLIGHT_CONTROL_SET: 97 - /* TODO: This is probably wrong since it sets a fixed value. 98 - It was a fixed value of 255 before, but that was even more wrong 99 - since it accessed the log_brightness buffer out of bounds */ 100 - backlight_hw_brightness(DEFAULT_BRIGHTNESS_SETTING); 101 - backlight_control = BACKLIGHT_CONTROL_IDLE; 102 - break; 103 - case BACKLIGHT_CONTROL_FADE: 104 - backlight_hw_brightness(0); 105 - backlight_control = BACKLIGHT_CONTROL_IDLE; 106 - break; 107 - default: 108 - backlight_control = BACKLIGHT_CONTROL_IDLE; 109 - break; 110 - } 111 - } 112 - #endif /* BOOTLOADER */ 113 - 114 - static void __backlight_dim(bool dim_now) 115 - { 116 - /* dont let the interrupt tick happen */ 117 - backlight_control = BACKLIGHT_CONTROL_IDLE; 118 - backlight_target = dim_now ? 0 : _backlight_brightness; 119 - if(backlight_target==0 && _backlight_brightness==0) 120 - { 121 - if(dim_now == false) 122 - backlight_control = BACKLIGHT_CONTROL_ON; 123 - else 124 - backlight_control = BACKLIGHT_CONTROL_OFF; 125 - } 126 - else 127 - backlight_control = BACKLIGHT_CONTROL_FADE; 128 - } 129 - 130 - void backlight_hw_on(void) 131 - { 132 - #ifdef HAVE_LCD_ENABLE 133 - lcd_enable(true); /* power on lcd + visible display */ 134 - #endif 135 - __backlight_dim(false); 136 - } 137 - 138 - void backlight_hw_off(void) 139 - { 140 - __backlight_dim(true); 141 - } 142 - 143 - 144 - bool backlight_hw_init(void) 145 - { 146 - unsigned char brightness = log_brightness[DEFAULT_BRIGHTNESS_SETTING]; 147 - _backlight_brightness = brightness; 148 - 149 - backlight_control = BACKLIGHT_CONTROL_ON; 150 - 151 - _backlight_set_state (1); 152 - S3C2440_GPIO_CONFIG (GPGCON, 4, GPIO_OUTPUT); 153 - 154 - #ifndef BOOTLOADER 155 - /* put the led control on the tick list */ 156 - tick_add_task(led_control_service); 157 - #endif 158 - return true; 159 - }
-31
firmware/target/arm/s3c2440/mini2440/backlight-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2006 by Linus Nielsen Feltzing 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #ifndef BACKLIGHT_TARGET_H 22 - #define BACKLIGHT_TARGET_H 23 - 24 - #define GPIO_LCD_PWR (1 << 4) /* GPIO.G4 */ 25 - 26 - bool backlight_hw_init(void); 27 - void backlight_hw_on(void); 28 - void backlight_hw_off(void); 29 - void backlight_hw_brightness(int brightness); 30 - 31 - #endif
-92
firmware/target/arm/s3c2440/mini2440/button-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "config.h" 23 - #include "cpu.h" 24 - #include "system.h" 25 - #include "button.h" 26 - #include "kernel.h" 27 - #include "touchscreen-target.h" 28 - 29 - void button_init_device(void) 30 - { 31 - /* Configure port directions and enable internal pullups on button inputs */ 32 - 33 - /* These are the standard 6 buttons on the Mini2440 */ 34 - S3C2440_GPIO_CONFIG (GPGCON, 0, GPIO_INPUT); 35 - S3C2440_GPIO_CONFIG (GPGCON, 3, GPIO_INPUT); 36 - S3C2440_GPIO_CONFIG (GPGCON, 5, GPIO_INPUT); 37 - S3C2440_GPIO_CONFIG (GPGCON, 6, GPIO_INPUT); 38 - S3C2440_GPIO_CONFIG (GPGCON, 7, GPIO_INPUT); 39 - S3C2440_GPIO_CONFIG (GPGCON, 11, GPIO_INPUT); 40 - 41 - S3C2440_GPIO_PULLUP (GPGUP, 0, GPIO_PULLUP_ENABLE); 42 - S3C2440_GPIO_PULLUP (GPGUP, 3, GPIO_PULLUP_ENABLE); 43 - S3C2440_GPIO_PULLUP (GPGUP, 5, GPIO_PULLUP_ENABLE); 44 - S3C2440_GPIO_PULLUP (GPGUP, 6, GPIO_PULLUP_ENABLE); 45 - S3C2440_GPIO_PULLUP (GPGUP, 7, GPIO_PULLUP_ENABLE); 46 - S3C2440_GPIO_PULLUP (GPGUP, 11, GPIO_PULLUP_ENABLE); 47 - 48 - /* These are additional buttons on my add on keypad */ 49 - S3C2440_GPIO_CONFIG (GPGCON, 9, GPIO_INPUT); 50 - S3C2440_GPIO_CONFIG (GPGCON, 10, GPIO_INPUT); 51 - S3C2440_GPIO_PULLUP (GPGUP, 9, GPIO_PULLUP_ENABLE); 52 - S3C2440_GPIO_PULLUP (GPGUP, 10, GPIO_PULLUP_ENABLE); 53 - 54 - /* init touchscreen */ 55 - touchscreen_init_device(); 56 - } 57 - 58 - inline bool button_hold(void) 59 - { 60 - return 0; 61 - } 62 - 63 - int button_read_device(int* data) 64 - { 65 - int btn = BUTTON_NONE; 66 - static int old_data = 0; 67 - 68 - *data = old_data; 69 - 70 - /* Read the buttons - active low */ 71 - btn = (GPGDAT & BUTTON_MAIN) ^ BUTTON_MAIN; 72 - 73 - /* read touchscreen */ 74 - btn |= touchscreen_read_device(data, &old_data); 75 - 76 - return btn; 77 - } 78 - 79 - void touchpad_set_sensitivity(int level) 80 - { 81 - (void)level; 82 - /* No touchpad */ 83 - } 84 - 85 - #ifdef HAVE_HEADPHONE_DETECTION 86 - bool headphones_inserted(void) 87 - { 88 - /* No detect */ 89 - return false; 90 - } 91 - #endif /* HAVE_HEADPHONE_DETECTION */ 92 -
-75
firmware/target/arm/s3c2440/mini2440/button-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #ifndef _BUTTON_TARGET_H_ 22 - #define _BUTTON_TARGET_H_ 23 - 24 - void touchpad_set_sensitivity(int level); 25 - 26 - /* Mini2440 specific button codes */ 27 - 28 - #define BUTTON_ONE 0x0001 29 - #define BUTTON_TWO 0x0008 30 - #define BUTTON_THREE 0x0020 31 - #define BUTTON_FOUR 0x0040 32 - #define BUTTON_FIVE 0x0080 33 - #define BUTTON_SIX 0x0800 34 - 35 - /* Add on buttons */ 36 - #define BUTTON_SEVEN 0x0200 37 - #define BUTTON_EIGHT 0x0400 38 - 39 - /* Touch Screen Area Buttons */ 40 - #define BUTTON_TOPLEFT 0x010000 41 - #define BUTTON_TOPMIDDLE 0x020000 42 - #define BUTTON_TOPRIGHT 0x040000 43 - #define BUTTON_MIDLEFT 0x080000 44 - #define BUTTON_CENTER 0x100000 45 - #define BUTTON_MIDRIGHT 0x200000 46 - #define BUTTON_BOTTOMLEFT 0x400000 47 - #define BUTTON_BOTTOMMIDDLE 0x800000 48 - #define BUTTON_BOTTOMRIGHT 0x100000 49 - 50 - #define BUTTON_TOUCH 0x200000 51 - 52 - 53 - #define BUTTON_MENU BUTTON_ONE 54 - #define BUTTON_UP BUTTON_TWO 55 - #define BUTTON_SELECT BUTTON_THREE 56 - #define BUTTON_DOWN BUTTON_FOUR 57 - #define BUTTON_LEFT BUTTON_FIVE 58 - #define BUTTON_RIGHT BUTTON_SIX 59 - 60 - /* Add on buttons */ 61 - #define BUTTON_A BUTTON_SEVEN 62 - #define BUTTON_POWER BUTTON_EIGHT 63 - 64 - /* TODO: bodge to keep keymap-mini2440 happy */ 65 - #define BUTTON_VOL_DOWN 0x4000 66 - #define BUTTON_VOL_UP 0x8000 67 - 68 - #define BUTTON_MAIN (BUTTON_MENU|BUTTON_LEFT|BUTTON_RIGHT | \ 69 - BUTTON_UP |BUTTON_DOWN|BUTTON_SELECT | \ 70 - BUTTON_A |BUTTON_POWER ) 71 - 72 - #define POWEROFF_BUTTON BUTTON_MENU 73 - #define POWEROFF_COUNT 10 74 - 75 - #endif /* _BUTTON_TARGET_H_ */
-47
firmware/target/arm/s3c2440/mini2440/lcd-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins, Lyre Project 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #ifndef LCD_TARGET_H 22 - #define LCD_TARGET_H 23 - 24 - #define LCD_FRAMEBUF_ADDR(col, row) ((fb_data *)FRAME + (row)*LCD_WIDTH + (col)) 25 - 26 - /* Setup for Mini2440, 3.5" TFT LCD Touchscreen */ 27 - 28 - /* Config values for LCDCON1 */ 29 - #define LCD_CLKVAL 4 30 - #define LCD_MMODE 0 31 - #define LCD_PNRMODE 3 32 - #define LCD_BPPMODE 12 33 - #define LCD_ENVID 1 34 - 35 - /* Config values for LCDCON2 */ 36 - #define LCD_UPPER_MARGIN 1 37 - #define LCD_LOWER_MARGIN 4 38 - #define LCD_VSYNC_LEN 1 39 - 40 - /* Config values for LCDCON3 */ 41 - #define LCD_RIGHT_MARGIN 0 42 - #define LCD_LEFT_MARGIN 25 43 - 44 - /* Config values for LCDCON4 */ 45 - #define LCD_HSYNC_LEN 4 46 - 47 - #endif /* LCD_TARGET_H */
-67
firmware/target/arm/s3c2440/mini2440/led-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #include "config.h" 22 - #include "cpu.h" 23 - #include "kernel.h" 24 - #include "led-mini2440.h" 25 - 26 - /* LED functions for debug */ 27 - 28 - void led_init (void) 29 - { 30 - S3C2440_GPIO_CONFIG (GPBCON, 5, GPIO_OUTPUT); 31 - S3C2440_GPIO_CONFIG (GPBCON, 6, GPIO_OUTPUT); 32 - S3C2440_GPIO_CONFIG (GPBCON, 7, GPIO_OUTPUT); 33 - S3C2440_GPIO_CONFIG (GPBCON, 8, GPIO_OUTPUT); 34 - 35 - S3C2440_GPIO_PULLUP (GPBUP, 5, GPIO_PULLUP_DISABLE); 36 - S3C2440_GPIO_PULLUP (GPBUP, 6, GPIO_PULLUP_DISABLE); 37 - S3C2440_GPIO_PULLUP (GPBUP, 7, GPIO_PULLUP_DISABLE); 38 - S3C2440_GPIO_PULLUP (GPBUP, 8, GPIO_PULLUP_DISABLE); 39 - } 40 - 41 - /* Turn on one or more LEDS */ 42 - void set_leds (int led_mask) 43 - { 44 - GPBDAT &= ~led_mask; 45 - } 46 - 47 - /* Turn off one or more LEDS */ 48 - void clear_leds (int led_mask) 49 - { 50 - GPBDAT |= led_mask; 51 - } 52 - 53 - /* Alternate flash pattern1 and pattern2 */ 54 - /* Never returns */ 55 - void led_flash (int led_pattern1, int led_pattern2) 56 - { 57 - while (1) 58 - { 59 - set_leds (led_pattern1); 60 - sleep(HZ/2); 61 - clear_leds (led_pattern1); 62 - 63 - set_leds(led_pattern2); 64 - sleep(HZ/2); 65 - clear_leds (led_pattern2); 66 - } 67 - }
-46
firmware/target/arm/s3c2440/mini2440/led-mini2440.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #ifndef _LED_MINI2440_H_ 23 - #define _LED_MINI2440_H_ 24 - 25 - /* LED functions for debug etc */ 26 - 27 - #define LED1 0x0020 /* GPB5 */ 28 - #define LED2 0x0040 /* GPB6 */ 29 - #define LED3 0x0080 /* GPB7 */ 30 - #define LED4 0x0100 /* GPB8 */ 31 - 32 - #define LED_NONE 0x0000 33 - #define LED_ALL (LED1|LED2|LED3|LED4) 34 - 35 - void led_init (void); 36 - 37 - /* Turn on one or more LEDS */ 38 - void set_leds (int led_mask); 39 - 40 - /* Turn off one or more LEDS */ 41 - void clear_leds (int led_mask); 42 - 43 - /* Alternate flash of pattern1 and pattern2 - never returns */ 44 - void led_flash (int led_pattern1, int led_pattern2); 45 - 46 - #endif /* _LED_MINI2440_H_ */
-261
firmware/target/arm/s3c2440/mini2440/pcm-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2006 by Michael Sevakis 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #include <stdlib.h> 22 - #include "config.h" 23 - #include "system.h" 24 - #include "kernel.h" 25 - #include "logf.h" 26 - #include "audio.h" 27 - #include "sound.h" 28 - #include "file.h" 29 - #include "pcm-internal.h" 30 - 31 - /* PCM interrupt routine lockout */ 32 - static struct 33 - { 34 - int locked; 35 - unsigned long state; 36 - } dma_play_lock = 37 - { 38 - .locked = 0, 39 - .state = 0, 40 - }; 41 - 42 - #define FIFO_COUNT ((IISFCON >> 6) & 0x3F) 43 - 44 - /* Setup for the DMA controller */ 45 - #define DMA_CONTROL_SETUP ((1<<31) | (1<<29) | (1<<23) | (1<<22) | (1<<20)) 46 - 47 - #ifdef HAVE_UDA1341 48 - /* for PCLK = 50 MHz, frame size = 32 */ 49 - /* [prescaler, master clock rate] */ 50 - static const unsigned char pcm_freq_parms[HW_NUM_FREQ][2] = 51 - { 52 - [HW_FREQ_44] = { 2, IISMOD_MASTER_CLOCK_384FS }, 53 - [HW_FREQ_22] = { 8, IISMOD_MASTER_CLOCK_256FS }, 54 - [HW_FREQ_11] = { 17, IISMOD_MASTER_CLOCK_256FS }, 55 - }; 56 - #endif 57 - 58 - /* DMA count has hit zero - no more data */ 59 - /* Get more data from the callback and top off the FIFO */ 60 - void fiq_handler(void) __attribute__((interrupt ("FIQ"))); 61 - 62 - /* Mask the DMA interrupt */ 63 - void pcm_play_lock(void) 64 - { 65 - if (++dma_play_lock.locked == 1) 66 - bitset32(&INTMSK, DMA2_MASK); 67 - } 68 - 69 - /* Unmask the DMA interrupt if enabled */ 70 - void pcm_play_unlock(void) 71 - { 72 - if (--dma_play_lock.locked == 0) 73 - bitclr32(&INTMSK, dma_play_lock.state); 74 - } 75 - 76 - void pcm_play_dma_init(void) 77 - { 78 - /* There seem to be problems when changing the IIS interface configuration 79 - * when a clock is not present. 80 - */ 81 - bitset32(&CLKCON, 1<<17); 82 - 83 - #ifdef HAVE_UDA1341 84 - /* master, transmit mode, 16 bit samples, BCLK 32fs, PCLK */ 85 - IISMOD = IISMOD_MASTER_CLOCK_PCLK | IISMOD_MASTER_MODE | IISMOD_TRANSMIT_MODE 86 - | IISMOD_16_BIT | IISMOD_MASTER_CLOCK_256FS | IISMOD_BIT_CLOCK_32FS; 87 - 88 - /* TX idle, enable prescaler */ 89 - IISCON |= IISCON_TX_IDLE | IISCON_IIS_PRESCALER_ENABLE; 90 - #else 91 - /* slave, transmit mode, 16 bit samples - MCLK 384fs - use 16.9344Mhz - 92 - BCLK 32fs */ 93 - IISMOD = (1<<9) | (1<<8) | (2<<6) | (1<<3) | (1<<2) | (1<<0); 94 - 95 - /* RX,TX off,on */ 96 - IISCON |= (1<<3) | (1<<2); 97 - #endif 98 - 99 - bitclr32(&CLKCON, 1<<17); 100 - 101 - audiohw_init(); 102 - 103 - /* init GPIO */ 104 - #ifdef GIGABEAT_F 105 - /* GPCCON = (GPCCON & ~(3<<14)) | (1<<14); */ 106 - S3C244_GPIO_CONFIG (GPCCON, 7, GPIO_OUTPUT); 107 - GPCDAT |= (1<<7); 108 - #endif 109 - 110 - /* GPE4=I2SDO, GPE3=I2SDI, GPE2=CDCLK, GPE1=I2SSCLK, GPE0=I2SLRCK */ 111 - GPECON = (GPECON & ~0x3ff) | 0x2aa; 112 - 113 - /* Do not service DMA requests, yet */ 114 - 115 - /* clear any pending int and mask it */ 116 - bitset32(&INTMSK, DMA2_MASK); 117 - SRCPND = DMA2_MASK; 118 - 119 - /* connect to FIQ */ 120 - bitset32(&INTMOD, DMA2_MASK); 121 - } 122 - 123 - void pcm_play_dma_postinit(void) 124 - { 125 - audiohw_postinit(); 126 - } 127 - 128 - void pcm_dma_apply_settings(void) 129 - { 130 - #ifdef HAVE_UDA1341 131 - unsigned int reg_val; 132 - /* set prescaler and master clock rate according to freq */ 133 - reg_val = (pcm_freq_parms [pcm_fsel][0] << 5) | pcm_freq_parms [pcm_fsel][0]; 134 - 135 - IISMOD = (IISMOD & ~IISMOD_MASTER_CLOCK_384FS) | pcm_freq_parms [pcm_fsel][1] ; 136 - IISPSR = reg_val; 137 - #endif 138 - 139 - audiohw_set_frequency(pcm_fsel); 140 - } 141 - 142 - /* Connect the DMA and start filling the FIFO */ 143 - static void play_start_pcm(void) 144 - { 145 - /* clear pending DMA interrupt */ 146 - SRCPND = DMA2_MASK; 147 - 148 - /* Flush any pending writes */ 149 - commit_dcache_range((char*)DISRC2-0x30000000, (DCON2 & 0xFFFFF) * 2); 150 - 151 - /* unmask DMA interrupt when unlocking */ 152 - dma_play_lock.state = DMA2_MASK; 153 - 154 - /* turn on the request */ 155 - IISCON |= (1<<5); 156 - 157 - /* Activate the channel */ 158 - DMASKTRIG2 = 0x2; 159 - 160 - /* turn off the idle */ 161 - IISCON &= ~(1<<3); 162 - 163 - #ifdef HAVE_UDA1341 164 - IISMOD = (IISMOD & ~IISMOD_MASTER_CLOCK_384FS) | pcm_freq_parms [pcm_fsel][1] ; 165 - IISPSR = (pcm_freq_parms [pcm_fsel][0] << 5) | pcm_freq_parms [pcm_fsel][0]; 166 - #endif 167 - 168 - /* start the IIS */ 169 - IISCON |= (1<<0); 170 - } 171 - 172 - /* Disconnect the DMA and wait for the FIFO to clear */ 173 - static void play_stop_pcm(void) 174 - { 175 - /* Mask DMA interrupt */ 176 - bitset32(&INTMSK, DMA2_MASK); 177 - 178 - /* De-Activate the DMA channel */ 179 - DMASKTRIG2 = 0x4; 180 - 181 - /* are we playing? wait for the chunk to finish */ 182 - if (dma_play_lock.state != 0) 183 - { 184 - /* wait for the FIFO to empty and DMA to stop */ 185 - while ((IISCON & (1<<7)) || (DMASKTRIG2 & 0x2)); 186 - } 187 - 188 - /* Keep interrupt masked when unlocking */ 189 - dma_play_lock.state = 0; 190 - 191 - /* turn off the request */ 192 - IISCON &= ~(1<<5); 193 - 194 - /* turn on the idle */ 195 - IISCON |= (1<<3); 196 - 197 - /* stop the IIS */ 198 - IISCON &= ~(1<<0); 199 - } 200 - 201 - void pcm_play_dma_start(const void *addr, size_t size) 202 - { 203 - /* Enable the IIS clock */ 204 - bitset32(&CLKCON, 1<<17); 205 - 206 - /* stop any DMA in progress - idle IIS */ 207 - play_stop_pcm(); 208 - 209 - /* connect DMA to the FIFO and enable the FIFO */ 210 - IISFCON = (1<<15) | (1<<13); 211 - 212 - /* set DMA dest */ 213 - DIDST2 = (unsigned int)&IISFIFO; 214 - 215 - /* IIS is on the APB bus, INT when TC reaches 0, fixed dest addr */ 216 - DIDSTC2 = 0x03; 217 - 218 - /* set DMA source and options */ 219 - DISRC2 = (unsigned int)addr + 0x30000000; 220 - /* How many transfers to make - we transfer half-word at a time = 2 bytes */ 221 - /* DMA control: CURR_TC int, single service mode, I2SSDO int, HW trig */ 222 - /* no auto-reload, half-word (16bit) */ 223 - DCON2 = DMA_CONTROL_SETUP | (size / 2); 224 - DISRCC2 = 0x00; /* memory is on AHB bus, increment addresses */ 225 - 226 - play_start_pcm(); 227 - } 228 - 229 - /* Promptly stop DMA transfers and stop IIS */ 230 - void pcm_play_dma_stop(void) 231 - { 232 - play_stop_pcm(); 233 - 234 - /* Disconnect the IIS clock */ 235 - bitclr32(&CLKCON, 1<<17); 236 - } 237 - 238 - void fiq_handler(void) 239 - { 240 - static const void *start; 241 - static size_t size; 242 - 243 - /* clear any pending interrupt */ 244 - SRCPND = DMA2_MASK; 245 - 246 - /* Buffer empty. Try to get more. */ 247 - if (!pcm_play_dma_complete_callback(PCM_DMAST_OK, &start, &size)) 248 - return; 249 - 250 - /* Flush any pending cache writes */ 251 - commit_dcache_range(start, size); 252 - 253 - /* set the new DMA values */ 254 - DCON2 = DMA_CONTROL_SETUP | (size >> 1); 255 - DISRC2 = (unsigned int)start + 0x30000000; 256 - 257 - /* Re-Activate the channel */ 258 - DMASKTRIG2 = 0x2; 259 - 260 - pcm_play_dma_status_callback(PCM_DMAST_STARTED); 261 - }
-55
firmware/target/arm/s3c2440/mini2440/power-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #include "config.h" 22 - #include "cpu.h" 23 - #include <stdbool.h> 24 - #include <stdio.h> 25 - #include "kernel.h" 26 - #include "system.h" 27 - #include "power.h" 28 - #include "led-mini2440.h" 29 - 30 - void power_init(void) 31 - { 32 - /* Nothing to do */ 33 - } 34 - 35 - unsigned int power_input_status(void) 36 - { 37 - unsigned int status = 0; 38 - 39 - /* Always on*/ 40 - status = POWER_INPUT_MAIN; 41 - return status; 42 - } 43 - 44 - /* Returns true if the unit is charging the batteries. */ 45 - bool charging_state(void) 46 - { 47 - return false; 48 - } 49 - 50 - void power_off(void) 51 - { 52 - /* we don't have any power control, user must do it */ 53 - led_flash (LED_NONE, LED_ALL); 54 - while (1); 55 - }
-64
firmware/target/arm/s3c2440/mini2440/powermgmt-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Bob Cousins 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - #include "config.h" 22 - #include "system.h" 23 - #include "adc.h" 24 - #include "power.h" 25 - #include "powermgmt.h" 26 - 27 - /* The following constants are dummy values since there is no battery */ 28 - unsigned short battery_level_disksafe = 3450; 29 - 30 - unsigned short battery_level_shutoff = 3400; 31 - 32 - /* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ 33 - unsigned short percent_to_volt_discharge[11] = 34 - { 35 - /* Typical Li Ion 830mAH */ 36 - 3480, 3550, 3590, 3610, 3630, 3650, 3700, 3760, 3800, 3910, 3990 37 - }; 38 - 39 - /* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ 40 - unsigned short percent_to_volt_charge[11] = 41 - { 42 - /* Typical Li Ion 830mAH */ 43 - 3480, 3550, 3590, 3610, 3630, 3650, 3700, 3760, 3800, 3910, 3990 44 - }; 45 - 46 - 47 - /* Returns battery voltage from ADC [millivolts] */ 48 - /* full-scale (2^10) in millivolt */ 49 - int _battery_voltage(void) 50 - { 51 - /* Since we have no battery, return a fully charged value */ 52 - return 4000 * 1024 / 1000; 53 - } 54 - 55 - #ifdef HAVE_BATTERY_SWITCH 56 - unsigned int input_millivolts(void) 57 - { 58 - unsigned int batt_millivolts = battery_voltage(); 59 - 60 - /* No battery, return nominal value */ 61 - return batt_millivolts; 62 - } 63 - #endif /* HAVE_BATTERY_SWITCH */ 64 -
-189
firmware/target/arm/s3c2440/mini2440/touchscreen-mini2440.c
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___void 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2008 by Rob Purchase 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #include "config.h" 23 - #include "touchscreen-target.h" 24 - #include "adc-target.h" 25 - #include "system.h" 26 - #include "stdlib.h" 27 - #include "button.h" 28 - #include "tick.h" 29 - #include "touchscreen.h" 30 - 31 - #define NO_OF_TOUCH_DATA 5 32 - 33 - struct touch_calibration_point { 34 - short px_x; /* known pixel value */ 35 - short px_y; 36 - short val_x; /* touchscreen value at the known pixel */ 37 - short val_y; 38 - }; 39 - 40 - static struct touch_calibration_point topleft, bottomright; 41 - 42 - static bool touch_available = false; 43 - 44 - static short x[NO_OF_TOUCH_DATA], y[NO_OF_TOUCH_DATA]; 45 - 46 - /* comparator for qsort */ 47 - static int short_cmp(const void *a, const void *b) 48 - { 49 - return *(short*)a - *(short*)b; 50 - } 51 - 52 - static int touch_to_pixels(short val_x, short val_y) 53 - { 54 - short x,y; 55 - 56 - x=val_x; 57 - y=val_y; 58 - 59 - x = (x-topleft.val_x)*(bottomright.px_x - topleft.px_x) 60 - / (bottomright.val_x - topleft.val_x) + topleft.px_x; 61 - 62 - y = (y-topleft.val_y)*(bottomright.px_y - topleft.px_y) 63 - / (bottomright.val_y - topleft.val_y) + topleft.px_y; 64 - 65 - if (x < 0) 66 - x = 0; 67 - else if (x>=LCD_WIDTH) 68 - x=LCD_WIDTH-1; 69 - 70 - if (y < 0) 71 - y = 0; 72 - else if (y>=LCD_HEIGHT) 73 - y=LCD_HEIGHT-1; 74 - 75 - return (x<<16)|y; 76 - } 77 - 78 - void touchscreen_init_device() 79 - { 80 - /* set touchscreen adc controller into wait for interrupt mode */ 81 - ADCTSC = 0xd3; /* Wfait,XP-PU,XP_DIS,XM_DIS,YP_dis,YM_end */ 82 - 83 - /* Arbitrary touchscreen calibration */ 84 - topleft.px_x = 0; 85 - topleft.px_y = 0; 86 - topleft.val_x = 105; 87 - topleft.val_y = 925; 88 - 89 - bottomright.px_x = LCD_WIDTH; 90 - bottomright.px_y = LCD_HEIGHT; 91 - bottomright.val_x = 890; 92 - bottomright.val_y = 105; 93 - 94 - touch_available = false; 95 - } 96 - 97 - void touchscreen_scan_device() 98 - { 99 - static long last_touch_read = 0; 100 - static int touch_data_index = 0; 101 - 102 - int saveADCDLY; 103 - 104 - /* check touch state */ 105 - if(ADCDAT1 & (1<<15)) 106 - { 107 - return; 108 - } 109 - 110 - if (TIME_AFTER(current_tick, last_touch_read + 1)) 111 - { 112 - /* resets the index if the last touch could not be read 5 times */ 113 - touch_data_index = 0; 114 - } 115 - 116 - /* read touch data */ 117 - saveADCDLY = ADCDLY; 118 - ADCDLY = 40000; /*delay ~0.8ms (1/50M)*4000 */ 119 - ADCTSC = (1<<3)|(1<<2); /* pullup disable, seq x,y pos measure */ 120 - /* start adc */ 121 - ADCCON|= 0x1; 122 - /* wait for start and end */ 123 - while(ADCCON & 0x1); 124 - while(!(ADCCON & 0x8000)); 125 - 126 - x[touch_data_index] = ADCDAT0&0x3ff; 127 - y[touch_data_index] = ADCDAT1&0x3ff; 128 - 129 - ADCTSC = 0xd3; /* back to interrupt mode */ 130 - ADCDLY = saveADCDLY; 131 - 132 - touch_data_index++; 133 - 134 - if (touch_data_index > NO_OF_TOUCH_DATA - 1) 135 - { 136 - /* coordinates 5 times read */ 137 - touch_available = true; 138 - touch_data_index = 0; 139 - } 140 - last_touch_read = current_tick; 141 - } 142 - 143 - int touchscreen_read_device(int *data, int *old_data) 144 - { 145 - int btn = BUTTON_NONE; 146 - static bool touch_hold = false; 147 - static long last_touch = 0; 148 - 149 - if (touch_available || touch_hold) 150 - { 151 - short x_touch, y_touch; 152 - static short last_x = 0, last_y = 0; 153 - 154 - if (touch_hold) 155 - { 156 - /* get rid of very fast unintended double touches */ 157 - x_touch = last_x; 158 - y_touch = last_y; 159 - } 160 - else 161 - { 162 - /* sort the 5 data taken and use the median value */ 163 - qsort(x, NO_OF_TOUCH_DATA, sizeof(short), short_cmp); 164 - qsort(y, NO_OF_TOUCH_DATA, sizeof(short), short_cmp); 165 - 166 - x_touch = last_x = x[(NO_OF_TOUCH_DATA - 1)/2]; 167 - y_touch = last_y = y[(NO_OF_TOUCH_DATA - 1)/2]; 168 - 169 - last_touch = current_tick; 170 - 171 - touch_hold = true; 172 - touch_available = false; 173 - } 174 - 175 - *old_data = *data = touch_to_pixels(x_touch, y_touch); 176 - 177 - btn |= touchscreen_to_pixels((*data&0xffff0000) >> 16, 178 - (*data&0x0000ffff), 179 - data); 180 - } 181 - 182 - if (TIME_AFTER(current_tick, last_touch + 10)) 183 - { 184 - /* put the touchscreen back into interrupt mode */ 185 - touch_hold = false; 186 - } 187 - 188 - return btn; 189 - }
-33
firmware/target/arm/s3c2440/mini2440/touchscreen-target.h
··· 1 - /*************************************************************************** 2 - * __________ __ ___. 3 - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 - * \/ \/ \/ \/ \/ 8 - * $Id$ 9 - * 10 - * Copyright (C) 2009 by Dominik Wenger 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 2 15 - * of the License, or (at your option) any later version. 16 - * 17 - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 - * KIND, either express or implied. 19 - * 20 - ****************************************************************************/ 21 - 22 - #ifndef _TOUCHSCREEN_TARGET_H 23 - #define _TOUCHSCREEN_TARGET_H 24 - 25 - /* try to get a touchscreen reading from adc */ 26 - void touchscreen_scan_device(void); 27 - /* init touchscreen driver */ 28 - void touchscreen_init_device(void); 29 - 30 - int touchscreen_read_device(int *data, int *old_data); 31 - 32 - #endif 33 -
-2
firmware/target/arm/s3c2440/system-s3c2440.c
··· 191 191 CLKCON &= ~0xFF1ED0; 192 192 193 193 CLKSLOW |= 0x80; 194 - #elif defined(MINI2440) 195 - /* TODO: anything? */ 196 194 #else 197 195 #error Unknown target 198 196 #endif
-14
firmware/target/arm/s3c2440/system-target.h
··· 48 48 #define UNCACHED_ADDR(a) ((typeof(a))((unsigned int)(a) | UNCACHED_BASE_ADDR )) 49 49 #endif /* BOOTLOADER */ 50 50 51 - #elif defined(MINI2440) 52 - 53 - /* Uses 1:4:8 */ 54 - #define FCLK 406000000 55 - #define HCLK (FCLK/4) /* = 101,250,000 */ 56 - #define PCLK (HCLK/2) /* = 50,625,000 */ 57 - 58 - #define CPUFREQ_DEFAULT FCLK /* 406 MHz */ 59 - #define CPUFREQ_NORMAL (FCLK/4)/* 101.25 MHz */ 60 - #define CPUFREQ_MAX FCLK /* 406 MHz */ 61 - 62 - #define UNCACHED_BASE_ADDR 0x30000000 63 - #define UNCACHED_ADDR(a) ((typeof(a))((unsigned int)(a) | UNCACHED_BASE_ADDR )) 64 - 65 51 #else 66 52 #error Unknown target 67 53 #endif
-7
firmware/target/hosted/sdl/sim-ui-defines.h
··· 346 346 #define UI_LCD_POSX 124 /* x position of lcd */ 347 347 #define UI_LCD_POSY 42 /* y position of lcd */ 348 348 349 - #elif defined(MINI2440) 350 - #define UI_TITLE "Mini2440" 351 - #define UI_WIDTH 441 /* width of GUI window */ 352 - #define UI_HEIGHT 436 /* height of GUI window */ 353 - #define UI_LCD_POSX 148 /* x position of lcd */ 354 - #define UI_LCD_POSY 50 /* y position of lcd */ 355 - 356 349 #elif defined(PBELL_VIBE500) 357 350 #define UI_TITLE "Packard Bell Vibe 500" 358 351 #define UI_WIDTH 287 /* width of GUI window */
-1466
manual/rockbox_interface/images/mini2440-front.svg
··· 1 - <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 - <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 - 4 - <svg 5 - xmlns:dc="http://purl.org/dc/elements/1.1/" 6 - xmlns:cc="http://creativecommons.org/ns#" 7 - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8 - xmlns:svg="http://www.w3.org/2000/svg" 9 - xmlns="http://www.w3.org/2000/svg" 10 - xmlns:xlink="http://www.w3.org/1999/xlink" 11 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 12 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 - sodipodi:docname="mini2440-front.svg" 14 - inkscape:version="0.48.4 r9939" 15 - version="1.1" 16 - id="svg2" 17 - height="602.36218" 18 - width="354.33069"> 19 - <defs 20 - id="defs4"> 21 - <linearGradient 22 - id="linearGradient3793"> 23 - <stop 24 - style="stop-color:#dfe3e8;stop-opacity:1;" 25 - offset="0" 26 - id="stop3795" /> 27 - <stop 28 - style="stop-color:#e8ecec;stop-opacity:1;" 29 - offset="1" 30 - id="stop3797" /> 31 - </linearGradient> 32 - <linearGradient 33 - inkscape:collect="always" 34 - xlink:href="#linearGradient3793" 35 - id="linearGradient3799" 36 - x1="871.42859" 37 - y1="2465.5957" 38 - x2="-26.428572" 39 - y2="1312.3622" 40 - gradientUnits="userSpaceOnUse" 41 - gradientTransform="matrix(0.39464039,0,0,0.39464039,10.42978,6.1054986)" /> 42 - <linearGradient 43 - inkscape:collect="always" 44 - xlink:href="#id1-7-3-4-1" 45 - id="linearGradient6823" 46 - gradientUnits="userSpaceOnUse" 47 - x1="7257.5498" 48 - y1="3098.24" 49 - x2="7296.5898" 50 - y2="3319.6001" /> 51 - <linearGradient 52 - y2="3319.6001" 53 - x2="7296.5898" 54 - y1="3098.24" 55 - x1="7257.5498" 56 - gradientUnits="userSpaceOnUse" 57 - id="id1-7-3-4-1"> 58 - <stop 59 - id="stop1624-4-5-4-5" 60 - stop-color="#FFC100" 61 - offset="0" /> 62 - <stop 63 - id="stop1626-0-1-4-2" 64 - stop-color="#997200" 65 - offset="0.6" /> 66 - <stop 67 - id="stop1628-9-2-4-7" 68 - stop-color="#332201" 69 - offset="1" /> 70 - </linearGradient> 71 - <radialGradient 72 - inkscape:collect="always" 73 - xlink:href="#linearGradient5796-8-6-07-9-6-3-8-0-0-7-3" 74 - id="radialGradient5802-9-3-04-1-4-5-9-9-9-1-2" 75 - cx="2617.2185" 76 - cy="472.84082" 77 - fx="2617.2185" 78 - fy="472.84082" 79 - r="26.065502" 80 - gradientTransform="matrix(0.46607388,0.38254179,-0.3534518,0.4306318,-213.33292,-179.50362)" 81 - gradientUnits="userSpaceOnUse" /> 82 - <linearGradient 83 - id="linearGradient5796-8-6-07-9-6-3-8-0-0-7-3"> 84 - <stop 85 - style="stop-color:#f6f8fa;stop-opacity:1" 86 - offset="0" 87 - id="stop5798-6-4-59-1-7-4-9-5-6-4-8" /> 88 - <stop 89 - style="stop-color:#363636;stop-opacity:1" 90 - offset="1" 91 - id="stop5800-6-4-0-6-7-0-4-7-1-0-2" /> 92 - </linearGradient> 93 - <filter 94 - color-interpolation-filters="sRGB" 95 - inkscape:collect="always" 96 - id="filter6821-51-0-9-3-9-4-1-9-6"> 97 - <feGaussianBlur 98 - inkscape:collect="always" 99 - stdDeviation="0.21651065" 100 - id="feGaussianBlur6823-20-3-6-1-8-7-9-4-2" /> 101 - </filter> 102 - <radialGradient 103 - inkscape:collect="always" 104 - xlink:href="#linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5" 105 - id="radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7" 106 - cx="2390.1802" 107 - cy="535.33014" 108 - fx="2390.1802" 109 - fy="535.33014" 110 - r="62.102005" 111 - gradientTransform="matrix(0.40847821,0.40847821,-0.4652427,0.46524272,109.58997,-196.76744)" 112 - gradientUnits="userSpaceOnUse" /> 113 - <linearGradient 114 - id="linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5"> 115 - <stop 116 - id="stop4216-9-8-55-17-2-9-0-6-3-2-2-7" 117 - offset="0" 118 - style="stop-color:#7c7c7c;stop-opacity:1" /> 119 - <stop 120 - style="stop-color:#000000;stop-opacity:1" 121 - offset="1" 122 - id="stop4212-2-2-7-3-2-2-3-4-0-1-4-8" /> 123 - </linearGradient> 124 - <filter 125 - color-interpolation-filters="sRGB" 126 - inkscape:collect="always" 127 - id="filter6829-3-1-6-5-8-9-9-5-2"> 128 - <feGaussianBlur 129 - inkscape:collect="always" 130 - stdDeviation="0.4633812" 131 - id="feGaussianBlur6831-07-4-3-2-6-0-7-5-7" /> 132 - </filter> 133 - <radialGradient 134 - inkscape:collect="always" 135 - xlink:href="#linearGradient5788-2-7-0-2-9-1-7-01-9-7-0" 136 - id="radialGradient5794-6-4-66-3-15-9-8-8-0-1-8" 137 - cx="2613.5442" 138 - cy="480.00555" 139 - fx="2613.5442" 140 - fy="480.00555" 141 - r="56.291977" 142 - gradientTransform="matrix(0.65510805,0,0,0.64497007,-876.04199,718.6688)" 143 - gradientUnits="userSpaceOnUse" /> 144 - <linearGradient 145 - id="linearGradient5788-2-7-0-2-9-1-7-01-9-7-0"> 146 - <stop 147 - style="stop-color:#a6a6a5;stop-opacity:1" 148 - offset="0" 149 - id="stop5790-7-3-2-6-7-2-8-5-3-1-2" /> 150 - <stop 151 - style="stop-color:#000000;stop-opacity:1" 152 - offset="1" 153 - id="stop5792-5-4-89-0-0-6-0-1-3-1-0" /> 154 - </linearGradient> 155 - <filter 156 - color-interpolation-filters="sRGB" 157 - inkscape:collect="always" 158 - id="filter6841-8-5-2-1-9-0-3-5-8"> 159 - <feGaussianBlur 160 - inkscape:collect="always" 161 - stdDeviation="0.48856457" 162 - id="feGaussianBlur6843-9-4-6-7-5-3-1-2-9" /> 163 - </filter> 164 - <radialGradient 165 - r="102.50001" 166 - fy="351.88708" 167 - fx="2114.6553" 168 - cy="351.88708" 169 - cx="2114.6553" 170 - gradientTransform="matrix(1.5231622,0,0,1.600984,-1111.4581,-198.24188)" 171 - gradientUnits="userSpaceOnUse" 172 - id="radialGradient6663-9-9-1-0-6-95-3-7-2" 173 - xlink:href="#linearGradient6803-9-6-7-1-9-8-5-6-8" 174 - inkscape:collect="always" /> 175 - <linearGradient 176 - id="linearGradient6803-9-6-7-1-9-8-5-6-8"> 177 - <stop 178 - style="stop-color:#ffffff;stop-opacity:1;" 179 - offset="0" 180 - id="stop9721-1-2" /> 181 - <stop 182 - style="stop-color:#ffffff;stop-opacity:1" 183 - offset="0.1144137" 184 - id="stop9717-4-0" /> 185 - <stop 186 - id="stop9719-2-5" 187 - offset="0.85448378" 188 - style="stop-color:#000000;stop-opacity:1" /> 189 - <stop 190 - id="stop6807-08-8-2-2-0-6-9-3-5" 191 - offset="1" 192 - style="stop-color:#000000;stop-opacity:1" /> 193 - </linearGradient> 194 - <filter 195 - color-interpolation-filters="sRGB" 196 - inkscape:collect="always" 197 - id="filter8892-2-5-2-2"> 198 - <feGaussianBlur 199 - inkscape:collect="always" 200 - stdDeviation="1.0250001" 201 - id="feGaussianBlur8894-57-9-2-7" /> 202 - </filter> 203 - <radialGradient 204 - inkscape:collect="always" 205 - xlink:href="#linearGradient7478-5-34-9-3-59-9-5-7" 206 - id="radialGradient4737-8" 207 - cx="869.38031" 208 - cy="1062.0474" 209 - fx="869.38031" 210 - fy="1062.0474" 211 - r="41.977394" 212 - gradientUnits="userSpaceOnUse" /> 213 - <linearGradient 214 - id="linearGradient7478-5-34-9-3-59-9-5-7"> 215 - <stop 216 - style="stop-color:#a6a5a6;stop-opacity:1" 217 - offset="0" 218 - id="stop7480-0-0-0-5-30-5-7-8" /> 219 - <stop 220 - id="stop9723-6-1" 221 - offset="0.69628519" 222 - style="stop-color:#f9f9f9;stop-opacity:1" /> 223 - <stop 224 - style="stop-color:#818181;stop-opacity:1" 225 - offset="1" 226 - id="stop7482-9-7-5-5-2-1-1-6" /> 227 - </linearGradient> 228 - <filter 229 - color-interpolation-filters="sRGB" 230 - inkscape:collect="always" 231 - id="filter8912-5-3-8-0"> 232 - <feGaussianBlur 233 - inkscape:collect="always" 234 - stdDeviation="0.20771263" 235 - id="feGaussianBlur8914-1-6-9-9" /> 236 - </filter> 237 - <radialGradient 238 - inkscape:collect="always" 239 - xlink:href="#linearGradient5796-8-6-07-9-6-3-8-0-0-7-3-4" 240 - id="radialGradient5802-9-3-04-1-4-5-9-9-9-1-2-1" 241 - cx="2617.2185" 242 - cy="472.84082" 243 - fx="2617.2185" 244 - fy="472.84082" 245 - r="26.065502" 246 - gradientTransform="matrix(0.46607388,0.38254179,-0.3534518,0.4306318,-213.33292,-179.50362)" 247 - gradientUnits="userSpaceOnUse" /> 248 - <linearGradient 249 - id="linearGradient5796-8-6-07-9-6-3-8-0-0-7-3-4"> 250 - <stop 251 - style="stop-color:#f6f8fa;stop-opacity:1" 252 - offset="0" 253 - id="stop5798-6-4-59-1-7-4-9-5-6-4-8-8" /> 254 - <stop 255 - style="stop-color:#363636;stop-opacity:1" 256 - offset="1" 257 - id="stop5800-6-4-0-6-7-0-4-7-1-0-2-6" /> 258 - </linearGradient> 259 - <filter 260 - color-interpolation-filters="sRGB" 261 - inkscape:collect="always" 262 - id="filter6821-51-0-9-3-9-4-1-9-6-4"> 263 - <feGaussianBlur 264 - inkscape:collect="always" 265 - stdDeviation="0.21651065" 266 - id="feGaussianBlur6823-20-3-6-1-8-7-9-4-2-6" /> 267 - </filter> 268 - <radialGradient 269 - inkscape:collect="always" 270 - xlink:href="#linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5-9" 271 - id="radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7-8" 272 - cx="2390.1802" 273 - cy="535.33014" 274 - fx="2390.1802" 275 - fy="535.33014" 276 - r="62.102005" 277 - gradientTransform="matrix(0.40847821,0.40847821,-0.4652427,0.46524272,109.58997,-196.76744)" 278 - gradientUnits="userSpaceOnUse" /> 279 - <linearGradient 280 - id="linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5-9"> 281 - <stop 282 - id="stop4216-9-8-55-17-2-9-0-6-3-2-2-7-8" 283 - offset="0" 284 - style="stop-color:#7c7c7c;stop-opacity:1" /> 285 - <stop 286 - style="stop-color:#000000;stop-opacity:1" 287 - offset="1" 288 - id="stop4212-2-2-7-3-2-2-3-4-0-1-4-8-3" /> 289 - </linearGradient> 290 - <filter 291 - color-interpolation-filters="sRGB" 292 - inkscape:collect="always" 293 - id="filter6829-3-1-6-5-8-9-9-5-2-5"> 294 - <feGaussianBlur 295 - inkscape:collect="always" 296 - stdDeviation="0.4633812" 297 - id="feGaussianBlur6831-07-4-3-2-6-0-7-5-7-5" /> 298 - </filter> 299 - <radialGradient 300 - inkscape:collect="always" 301 - xlink:href="#linearGradient5788-2-7-0-2-9-1-7-01-9-7-0-5" 302 - id="radialGradient5794-6-4-66-3-15-9-8-8-0-1-8-1" 303 - cx="2613.5442" 304 - cy="480.00555" 305 - fx="2613.5442" 306 - fy="480.00555" 307 - r="56.291977" 308 - gradientTransform="matrix(0.65510805,0,0,0.64497007,-876.04199,718.6688)" 309 - gradientUnits="userSpaceOnUse" /> 310 - <linearGradient 311 - id="linearGradient5788-2-7-0-2-9-1-7-01-9-7-0-5"> 312 - <stop 313 - style="stop-color:#a6a6a5;stop-opacity:1" 314 - offset="0" 315 - id="stop5790-7-3-2-6-7-2-8-5-3-1-2-5" /> 316 - <stop 317 - style="stop-color:#000000;stop-opacity:1" 318 - offset="1" 319 - id="stop5792-5-4-89-0-0-6-0-1-3-1-0-8" /> 320 - </linearGradient> 321 - <filter 322 - color-interpolation-filters="sRGB" 323 - inkscape:collect="always" 324 - id="filter6841-8-5-2-1-9-0-3-5-8-4"> 325 - <feGaussianBlur 326 - inkscape:collect="always" 327 - stdDeviation="0.48856457" 328 - id="feGaussianBlur6843-9-4-6-7-5-3-1-2-9-0" /> 329 - </filter> 330 - <radialGradient 331 - r="102.50001" 332 - fy="351.88708" 333 - fx="2114.6553" 334 - cy="351.88708" 335 - cx="2114.6553" 336 - gradientTransform="matrix(1.5231622,0,0,1.600984,-1111.4581,-198.24188)" 337 - gradientUnits="userSpaceOnUse" 338 - id="radialGradient6663-9-9-1-0-6-95-3-7-2-5" 339 - xlink:href="#linearGradient6803-9-6-7-1-9-8-5-6-8-4" 340 - inkscape:collect="always" /> 341 - <linearGradient 342 - id="linearGradient6803-9-6-7-1-9-8-5-6-8-4"> 343 - <stop 344 - style="stop-color:#ffffff;stop-opacity:1;" 345 - offset="0" 346 - id="stop9721-1-2-7" /> 347 - <stop 348 - style="stop-color:#ffffff;stop-opacity:1" 349 - offset="0.1144137" 350 - id="stop9717-4-0-2" /> 351 - <stop 352 - id="stop9719-2-5-1" 353 - offset="0.85448378" 354 - style="stop-color:#000000;stop-opacity:1" /> 355 - <stop 356 - id="stop6807-08-8-2-2-0-6-9-3-5-4" 357 - offset="1" 358 - style="stop-color:#000000;stop-opacity:1" /> 359 - </linearGradient> 360 - <filter 361 - color-interpolation-filters="sRGB" 362 - inkscape:collect="always" 363 - id="filter8892-2-5-2-2-9"> 364 - <feGaussianBlur 365 - inkscape:collect="always" 366 - stdDeviation="1.0250001" 367 - id="feGaussianBlur8894-57-9-2-7-9" /> 368 - </filter> 369 - <radialGradient 370 - inkscape:collect="always" 371 - xlink:href="#linearGradient7478-5-34-9-3-59-9-5-7-3" 372 - id="radialGradient4737-8-0" 373 - cx="869.38031" 374 - cy="1062.0474" 375 - fx="869.38031" 376 - fy="1062.0474" 377 - r="41.977394" 378 - gradientUnits="userSpaceOnUse" /> 379 - <linearGradient 380 - id="linearGradient7478-5-34-9-3-59-9-5-7-3"> 381 - <stop 382 - style="stop-color:#a6a5a6;stop-opacity:1" 383 - offset="0" 384 - id="stop7480-0-0-0-5-30-5-7-8-0" /> 385 - <stop 386 - id="stop9723-6-1-3" 387 - offset="0.69628519" 388 - style="stop-color:#f9f9f9;stop-opacity:1" /> 389 - <stop 390 - style="stop-color:#818181;stop-opacity:1" 391 - offset="1" 392 - id="stop7482-9-7-5-5-2-1-1-6-5" /> 393 - </linearGradient> 394 - <filter 395 - color-interpolation-filters="sRGB" 396 - inkscape:collect="always" 397 - id="filter8912-5-3-8-0-0"> 398 - <feGaussianBlur 399 - inkscape:collect="always" 400 - stdDeviation="0.20771263" 401 - id="feGaussianBlur8914-1-6-9-9-7" /> 402 - </filter> 403 - <radialGradient 404 - inkscape:collect="always" 405 - xlink:href="#linearGradient5796-8-6-07-9-6-3-8-0-0-7-3-5" 406 - id="radialGradient5802-9-3-04-1-4-5-9-9-9-1-2-19" 407 - cx="2617.2185" 408 - cy="472.84082" 409 - fx="2617.2185" 410 - fy="472.84082" 411 - r="26.065502" 412 - gradientTransform="matrix(0.46607388,0.38254179,-0.3534518,0.4306318,-213.33292,-179.50362)" 413 - gradientUnits="userSpaceOnUse" /> 414 - <linearGradient 415 - id="linearGradient5796-8-6-07-9-6-3-8-0-0-7-3-5"> 416 - <stop 417 - style="stop-color:#f6f8fa;stop-opacity:1" 418 - offset="0" 419 - id="stop5798-6-4-59-1-7-4-9-5-6-4-8-5" /> 420 - <stop 421 - style="stop-color:#363636;stop-opacity:1" 422 - offset="1" 423 - id="stop5800-6-4-0-6-7-0-4-7-1-0-2-7" /> 424 - </linearGradient> 425 - <filter 426 - color-interpolation-filters="sRGB" 427 - inkscape:collect="always" 428 - id="filter6821-51-0-9-3-9-4-1-9-6-47"> 429 - <feGaussianBlur 430 - inkscape:collect="always" 431 - stdDeviation="0.21651065" 432 - id="feGaussianBlur6823-20-3-6-1-8-7-9-4-2-3" /> 433 - </filter> 434 - <radialGradient 435 - inkscape:collect="always" 436 - xlink:href="#linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5-0" 437 - id="radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7-4" 438 - cx="2390.1802" 439 - cy="535.33014" 440 - fx="2390.1802" 441 - fy="535.33014" 442 - r="62.102005" 443 - gradientTransform="matrix(0.40847821,0.40847821,-0.4652427,0.46524272,109.58997,-196.76744)" 444 - gradientUnits="userSpaceOnUse" /> 445 - <linearGradient 446 - id="linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5-0"> 447 - <stop 448 - id="stop4216-9-8-55-17-2-9-0-6-3-2-2-7-88" 449 - offset="0" 450 - style="stop-color:#7c7c7c;stop-opacity:1" /> 451 - <stop 452 - style="stop-color:#000000;stop-opacity:1" 453 - offset="1" 454 - id="stop4212-2-2-7-3-2-2-3-4-0-1-4-8-1" /> 455 - </linearGradient> 456 - <filter 457 - color-interpolation-filters="sRGB" 458 - inkscape:collect="always" 459 - id="filter6829-3-1-6-5-8-9-9-5-2-52"> 460 - <feGaussianBlur 461 - inkscape:collect="always" 462 - stdDeviation="0.4633812" 463 - id="feGaussianBlur6831-07-4-3-2-6-0-7-5-7-3" /> 464 - </filter> 465 - <radialGradient 466 - inkscape:collect="always" 467 - xlink:href="#linearGradient5788-2-7-0-2-9-1-7-01-9-7-0-4" 468 - id="radialGradient5794-6-4-66-3-15-9-8-8-0-1-8-2" 469 - cx="2613.5442" 470 - cy="480.00555" 471 - fx="2613.5442" 472 - fy="480.00555" 473 - r="56.291977" 474 - gradientTransform="matrix(0.65510805,0,0,0.64497007,-876.04199,718.6688)" 475 - gradientUnits="userSpaceOnUse" /> 476 - <linearGradient 477 - id="linearGradient5788-2-7-0-2-9-1-7-01-9-7-0-4"> 478 - <stop 479 - style="stop-color:#a6a6a5;stop-opacity:1" 480 - offset="0" 481 - id="stop5790-7-3-2-6-7-2-8-5-3-1-2-6" /> 482 - <stop 483 - style="stop-color:#000000;stop-opacity:1" 484 - offset="1" 485 - id="stop5792-5-4-89-0-0-6-0-1-3-1-0-6" /> 486 - </linearGradient> 487 - <filter 488 - color-interpolation-filters="sRGB" 489 - inkscape:collect="always" 490 - id="filter6841-8-5-2-1-9-0-3-5-8-6"> 491 - <feGaussianBlur 492 - inkscape:collect="always" 493 - stdDeviation="0.48856457" 494 - id="feGaussianBlur6843-9-4-6-7-5-3-1-2-9-2" /> 495 - </filter> 496 - <radialGradient 497 - r="102.50001" 498 - fy="351.88708" 499 - fx="2114.6553" 500 - cy="351.88708" 501 - cx="2114.6553" 502 - gradientTransform="matrix(1.5231622,0,0,1.600984,-1111.4581,-198.24188)" 503 - gradientUnits="userSpaceOnUse" 504 - id="radialGradient6663-9-9-1-0-6-95-3-7-2-9" 505 - xlink:href="#linearGradient6803-9-6-7-1-9-8-5-6-8-0" 506 - inkscape:collect="always" /> 507 - <linearGradient 508 - id="linearGradient6803-9-6-7-1-9-8-5-6-8-0"> 509 - <stop 510 - style="stop-color:#ffffff;stop-opacity:1;" 511 - offset="0" 512 - id="stop9721-1-2-4" /> 513 - <stop 514 - style="stop-color:#ffffff;stop-opacity:1" 515 - offset="0.1144137" 516 - id="stop9717-4-0-9" /> 517 - <stop 518 - id="stop9719-2-5-3" 519 - offset="0.85448378" 520 - style="stop-color:#000000;stop-opacity:1" /> 521 - <stop 522 - id="stop6807-08-8-2-2-0-6-9-3-5-1" 523 - offset="1" 524 - style="stop-color:#000000;stop-opacity:1" /> 525 - </linearGradient> 526 - <filter 527 - color-interpolation-filters="sRGB" 528 - inkscape:collect="always" 529 - id="filter8892-2-5-2-2-1"> 530 - <feGaussianBlur 531 - inkscape:collect="always" 532 - stdDeviation="1.0250001" 533 - id="feGaussianBlur8894-57-9-2-7-99" /> 534 - </filter> 535 - <radialGradient 536 - inkscape:collect="always" 537 - xlink:href="#linearGradient7478-5-34-9-3-59-9-5-7-5" 538 - id="radialGradient4737-8-5" 539 - cx="869.38031" 540 - cy="1062.0474" 541 - fx="869.38031" 542 - fy="1062.0474" 543 - r="41.977394" 544 - gradientUnits="userSpaceOnUse" /> 545 - <linearGradient 546 - id="linearGradient7478-5-34-9-3-59-9-5-7-5"> 547 - <stop 548 - style="stop-color:#a6a5a6;stop-opacity:1" 549 - offset="0" 550 - id="stop7480-0-0-0-5-30-5-7-8-5" /> 551 - <stop 552 - id="stop9723-6-1-6" 553 - offset="0.69628519" 554 - style="stop-color:#f9f9f9;stop-opacity:1" /> 555 - <stop 556 - style="stop-color:#818181;stop-opacity:1" 557 - offset="1" 558 - id="stop7482-9-7-5-5-2-1-1-6-0" /> 559 - </linearGradient> 560 - <filter 561 - color-interpolation-filters="sRGB" 562 - inkscape:collect="always" 563 - id="filter8912-5-3-8-0-5"> 564 - <feGaussianBlur 565 - inkscape:collect="always" 566 - stdDeviation="0.20771263" 567 - id="feGaussianBlur8914-1-6-9-9-9" /> 568 - </filter> 569 - <radialGradient 570 - inkscape:collect="always" 571 - xlink:href="#linearGradient5796-8-6-07-9-6-3-8-0-0-7-3-9" 572 - id="radialGradient5802-9-3-04-1-4-5-9-9-9-1-2-3" 573 - cx="2617.2185" 574 - cy="472.84082" 575 - fx="2617.2185" 576 - fy="472.84082" 577 - r="26.065502" 578 - gradientTransform="matrix(0.46607388,0.38254179,-0.3534518,0.4306318,-213.33292,-179.50362)" 579 - gradientUnits="userSpaceOnUse" /> 580 - <linearGradient 581 - id="linearGradient5796-8-6-07-9-6-3-8-0-0-7-3-9"> 582 - <stop 583 - style="stop-color:#f6f8fa;stop-opacity:1" 584 - offset="0" 585 - id="stop5798-6-4-59-1-7-4-9-5-6-4-8-1" /> 586 - <stop 587 - style="stop-color:#363636;stop-opacity:1" 588 - offset="1" 589 - id="stop5800-6-4-0-6-7-0-4-7-1-0-2-2" /> 590 - </linearGradient> 591 - <filter 592 - color-interpolation-filters="sRGB" 593 - inkscape:collect="always" 594 - id="filter6821-51-0-9-3-9-4-1-9-6-8"> 595 - <feGaussianBlur 596 - inkscape:collect="always" 597 - stdDeviation="0.21651065" 598 - id="feGaussianBlur6823-20-3-6-1-8-7-9-4-2-8" /> 599 - </filter> 600 - <radialGradient 601 - inkscape:collect="always" 602 - xlink:href="#linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5-8" 603 - id="radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7-1" 604 - cx="2390.1802" 605 - cy="535.33014" 606 - fx="2390.1802" 607 - fy="535.33014" 608 - r="62.102005" 609 - gradientTransform="matrix(0.40847821,0.40847821,-0.4652427,0.46524272,109.58997,-196.76744)" 610 - gradientUnits="userSpaceOnUse" /> 611 - <linearGradient 612 - id="linearGradient4208-8-3-9-9-6-1-9-5-6-4-8-5-8"> 613 - <stop 614 - id="stop4216-9-8-55-17-2-9-0-6-3-2-2-7-6" 615 - offset="0" 616 - style="stop-color:#7c7c7c;stop-opacity:1" /> 617 - <stop 618 - style="stop-color:#000000;stop-opacity:1" 619 - offset="1" 620 - id="stop4212-2-2-7-3-2-2-3-4-0-1-4-8-0" /> 621 - </linearGradient> 622 - <filter 623 - color-interpolation-filters="sRGB" 624 - inkscape:collect="always" 625 - id="filter6829-3-1-6-5-8-9-9-5-2-2"> 626 - <feGaussianBlur 627 - inkscape:collect="always" 628 - stdDeviation="0.4633812" 629 - id="feGaussianBlur6831-07-4-3-2-6-0-7-5-7-4" /> 630 - </filter> 631 - <radialGradient 632 - inkscape:collect="always" 633 - xlink:href="#linearGradient5788-2-7-0-2-9-1-7-01-9-7-0-0" 634 - id="radialGradient5794-6-4-66-3-15-9-8-8-0-1-8-9" 635 - cx="2613.5442" 636 - cy="480.00555" 637 - fx="2613.5442" 638 - fy="480.00555" 639 - r="56.291977" 640 - gradientTransform="matrix(0.65510805,0,0,0.64497007,-876.04199,718.6688)" 641 - gradientUnits="userSpaceOnUse" /> 642 - <linearGradient 643 - id="linearGradient5788-2-7-0-2-9-1-7-01-9-7-0-0"> 644 - <stop 645 - style="stop-color:#a6a6a5;stop-opacity:1" 646 - offset="0" 647 - id="stop5790-7-3-2-6-7-2-8-5-3-1-2-2" /> 648 - <stop 649 - style="stop-color:#000000;stop-opacity:1" 650 - offset="1" 651 - id="stop5792-5-4-89-0-0-6-0-1-3-1-0-2" /> 652 - </linearGradient> 653 - <filter 654 - color-interpolation-filters="sRGB" 655 - inkscape:collect="always" 656 - id="filter6841-8-5-2-1-9-0-3-5-8-1"> 657 - <feGaussianBlur 658 - inkscape:collect="always" 659 - stdDeviation="0.48856457" 660 - id="feGaussianBlur6843-9-4-6-7-5-3-1-2-9-5" /> 661 - </filter> 662 - <radialGradient 663 - r="102.50001" 664 - fy="351.88708" 665 - fx="2114.6553" 666 - cy="351.88708" 667 - cx="2114.6553" 668 - gradientTransform="matrix(1.5231622,0,0,1.600984,-1111.4581,-198.24188)" 669 - gradientUnits="userSpaceOnUse" 670 - id="radialGradient6663-9-9-1-0-6-95-3-7-2-4" 671 - xlink:href="#linearGradient6803-9-6-7-1-9-8-5-6-8-44" 672 - inkscape:collect="always" /> 673 - <linearGradient 674 - id="linearGradient6803-9-6-7-1-9-8-5-6-8-44"> 675 - <stop 676 - style="stop-color:#ffffff;stop-opacity:1;" 677 - offset="0" 678 - id="stop9721-1-2-2" /> 679 - <stop 680 - style="stop-color:#ffffff;stop-opacity:1" 681 - offset="0.1144137" 682 - id="stop9717-4-0-5" /> 683 - <stop 684 - id="stop9719-2-5-0" 685 - offset="0.85448378" 686 - style="stop-color:#000000;stop-opacity:1" /> 687 - <stop 688 - id="stop6807-08-8-2-2-0-6-9-3-5-42" 689 - offset="1" 690 - style="stop-color:#000000;stop-opacity:1" /> 691 - </linearGradient> 692 - <filter 693 - color-interpolation-filters="sRGB" 694 - inkscape:collect="always" 695 - id="filter8892-2-5-2-2-12"> 696 - <feGaussianBlur 697 - inkscape:collect="always" 698 - stdDeviation="1.0250001" 699 - id="feGaussianBlur8894-57-9-2-7-7" /> 700 - </filter> 701 - <radialGradient 702 - inkscape:collect="always" 703 - xlink:href="#linearGradient7478-5-34-9-3-59-9-5-7-9" 704 - id="radialGradient4737-8-7" 705 - cx="869.38031" 706 - cy="1062.0474" 707 - fx="869.38031" 708 - fy="1062.0474" 709 - r="41.977394" 710 - gradientUnits="userSpaceOnUse" /> 711 - <linearGradient 712 - id="linearGradient7478-5-34-9-3-59-9-5-7-9"> 713 - <stop 714 - style="stop-color:#a6a5a6;stop-opacity:1" 715 - offset="0" 716 - id="stop7480-0-0-0-5-30-5-7-8-55" /> 717 - <stop 718 - id="stop9723-6-1-4" 719 - offset="0.69628519" 720 - style="stop-color:#f9f9f9;stop-opacity:1" /> 721 - <stop 722 - style="stop-color:#818181;stop-opacity:1" 723 - offset="1" 724 - id="stop7482-9-7-5-5-2-1-1-6-03" /> 725 - </linearGradient> 726 - <filter 727 - color-interpolation-filters="sRGB" 728 - inkscape:collect="always" 729 - id="filter8912-5-3-8-0-4"> 730 - <feGaussianBlur 731 - inkscape:collect="always" 732 - stdDeviation="0.20771263" 733 - id="feGaussianBlur8914-1-6-9-9-1" /> 734 - </filter> 735 - </defs> 736 - <sodipodi:namedview 737 - id="base" 738 - pagecolor="#ffffff" 739 - bordercolor="#666666" 740 - borderopacity="1.0" 741 - inkscape:pageopacity="0.0" 742 - inkscape:pageshadow="2" 743 - inkscape:zoom="1.3446627" 744 - inkscape:cx="114.5098" 745 - inkscape:cy="279.59707" 746 - inkscape:document-units="px" 747 - inkscape:current-layer="layer2" 748 - showgrid="false" 749 - showguides="false" 750 - inkscape:guide-bbox="true" 751 - inkscape:snap-bbox="true" 752 - inkscape:bbox-paths="true" 753 - inkscape:snap-bbox-edge-midpoints="true" 754 - inkscape:snap-bbox-midpoints="true" 755 - inkscape:bbox-nodes="true" 756 - inkscape:object-paths="true" 757 - inkscape:snap-intersection-paths="true" 758 - inkscape:object-nodes="true" 759 - inkscape:snap-smooth-nodes="true" 760 - inkscape:snap-midpoints="true" 761 - inkscape:snap-object-midpoints="true" 762 - inkscape:snap-center="true" 763 - inkscape:snap-global="true" 764 - inkscape:window-width="1280" 765 - inkscape:window-height="975" 766 - inkscape:window-x="-6" 767 - inkscape:window-y="-6" 768 - inkscape:window-maximized="1" 769 - units="mm" 770 - inkscape:snap-page="true"> 771 - <sodipodi:guide 772 - orientation="1,0" 773 - position="-26.428571,713.57143" 774 - id="guide2997" /> 775 - <sodipodi:guide 776 - orientation="1,0" 777 - position="871.42857,687.14286" 778 - id="guide2999" /> 779 - <sodipodi:guide 780 - orientation="0,1" 781 - position="432.85714,1130" 782 - id="guide3001" /> 783 - <sodipodi:guide 784 - orientation="0,1" 785 - position="471.74124,-23.233509" 786 - id="guide3003" /> 787 - <sodipodi:guide 788 - orientation="1,0" 789 - position="102.53048,640.94179" 790 - id="guide3005" /> 791 - <sodipodi:guide 792 - orientation="0,1" 793 - position="55,1001.041" 794 - id="guide3009" /> 795 - <sodipodi:guide 796 - orientation="0,1" 797 - position="-26.428571,-260" 798 - id="guide3011" /> 799 - <sodipodi:guide 800 - orientation="0,1" 801 - position="71.720831,-388.95905" 802 - id="guide3013" /> 803 - <sodipodi:guide 804 - orientation="0,1" 805 - position="-76.771561,-1230.7142" 806 - id="guide3017" /> 807 - <sodipodi:guide 808 - orientation="0,1" 809 - position="102.53047,-1413.2335" 810 - id="guide3019" /> 811 - <sodipodi:guide 812 - orientation="1,0" 813 - position="742.46954,-1542.1926" 814 - id="guide3021" /> 815 - <sodipodi:guide 816 - orientation="1,0" 817 - position="724.28572,841.42857" 818 - id="guide3801" /> 819 - <sodipodi:guide 820 - orientation="0,1" 821 - position="733.37762,-407.14293" 822 - id="guide3807" /> 823 - <sodipodi:guide 824 - orientation="1,0" 825 - position="120.7143,-416.23485" 826 - id="guide3809" /> 827 - <sodipodi:guide 828 - orientation="0,1" 829 - position="-310.54114,-1212.5304" 830 - id="guide3811" /> 831 - <sodipodi:guide 832 - orientation="1,0" 833 - position="247.99726,88.761903" 834 - id="guide3912" /> 835 - <sodipodi:guide 836 - orientation="0,1" 837 - position="370.35714,52.151058" 838 - id="guide3914" /> 839 - <sodipodi:guide 840 - orientation="0,1" 841 - position="960.28125,-1299.1874" 842 - id="guide3918" /> 843 - <sodipodi:guide 844 - orientation="0,1" 845 - position="414.28571,159.28571" 846 - id="guide3943" /> 847 - <sodipodi:guide 848 - orientation="0,1" 849 - position="344.2078,79.258274" 850 - id="guide3976" /> 851 - <sodipodi:guide 852 - orientation="0,1" 853 - position="503.77446,53.552301" 854 - id="guide4043" /> 855 - <sodipodi:guide 856 - orientation="0,1" 857 - position="249.25,90.8125" 858 - id="guide4045" /> 859 - <sodipodi:guide 860 - orientation="1,0" 861 - position="24,640" 862 - id="guide8107" /> 863 - <sodipodi:guide 864 - orientation="0,1" 865 - position="23.999998,-1362.8048" 866 - id="guide8111" /> 867 - <sodipodi:guide 868 - orientation="1,0" 869 - position="821,-1388.0191" 870 - id="guide8113" /> 871 - <sodipodi:guide 872 - orientation="0,1" 873 - position="397.28571,-310.42857" 874 - id="guide8115" /> 875 - </sodipodi:namedview> 876 - <metadata 877 - id="metadata7"> 878 - <rdf:RDF> 879 - <cc:Work 880 - rdf:about=""> 881 - <dc:format>image/svg+xml</dc:format> 882 - <dc:type 883 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 884 - <dc:title /> 885 - </cc:Work> 886 - </rdf:RDF> 887 - </metadata> 888 - <g 889 - inkscape:groupmode="layer" 890 - id="layer2" 891 - inkscape:label="Warstwa" 892 - style="display:inline" 893 - transform="translate(0,-449.99988)"> 894 - <rect 895 - style="fill:url(#linearGradient3799);fill-opacity:1;fill-rule:evenodd;stroke:none" 896 - id="rect3023" 897 - width="354.33069" 898 - height="455.11252" 899 - x="0" 900 - y="524.01666" 901 - rx="22.324234" 902 - ry="22.324234" 903 - inkscape:export-filename="C:\Users\admin\Desktop\bitmap.png" 904 - inkscape:export-xdpi="15.820264" 905 - inkscape:export-ydpi="15.820264" /> 906 - <rect 907 - style="fill:#100e11;fill-opacity:1;fill-rule:evenodd;stroke:none" 908 - id="rect3015" 909 - width="252.54581" 910 - height="332.19055" 911 - x="50.892452" 912 - y="574.90906" 913 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 914 - inkscape:export-xdpi="6.2147975" 915 - inkscape:export-ydpi="6.2147975" /> 916 - <rect 917 - style="fill:#404040;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 918 - id="rect3465" 919 - width="238.19365" 920 - height="317.83841" 921 - x="58.068516" 922 - y="582.08514" 923 - ry="0" 924 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 925 - inkscape:export-xdpi="6.2147975" 926 - inkscape:export-ydpi="6.2147975" /> 927 - <g 928 - transform="matrix(0.03285838,0,0,0.03285326,29.302653,579.28364)" 929 - style="fill-rule:evenodd;display:inline" 930 - id="g1619-8-5-9" 931 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 932 - inkscape:export-xdpi="6.2147975" 933 - inkscape:export-ydpi="6.2147975"> 934 - <defs 935 - id="defs1621-8-8-3" /> 936 - <path 937 - inkscape:connector-curvature="0" 938 - style="fill:#000000" 939 - id="path1630-2-6-0" 940 - d="m 875.45,3825.1 7249.1,0 0,-2244.3 -7249.1,0 0,2244.3 z" /> 941 - <path 942 - inkscape:connector-curvature="0" 943 - style="fill:#ffffff" 944 - id="path1632-4-7-7" 945 - d="m 1333.89,3695.16 c 0,-31.54 -25.56,-57.1 -57.09,-57.1 -31.53,0 -57.09,25.56 -57.09,57.1 0,31.52 25.56,57.09 57.09,57.09 31.53,0 57.09,-25.57 57.09,-57.09 z m 179.32,-47.8 c 22.95,-15.62 53.43,-11.19 71.41,10.35 18,21.54 18,53.62 0,75.18 -17.98,21.54 -48.46,25.95 -71.41,10.34 l 0,47.31 -30.24,0 0,-149.7 30.24,0 0,6.52 z m 345.25,47.79 c 0,-31.54 -25.56,-57.09 -57.09,-57.09 -31.52,0 -57.08,25.55 -57.08,57.09 0,31.53 25.56,57.09 57.08,57.09 16.25,0 30.93,-6.79 41.32,-17.69 l -21.85,-20.84 21.85,20.84 -21.85,-20.84 c -5.59,5.87 -13.55,8.9 -21.66,8.24 -8.09,-0.69 -15.45,-4.98 -20.01,-11.69 l 77.28,0 c 1.32,-4.82 2.01,-9.88 2.01,-15.11 z m 1896.14,0 c 0,-31.54 -25.56,-57.09 -57.1,-57.09 -31.51,0 -57.08,25.55 -57.08,57.09 0,31.53 25.57,57.09 57.08,57.09 16.26,0 30.93,-6.79 41.33,-17.69 l -21.84,-20.84 21.84,20.84 -21.84,-20.84 c -5.61,5.87 -13.57,8.9 -21.67,8.24 -8.1,-0.69 -15.46,-4.98 -20.02,-11.69 l 77.29,0 c 1.32,-4.82 2.01,-9.88 2.01,-15.11 z m 1128.28,0 c 0,-31.54 -25.56,-57.09 -57.08,-57.09 -31.53,0 -57.08,25.55 -57.08,57.09 0,31.53 25.55,57.09 57.08,57.09 16.25,0 30.92,-6.79 41.32,-17.69 l -21.85,-20.84 21.85,20.84 -21.85,-20.84 c -5.61,5.87 -13.56,8.9 -21.66,8.24 -8.08,-0.69 -15.44,-4.98 -20.01,-11.69 l 77.28,0 c 1.32,-4.82 2,-9.88 2,-15.11 z m 2883.6,0 c 0,-31.54 -25.56,-57.09 -57.08,-57.09 -31.53,0 -57.09,25.55 -57.09,57.09 0,31.53 25.56,57.09 57.09,57.09 16.24,0 30.92,-6.79 41.31,-17.69 l -21.85,-20.84 21.85,20.84 -21.85,-20.84 c -5.59,5.87 -13.55,8.9 -21.66,8.24 -8.08,-0.69 -15.44,-4.98 -20.01,-11.69 l 77.28,0 c 1.32,-4.82 2.01,-9.88 2.01,-15.11 z m -5660.49,-8.49 c 0,-18.27 -8.91,-35.01 -23.06,-43.31 -14.14,-8.29 -31.13,-6.74 -43.96,4.01 l 0,-6.52 -30.24,0 0,108.93 30.24,0 0,-63.11 c 0,-10.16 8.22,-18.38 18.38,-18.38 10.16,0 18.39,8.22 18.39,18.38 l 0,63.11 30.25,0 0,-63.11 z m 437.24,-14.09 c 0,-14.47 -10.9,-27.39 -27.31,-32.39 -16.4,-4.98 -34.82,-0.99 -46.13,10.03 -11.32,11.02 -13.14,26.71 -4.56,39.3 4.34,6.08 10.52,10.54 17.62,12.76 8.04,2.71 16.25,4.9 24.57,6.57 6.82,1.33 10.41,4.73 8.42,7.96 -1.98,3.22 -8.96,5.3 -16.32,4.84 -7.35,-0.46 -12.83,-3.3 -12.83,-6.64 l 0,-3.23 -30.21,0 0,3.23 c 0,16.03 12.23,30.29 30.43,35.5 18.2,5.21 38.37,0.22 50.18,-12.45 11.83,-12.64 12.7,-30.17 2.18,-43.59 -6.1,-7.12 -14.48,-11.87 -23.72,-13.42 -7.3,-1.36 -14.52,-3.13 -21.63,-5.27 -3.94,-1.31 -5,-3.46 -2.54,-5.2 2.46,-1.75 7.79,-2.65 12.91,-2.16 5.12,0.46 8.73,2.18 8.73,4.16 l 0,1.5 30.21,0 0,-1.5 z m 263.01,22.59 c 0,-31.54 -25.56,-57.1 -57.09,-57.1 -31.53,0 -57.09,25.56 -57.09,57.1 0,31.52 25.56,57.09 57.09,57.09 31.53,0 57.09,-25.57 57.09,-57.09 z m 149.73,8.78 0,-63.1 30.23,0 0,63.1 c 0,10.15 8.25,18.39 18.4,18.39 10.15,0 18.38,-8.24 18.38,-18.39 l 0,-63.1 30.24,0 0,108.93 -30.24,0 0,-6.54 c -12.83,10.76 -29.81,12.31 -43.96,4.01 -14.14,-8.28 -23.05,-25.01 -23.05,-43.3 z m 279.74,-56.58 0,-6.52 -30.24,0 0,108.93 30.24,0 0,-54.61 c 0,-7.14 2.84,-13.97 7.87,-19.02 5.05,-5.03 11.89,-7.86 19,-7.86 l 0,-30.12 c -9.57,0.56 -18.83,3.74 -26.87,9.2 z m 266.04,8.38 c -10.39,-10.88 -25.07,-17.68 -41.32,-17.68 -31.51,0 -57.07,25.54 -57.07,57.08 0,0 0,0 0,0.01 0,31.52 25.56,57.08 57.07,57.08 16.25,0 30.93,-6.8 41.32,-17.7 l -21.86,-20.83 c -4.88,5.11 -11.79,8.32 -19.43,8.32 -14.83,0 -26.87,-12.04 -26.88,-26.87 0,-0.01 0,-0.01 0,-0.01 0.01,-14.84 12.05,-26.86 26.88,-26.86 7.64,0 14.55,3.19 19.43,8.3 l 21.86,-20.84 z m 3499.75,39.33 -15.58,-54.23 -26.99,0 -15.58,54.23 -15.58,-54.23 -31.45,0 31.3,108.93 31.44,0 13.36,-46.5 13.37,46.5 31.43,0 31.31,-108.93 -31.44,0 -15.59,54.23 m -767.53,-89.7 -30.23,0 0,30.21 30.23,0 0,-30.21 m 0,35.47 -30.23,0 0,108.93 30.23,0 0,-108.93 m -626.55,54.51 33.66,54.42 -35.61,0 -15.84,-25.64 -15.87,25.64 -35.59,0 33.65,-54.42 -33.71,-54.51 35.6,0 15.92,25.73 15.91,-25.73 35.6,0 -33.72,54.51 m -1012.87,-54.51 -27.71,44.82 0,-80.29 -30.25,0 0,144.4 30.25,0 0,-45.43 34.06,45.43 37.76,0 -41.57,-55.46 33.07,-53.47 -35.61,0 m -460.66,-35.47 -30.24,0 0,30.21 30.24,0 0,-30.21 m 0,149.71 0,-114.24 -30.24,0 0,114.27 c 0,2.89 -2.34,5.22 -5.22,5.22 l -8.56,0 0,30.21 8.56,0 c 19.59,0 35.46,-15.89 35.46,-35.46 m 1273.22,-59.92 c 0,-31.54 -25.56,-57.1 -57.09,-57.1 -31.52,0 -57.08,25.56 -57.08,57.1 0,31.52 25.56,57.09 57.08,57.09 31.53,0 57.09,-25.57 57.09,-57.09 z m -1052.95,48.07 0,6.54 30.23,0 0,-108.93 -30.23,0 0,63.1 c 0,10.15 -8.24,18.39 -18.39,18.39 -10.16,0 -18.39,-8.24 -18.39,-18.39 l 0,-63.1 -30.24,0 0,63.1 c 0,18.29 8.89,35.02 23.04,43.3 14.16,8.3 31.14,6.75 43.98,-4.01 z m 707.46,-95.87 0,-41.99 -30.23,0 0,144.4 30.23,0 0,-6.54 c 22.95,15.61 53.43,11.2 71.42,-10.34 17.99,-21.56 17.99,-53.63 0,-75.18 -17.99,-21.54 -48.47,-25.97 -71.42,-10.35 z m 992.23,-11.78 -25.1,0 c -0.66,-0.06 -1.32,0.18 -1.81,0.67 -0.48,0.47 -0.72,1.13 -0.66,1.81 l 0,2.78 0,0 13.79,0 0,30.22 -13.79,0 0,78.71 -30.24,0 0,-78.71 -13.79,0 0,-30.22 13.79,0 c 0,-19.59 15.88,-35.47 35.46,-35.47 l 22.35,0 0,30.21 z m 390.01,2.58 0,30.12 c -7.13,0 -13.97,2.83 -19.01,7.86 -5.05,5.05 -7.87,11.88 -7.87,19.02 l 0,54.61 -30.25,0 0,-108.93 30.25,0 0,6.52 c 8.03,-5.46 17.29,-8.64 26.88,-9.2 z m 177.25,9.2 0,-6.52 -30.24,0 0,108.93 30.24,0 0,-63.11 c 0,-10.16 8.24,-18.38 18.4,-18.38 10.15,0 18.38,8.22 18.38,18.38 l 0,63.11 30.24,0 0,-63.11 c 0,-10.16 8.24,-18.38 18.4,-18.38 10.15,0 18.39,8.22 18.39,18.38 l 0,63.11 30.23,0 -0.01,-63.11 c 0,-19.18 -11.27,-36.57 -28.78,-44.38 -17.51,-7.83 -38.01,-4.63 -52.28,8.17 -14.83,-15.27 -36.89,-16.56 -52.97,-3.09 z m 646.89,0 0,-6.52 30.26,0 0,108.93 -30.26,0 0,-6.54 c -22.94,15.61 -53.41,11.2 -71.39,-10.34 -17.99,-21.56 -17.99,-53.63 0,-75.18 17.98,-21.54 48.45,-25.97 71.39,-10.35 z m 243.81,-9.2 0,30.12 c -7.12,0 -13.96,2.83 -19.01,7.86 -5.03,5.05 -7.87,11.88 -7.87,19.02 l 0,54.61 -30.23,0 0,-108.93 30.23,0 0,6.52 c 8.03,-5.46 17.31,-8.64 26.88,-9.2 z" /> 946 - <path 947 - inkscape:connector-curvature="0" 948 - style="fill:#000000" 949 - id="path1634-5-7-7" 950 - d="m 1303.67,3695.16 c 0,-14.85 -12.02,-26.88 -26.87,-26.88 -14.84,0 -26.89,12.03 -26.89,26.88 0,14.84 12.05,26.88 26.89,26.88 14.85,0 26.87,-12.04 26.87,-26.88 z m 3499.91,-15.11 44.46,0 c -5,-7.37 -13.32,-11.77 -22.23,-11.77 -8.9,0 -17.23,4.4 -22.23,11.77 m -1128.28,0 44.47,0 c -5.01,-7.37 -13.33,-11.77 -22.23,-11.77 -8.91,0 -17.22,4.4 -22.24,11.77 m -899.27,15.11 c 0,-14.85 -12.03,-26.88 -26.88,-26.88 -14.84,0 -26.87,12.03 -26.87,26.88 0,14.84 12.03,26.88 26.87,26.88 14.85,0 26.88,-12.04 26.88,-26.88 z m 2600.88,0 c 0,-14.85 -12.04,-26.88 -26.89,-26.88 -14.85,0 -26.87,12.03 -26.87,26.88 0,14.84 12.02,26.88 26.87,26.88 14.85,0 26.89,-12.04 26.89,-26.88 z m -261.53,0 c 0,-14.85 -12.03,-26.88 -26.88,-26.88 -14.84,0 -26.88,12.03 -26.88,26.88 0,14.84 12.04,26.88 26.88,26.88 14.85,0 26.88,-12.04 26.88,-26.88 z m -3548.42,0.29 c 0,-14.85 -12.02,-26.88 -26.88,-26.88 -14.83,0 -26.87,12.03 -26.87,26.88 0,14.84 12.04,26.88 26.87,26.88 14.86,0 26.88,-12.04 26.88,-26.88 z m 212.21,-15.4 44.47,0 c -5.01,-7.37 -13.34,-11.77 -22.24,-11.77 -8.9,0 -17.23,4.4 -22.23,11.77 m 5908,0 44.47,0 c -5,-7.37 -13.33,-11.77 -22.23,-11.77 -8.91,0 -17.23,4.4 -22.24,11.77 M 7268,3695.16 c 0,-14.85 -12.02,-26.88 -26.86,-26.88 -14.85,0 -26.88,12.03 -26.88,26.88 0,14.84 12.03,26.88 26.88,26.88 14.84,0 26.86,-12.04 26.86,-26.88 z" /> 951 - <path 952 - inkscape:connector-curvature="0" 953 - style="fill:#ffc000" 954 - id="path1636-5-2-8" 955 - d="m 918.37,1633.25 7156.1,0 0,1906.25 -7156.1,0 0,-1906.25" /> 956 - <path 957 - inkscape:connector-curvature="0" 958 - style="fill:url(#linearGradient6823)" 959 - id="path1638-1-2-7" 960 - d="m 6542.59,3424.95 0,0 m 1512.67,-313.2 19.21,0 0,10.92 -8.28,0 0,43.65 -10.93,0 0,-54.57 m -54.55,0 32.74,0 0,10.92 -32.74,0 0,-10.92 m 0,43.64 32.74,0 0,10.93 -32.74,0 0,-10.93 m -76.4,-43.64 0,0 0,0 0,0 0,0 m 21.83,10.92 10.91,0 0,43.65 -10.91,0 0,-43.65 m 10.91,-10.92 10.92,0 0,10.92 -10.92,0 0,-10.92 m 10.92,10.92 10.92,0 0,43.65 -10.92,0 0,-43.65 m -43.66,-10.92 21.83,0 0,10.92 -10.92,0 0,43.65 -10.91,0 0,-54.57 m -21.83,-10.92 10.92,0 0,21.84 -10.92,0 0,-21.84 m 0,32.74 10.92,0 0,21.82 -10.92,0 0,-21.82 m -87.3,-21.82 10.92,0 0,21.82 -10.92,0 0,-21.82 m -78.14,0 10.91,0 0,10.92 -10.91,0 0,-10.92 m -32.74,21.82 10.92,0 0,21.82 -10.92,0 0,-21.82 m -42,21.82 42,0 0,10.93 -42,0 0,-10.93 m -43.65,-32.72 10.91,0 0,10.9 -10.91,0 0,-10.9 m -10.91,-32.75 32.74,0 0,10.91 -32.74,0 0,-10.91 m 0,65.47 32.74,0 0,10.93 -32.74,0 0,-10.93 m -54.57,-65.47 21.83,0 0,10.91 -21.83,0 0,-10.91 m -10.91,10.91 10.91,0 0,10.92 -10.91,0 0,-10.92 m 32.74,32.74 10.91,0 0,21.82 -10.91,0 0,-21.82 m 294.75,-140.69 43.65,0 0,10.93 -43.65,0 0,-10.93 m -10.91,10.93 10.91,0 0,10.9 -10.91,0 0,-10.9 m 10.91,10.9 32.73,0 0,10.92 -32.73,0 0,-10.92 m 32.73,10.92 10.92,0 0,10.9 -10.92,0 0,-10.9 m -43.64,10.9 43.64,0 0,10.92 -43.64,0 0,-10.92 m 65.47,-43.65 10.91,0 0,43.65 -10.91,0 0,-43.65 m 10.91,65.48 32.75,0 0,10.92 -32.75,0 0,-10.92 m 54.57,-21.83 43.66,0 0,10.92 -43.66,0 0,-10.92 m 43.66,-10.9 10.91,0 0,10.9 -10.91,0 0,-10.9 m -32.74,-10.92 32.74,0 0,10.92 -32.74,0 0,-10.92 m -10.92,-10.9 10.92,0 0,10.9 -10.92,0 0,-10.9 m 10.92,-10.93 43.65,0 0,10.93 -43.65,0 0,-10.93 m -130.96,237.73 43.65,0 0,10.91 -43.65,0 0,-10.91 m -10.91,10.91 10.91,0 0,10.91 -10.91,0 0,-10.91 m 10.91,10.91 32.73,0 0,10.92 -32.73,0 0,-10.92 m 32.73,10.92 10.92,0 0,10.93 -10.92,0 0,-10.93 m -43.64,10.93 43.64,0 0,10.9 -43.64,0 0,-10.9 m -262.32,0 43.65,0 0,10.9 -43.65,0 0,-10.9 m 43.65,-10.93 10.9,0 0,10.93 -10.9,0 0,-10.93 m -32.75,-10.92 32.75,0 0,10.92 -32.75,0 0,-10.92 m -10.9,-10.91 10.9,0 0,10.91 -10.9,0 0,-10.91 m 10.9,-10.91 43.65,0 0,10.91 -43.65,0 0,-10.91 m -328.02,118.87 43.66,0 0,10.91 -43.66,0 0,-10.91 m -10.9,10.91 10.9,0 0,10.91 -10.9,0 0,-10.91 m 10.9,10.91 32.74,0 0,10.92 -32.74,0 0,-10.92 m 32.74,10.92 10.92,0 0,10.91 -10.92,0 0,-10.91 m -43.64,10.91 43.64,0 0,10.91 -43.64,0 0,-10.91 m -724.99,0 43.64,0 0,10.91 -43.64,0 0,-10.91 m 43.64,-10.91 10.91,0 0,10.91 -10.91,0 0,-10.91 m -32.74,-10.92 32.74,0 0,10.92 -32.74,0 0,-10.92 m -10.9,-10.91 10.9,0 0,10.91 -10.9,0 0,-10.91 m 10.9,-10.91 43.65,0 0,10.91 -43.65,0 0,-10.91 m 1173.46,0 21.83,0 0,10.91 -10.91,0 0,43.65 -10.92,0 0,-54.56 m 43.66,10.91 10.91,0 0,43.65 -10.91,0 0,-43.65 m -10.92,-10.91 10.92,0 0,10.91 -10.92,0 0,-10.91 m -10.91,10.91 10.91,0 0,43.65 -10.91,0 0,-43.65 m -21.83,-10.91 0,0 0,0 0,0 0,0 m -1051.63,0 0,0 0,0 0,0 0,0 m 21.83,10.91 10.92,0 0,43.65 -10.92,0 0,-43.65 m 10.92,-10.91 10.9,0 0,10.91 -10.9,0 0,-10.91 m 10.9,10.91 10.92,0 0,43.65 -10.92,0 0,-43.65 m -43.65,-10.91 21.83,0 0,10.91 -10.91,0 0,43.65 -10.92,0 0,-54.56 m 1291.73,-312.95 0,-43.65 10.92,0 0,65.48 -10.92,0 0,-10.91 -32.75,0 0,-10.92 32.75,0 m -853.76,354.96 0,-43.67 10.93,0 0,65.49 -10.93,0 0,-10.92 -32.73,0 0,-10.9 32.73,0 m -32.73,21.82 32.73,0 0,10.9 -32.73,0 0,-10.9 m -10.91,-65.49 10.91,0 0,43.67 -10.91,0 0,-43.67 m 919.22,-225.15 10.92,0 0,10.9 32.74,0 0,-10.9 10.91,0 0,21.82 -43.65,0 0,10.9 -10.92,0 0,-32.72 m -196.44,118.85 10.92,0 0,10.91 32.74,0 0,-10.91 10.9,0 0,21.83 -43.64,0 0,10.93 -10.92,0 0,-32.76 m 10.92,32.76 32.74,0 0,10.9 -32.74,0 0,-10.9 m 0,-43.67 32.74,0 0,10.91 -32.74,0 0,-10.91 m -262.33,0 32.74,0 0,10.91 -32.74,0 0,-10.91 m 0,43.67 32.74,0 0,10.9 -32.74,0 0,-10.9 m -10.91,-32.76 10.91,0 0,10.91 32.74,0 0,-10.91 10.91,0 0,21.83 -43.65,0 0,10.93 -10.91,0 0,-32.76 m 393.28,118.87 10.91,0 0,10.91 32.75,0 0,-10.91 10.92,0 0,21.83 -43.67,0 0,10.91 -10.91,0 0,-32.74 m 10.91,32.74 32.75,0 0,10.91 -32.75,0 0,-10.91 m 0,-43.65 32.75,0 0,10.91 -32.75,0 0,-10.91 m 130.97,0 8.28,0 0,10.91 -8.28,0 0,-10.91 m 0,43.65 8.28,0 0,10.91 -8.28,0 0,-10.91 m -10.93,-32.74 10.93,0 0,10.91 8.28,0 0,0 0,0 0,10.92 -8.28,0 0,10.91 -10.93,0 0,-32.74 m -1564.68,-10.91 32.74,0 0,10.91 -32.74,0 0,-10.91 m 0,43.65 32.74,0 0,10.91 -32.74,0 0,-10.91 m -10.92,-32.74 10.92,0 0,10.91 32.74,0 0,-10.91 10.91,0 0,21.83 -43.65,0 0,10.91 -10.92,0 0,-32.74 m 140.22,21.83 21.82,0 0,20.17 -21.82,0 0,-20.17 m 1315.34,-151.61 32.75,0 0,10.91 -32.75,0 0,-10.91 m -10.91,10.91 10.91,0 0,32.76 -10.91,0 0,-32.76 m 10.91,32.76 32.75,0 0,10.9 -32.75,0 0,-10.9 m 32.75,-10.93 10.92,0 0,10.93 -10.92,0 0,-10.93 m 32.74,-32.74 32.74,0 0,10.91 -32.74,0 0,-10.91 m -10.92,32.74 10.92,0 0,10.93 -10.92,0 0,-10.93 m -876.5,0 10.91,0 0,10.93 -10.91,0 0,-10.93 m -32.74,10.93 32.74,0 0,10.9 -32.74,0 0,-10.9 m -10.92,-32.76 10.92,0 0,32.76 -10.92,0 0,-32.76 m 10.92,-10.91 32.74,0 0,10.91 -32.74,0 0,-10.91 m 603.67,-21.83 10.92,0 0,10.92 -10.92,0 0,-10.92 m 65.48,43.65 10.91,0 0,10.92 -10.91,0 0,-10.92 m -327.81,-21.82 21.83,0 0,10.91 -21.83,0 0,-10.91 m 21.83,10.91 10.92,0 0,43.66 -10.92,0 0,-43.66 m -297.69,-10.91 31.09,0 0,10.91 -31.09,0 0,-10.91 m -10.91,10.91 10.91,0 0,32.76 -10.91,0 0,-32.76 m 10.91,32.76 31.09,0 0,10.9 -31.09,0 0,-10.9 m 31.09,-32.76 10.91,0 0,32.76 -10.91,0 0,-32.76 m 526.25,118.87 10.91,0 0,32.74 -10.91,0 0,-32.74 m -31.09,32.74 31.09,0 0,10.91 -31.09,0 0,-10.91 m -10.91,-32.74 10.91,0 0,32.74 -10.91,0 0,-32.74 m 10.91,-10.91 31.09,0 0,10.91 -31.09,0 0,-10.91 m -272.22,-118.87 10.92,0 0,10.91 10.91,0 0,10.91 -10.91,0 0,32.75 -10.92,0 0,-54.57 m 655.2,0 10.93,0 0,10.91 8.28,0 0,10.91 -8.28,0 0,32.75 -10.93,0 0,-54.57 m -535.15,54.57 -10.9,0 0,-10.9 -10.92,0 0,-10.93 10.92,0 0,-32.74 10.9,0 0,54.57 m -43.65,-10.9 -10.91,0 0,-43.67 10.91,0 0,43.67 m 21.83,10.9 -21.83,0 0,-10.9 21.83,0 0,10.9 m -294.66,-54.57 10.92,0 0,10.91 10.91,0 0,10.91 -10.91,0 0,32.75 -10.92,0 0,-54.57 m 43.65,10.91 10.91,0 0,43.66 -10.91,0 0,-43.66 m -21.82,-10.91 21.82,0 0,10.91 -21.82,0 0,-10.91 m 326.77,118.87 21.82,0 0,10.91 -21.82,0 0,-10.91 m 21.82,10.91 10.92,0 0,43.65 -10.92,0 0,-43.65 m -43.65,-10.91 10.93,0 0,10.91 10.9,0 0,10.91 -10.9,0 0,32.74 -10.93,0 0,-54.56 m 361.17,54.56 -21.82,0 0,-10.91 21.82,0 0,10.91 m -21.82,-10.91 -10.91,0 0,-43.65 10.91,0 0,43.65 m 43.65,10.91 -10.92,0 0,-10.91 -10.91,0 0,-10.91 10.91,0 0,-32.74 10.92,0 0,54.56 m 130.96,0 -10.91,0 0,-10.91 -10.91,0 0,-10.91 10.91,0 0,-32.74 10.91,0 0,54.56 m -43.65,-10.91 -10.92,0 0,-43.65 10.92,0 0,43.65 m 21.83,10.91 -21.83,0 0,-10.91 21.83,0 0,10.91 m 10.91,-162.52 10.91,0 0,43.66 -43.65,0 0,-10.9 32.74,0 0,-10.93 -32.74,0 0,-10.92 32.74,0 0,-10.91 m -524.87,118.87 10.91,0 0,43.65 -43.65,0 0,-10.91 32.74,0 0,-10.91 -32.74,0 0,-10.92 32.74,0 0,-10.91 m -43.66,21.83 10.92,0 0,10.91 -10.92,0 0,-10.91 m 10.92,-32.74 32.74,0 0,10.91 -32.74,0 0,-10.91 m -459.84,0 32.74,0 0,10.91 -32.74,0 0,-10.91 m -10.92,32.74 10.92,0 0,10.91 -10.92,0 0,-10.91 m 43.66,-21.83 10.91,0 0,43.65 -43.65,0 0,-10.91 32.74,0 0,-10.91 -32.74,0 0,-10.92 32.74,0 0,-10.91 m 853.74,-270.47 -43.64,0 0,76.4 43.64,0 0,-10.93 -32.73,0 0,-21.82 32.73,0 0,-10.9 -32.73,0 0,-21.84 32.73,0 0,-10.91 m -109.13,0 0,76.4 10.92,0 0,-54.57 10.91,0 0,-10.92 -10.91,0 0,-10.91 -10.92,0 m 54.56,0 0,76.4 -10.9,0 0,-54.57 -10.91,0 0,-10.92 10.91,0 0,-10.91 10.9,0 m -89.04,0 10.91,0 0,43.65 10.92,0 0,10.92 -10.92,0 0,21.83 -10.91,0 0,-21.83 -32.74,0 0,-21.82 10.91,0 0,10.9 21.83,0 0,-21.82 -10.92,0 0,-10.92 10.92,0 0,-10.91 m -96.57,0 0,10.91 31.09,0 0,10.92 10.91,0 0,-10.92 10.92,0 0,-10.91 -52.92,0 m 31.09,21.83 -10.91,0 0,10.92 -10.91,0 0,10.9 32.73,0 0,-10.9 -10.91,0 0,-10.92 m -96.56,-10.92 0,54.56 10.91,0 0,-10.9 10.91,0 0,-10.92 -10.91,0 0,-32.74 -10.91,0 m 43.65,0 0,10.92 -10.92,0 0,10.92 10.92,0 0,32.72 10.91,0 0,-54.56 -10.91,0 m -109.13,10.92 0,43.64 10.91,0 0,-21.82 32.74,0 0,-10.9 -32.74,0 0,-10.92 -10.91,0 m 10.91,43.64 32.74,0 0,10.93 -32.74,0 0,-10.93 m -702.32,194.09 -10.92,0 0,10.91 -10.9,0 0,10.91 32.73,0 0,-10.91 -10.91,0 0,-10.91 m -31.08,-21.83 0,10.91 31.08,0 0,10.92 10.91,0 0,-10.92 10.92,0 0,-10.91 -52.91,0 m 0,65.48 41.99,0 0,10.91 -41.99,0 0,-10.91 m 41.99,-21.83 10.92,0 0,21.83 -10.92,0 0,-21.83 m 877.02,-140.69 0,10.91 32.74,0 0,10.91 10.92,0 0,-10.91 10.91,0 0,-10.91 -54.57,0 m 10.92,32.74 10.91,0 0,10.93 32.74,0 0,10.9 -54.57,0 0,-10.9 10.92,0 0,-10.93 m -65.48,-32.74 21.83,0 0,43.67 10.91,0 0,10.9 -32.74,0 0,-10.9 10.91,0 0,-32.76 -10.91,0 0,-10.91 m -327.8,0 21.82,0 0,43.67 10.92,0 0,10.9 -32.74,0 0,-10.9 10.9,0 0,-32.76 -10.9,0 0,-10.91 m 10.9,-21.83 10.92,0 0,10.92 -10.92,0 0,-10.92 m -131.58,118.87 10.92,0 0,10.91 -10.92,0 0,-10.91 m -10.91,21.83 21.83,0 0,43.65 10.92,0 0,10.91 -32.75,0 0,-10.91 10.91,0 0,-32.74 -10.91,0 0,-10.91 m 98.84,-86.13 10.93,0 0,10.93 -10.93,0 0,-10.93 m -10.9,10.93 10.9,0 0,10.9 -10.9,0 0,-10.9 m -10.92,-65.5 10.92,0 0,21.83 10.9,0 0,10.91 -10.9,0 0,32.76 -10.92,0 0,-32.76 -10.91,0 0,-10.91 10.91,0 0,-21.83 m 64.86,118.87 10.9,0 0,21.83 10.93,0 0,10.91 -10.93,0 0,32.74 -10.9,0 0,-32.74 -10.93,0 0,-10.91 10.93,0 0,-21.83 m 10.9,65.48 10.93,0 0,10.91 -10.93,0 0,-10.91 m 10.93,-10.91 10.9,0 0,10.91 -10.9,0 0,-10.91 m 21.82,-32.74 10.91,0 0,10.91 10.91,0 0,10.91 -10.91,0 0,32.74 -10.91,0 0,-54.56 m 43.65,10.91 10.92,0 0,12.57 -10.92,0 0,-12.57 m -21.83,-10.91 21.83,0 0,10.91 -21.83,0 0,-10.91 m -274.31,-21.83 20.17,0 0,65.48 10.92,0 0,9.26 -31.09,0 0,-9.26 10.9,0 0,-54.57 -10.9,0 0,-10.91 m -194.79,0 20.17,0 0,65.48 10.92,0 0,9.26 -31.09,0 0,-9.26 10.91,0 0,-54.57 -10.91,0 0,-10.91 m 654.63,21.83 21.82,0 0,10.91 -21.82,0 0,-10.91 m -10.92,10.91 10.92,0 0,32.74 -10.92,0 0,-32.74 m 32.74,0 10.91,0 0,-32.74 10.92,0 0,74.74 -43.65,0 0,-9.26 32.73,0 0,-21.83 -10.91,0 0,-10.91 m 164.73,0 10.92,0 0,32.74 -10.92,0 0,-32.74 m 10.92,-10.91 21.83,0 0,10.91 -21.83,0 0,-10.91 m 21.83,10.91 10.91,0 0,-10.91 10.9,0 0,74.73 -10.9,0 0,-21.82 -32.74,0 0,-9.26 32.74,0 0,-21.83 -10.91,0 0,-10.91 m -908.31,-10.91 -21.84,0 0,10.91 21.84,0 0,-10.91 m -21.84,10.91 -10.91,0 0,-10.91 -10.91,0 0,74.73 10.91,0 0,-21.82 32.75,0 0,-9.26 -32.75,0 0,-21.83 10.91,0 0,-10.91 m 32.74,0 -10.9,0 0,32.74 10.9,0 0,-32.74 m -132.4,0 -10.93,0 0,32.74 10.93,0 0,-32.74 m -32.74,0 -10.91,0 0,-10.91 -10.93,0 0,74.73 10.93,0 0,-21.82 32.72,0 0,-9.26 -32.72,0 0,-21.83 10.91,0 0,-10.91 m 21.81,-10.91 -21.81,0 0,10.91 21.81,0 0,-10.91 m -242.77,75.47 0,0" /> 961 - <path 962 - inkscape:connector-curvature="0" 963 - style="fill:#000000" 964 - id="path1640-7-9-3" 965 - d="m 2772.69,2181.06 c -98.54,-428.82 -353.71,-447.47 -413.71,-447.47 l 0,-25.08 c 133.05,0 348.1,94.96 426.25,420.85 100.11,-325.2 271.08,-412.49 391.07,-414.14 114.35,-1.58 184.87,25.07 293.24,81.53 l 0,-50.89 312.9,0 0,-42.89 25.07,0 0,42.89 53.05,0 0,25.07 -53.05,0 0,613.13 225.02,-568.78 215.58,0 18.78,-44.35 -268.62,0 0,-25.07 279.26,0 29.52,-69.67 23.08,9.79 -25.39,59.88 59.43,0 0,25.07 -70.05,0 -175.35,413.86 232.24,0 0,310.18 c 217.36,-106.98 477.4,-28.48 608.47,180.93 130.01,-200.39 383.99,-280.25 605.28,-190.31 l -8.81,-14.24 374.02,0 74.73,120.8 72.97,-117.99 c 1.08,-1.75 2.98,-2.81 5.05,-2.81 l 0,0 c 2.14,0 4.12,1.16 5.15,3.04 1.06,1.88 1.01,4.17 -0.12,6 l -76.09,123.02 9.74,15.76 89.7,-145.01 c 1.08,-1.75 2.98,-2.81 5.04,-2.81 l 0,0 c 2.15,0 4.13,1.16 5.17,3.04 1.05,1.88 0.99,4.17 -0.14,6 l -92.8,150.04 9.75,15.77 108.15,-174.85 374.01,0 -295.16,477.2 9.76,15.76 311.43,-503.52 -388.55,0 c -2.13,0 -4.12,-1.16 -5.17,-3.03 -1.04,-1.9 -0.99,-4.18 0.14,-6.01 l 0,0 c 1.09,-1.74 2.99,-2.8 5.03,-2.8 l 409.8,0 -309,499.6 289.06,467.36 c 1.14,1.84 1.19,4.13 0.15,6.01 -1.04,1.87 -3.03,3.03 -5.18,3.03 -2.05,0 -3.96,-1.06 -5.03,-2.8 l -285.98,-462.35 -9.75,15.76 277.96,449.39 -374.01,0 -71.44,-115.5 -69.72,112.7 c -1.08,1.74 -2.97,2.8 -5.04,2.8 l 0,0 c -0.96,0 -1.92,-0.24 -2.78,-0.7 -0.85,0.46 -1.81,0.7 -2.79,0.7 -2.13,0 -4.12,-1.16 -5.17,-3.03 -1.05,-1.88 -1,-4.17 0.14,-6.01 l 75.6,-122.22 -9.75,-15.77 -89.2,144.23 c -1.08,1.74 -2.99,2.8 -5.05,2.8 -2.14,0 -4.11,-1.16 -5.16,-3.03 -1.05,-1.88 -0.99,-4.17 0.13,-6.01 l 92.32,-149.25 -9.75,-15.76 -107.65,174.05 -374.02,0 10.94,-17.7 c -221.48,91.5 -476.71,12.28 -607.46,-188.54 -130.9,209.94 -391.28,286.75 -608.92,179.63 l 0,26.61 -317.8,0 0,-2.38 -52.45,0 22.91,64.68 -23.64,8.36 -25.87,-73.04 -100.74,0 0,-25.07 91.86,0 -187.19,-528.36 -11.05,26.94 0,528.87 -207.29,0 0,-1609.67 207.29,0 0,721.65 35.4,-89.48 0,-676.52 -287.82,0 0,73.28 c -124.87,-83.95 -208.53,-103.92 -318.32,-103.92 -86.93,0 -277.7,63.37 -378.54,440.77 l -25.07,0 z m 448.99,1277.73 -395.21,0.02 0,-25.08 269.89,0 c -205.67,-91.32 -295.28,-421.82 -295.28,-813.61 0,-461.94 124.51,-838.69 417.02,-838.69 134.42,0 210.79,69.05 276.52,131.98 l 0,41.04 c 0.02,0.04 0.05,0.08 0.07,0.11 l -0.02,347.84 -22.33,0 c -48.46,-88.29 -137.56,-212.3 -229.57,-212.3 -153.37,0 -229.22,237.52 -227.3,530.02 -1.92,292.5 73.93,530.02 227.3,530.02 92.01,0 181.11,-124.01 229.57,-212.32 l 22.33,0 0.02,347.85 c -0.02,0.04 -0.05,0.08 -0.07,0.12 l 0,41.04 c -65.14,62.36 -140.75,130.73 -272.94,131.96 z M 2355.94,1781.43 c 289.99,0 413.44,395.49 413.44,838.69 0,443.19 -123.45,838.69 -413.44,838.69 -289.99,0 -413.43,-376.76 -413.43,-838.69 0,-461.94 123.44,-838.69 413.43,-838.69 z m -721.95,33.85 -377.58,0 0,934.79 c 2.43,6.54 4.86,13.08 7.27,19.62 16.95,-4.64 34.54,-6.51 52.09,-5.59 34.33,1.85 65.28,21.33 81.77,51.51 14.9,27.27 21.99,58.11 20.5,89.14 -0.63,12.98 -4.05,25.67 -10.02,37.21 -14.67,28.33 -37.3,51.74 -65.12,67.36 9.41,31.95 18.41,64 26.99,96.18 16.39,61.57 24.11,125.11 22.88,188.81 -0.32,16.43 -3.88,32.64 -10.49,47.68 -6.78,15.42 -18.64,28.04 -33.62,35.76 -10.86,5.6 -23.54,6.52 -35.1,2.56 -11.56,-3.96 -21,-12.46 -26.17,-23.53 -5.99,-12.91 -8.94,-27.02 -8.57,-41.26 0.2,-7.99 4.06,-15.47 10.48,-20.25 8.11,-6.05 18.05,-9.07 28.14,-8.59 6.62,0.32 12.54,4.18 15.52,10.12 2.97,5.93 2.49,13 -1.22,18.49 -4.57,6.77 -11.3,11.81 -19.07,14.31 l 2.66,5.8 c 1.25,3.29 4.03,5.77 7.46,6.6 3.43,0.85 7.04,-0.03 9.68,-2.35 13.04,-11.1 21.16,-26.9 22.58,-43.95 1.88,-29.39 1.27,-58.89 -1.85,-88.18 -9.17,-62.54 -22.8,-124.35 -40.8,-184.95 -4.62,1.47 -9.31,2.73 -14.03,3.78 -13.87,3.07 -27.87,5.48 -41.96,7.19 l 0,391.41 252.69,0 0,52.35 25.08,0 0,-52.35 53.83,0 0,-25.07 -53.83,0 0,-564.41 24.2,0 220.54,589.48 242.19,0 21.89,55.87 23.33,-9.15 -21.75,-55.54 75.57,0 0,-25.07 -85.39,0 -260.8,-665.62 c 96,-99.03 151.07,-248.06 151.07,-437.34 0,-253.68 -68.67,-472.82 -291.04,-472.82 z m -332.61,1171.98 c -14.4,5.91 -29.53,9.9 -44.97,11.81 l 0,-142.65 c 15.55,43.24 30.49,86.7 44.82,130.36 0.05,0.16 0.1,0.31 0.15,0.48 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 m -23.68,-178.71 c 4.94,-1.36 9.92,-2.51 14.94,-3.44 15.76,-2.92 32.02,0.87 44.82,10.5 11.66,8.75 20.05,21.15 23.86,35.23 8.47,31.39 6.62,64.67 -5.27,94.93 -2.48,6.35 -6.6,11.93 -11.91,16.21 -4.09,3.28 -8.3,6.37 -12.67,9.27 -16.72,-54.62 -34.63,-108.88 -53.77,-162.7 m -21.29,190.52 c -3.96,0.48 -7.94,0.84 -11.92,1.05 -43.42,2.36 -83.8,-22.28 -101.56,-61.98 -31.51,-70.46 -36.08,-150.02 -12.87,-223.62 8.15,-25.84 16.57,-51.59 25.27,-77.24 2.4,-7.1 4.82,-14.19 7.29,-21.29 23.3,55.36 45.6,111.16 66.83,167.35 -30.27,16.22 -54.69,41.51 -69.84,72.31 -2.5,5.1 -1.52,11.21 2.47,15.27 3.95,4.05 10.06,5.15 15.19,2.76 4.48,-3.22 8.62,-6.87 12.39,-10.88 15.29,-16.97 33.63,-30.95 54.07,-41.22 4.26,11.61 8.49,23.22 12.68,34.84 l 0,-106.35 c -20.1,-53.81 -41.41,-107.14 -63.89,-160 -3.72,-8.75 -7.54,-17.47 -11.4,-26.14 4.67,-12.85 9.43,-25.67 14.25,-38.47 6.9,-18.25 12.17,-37.07 15.75,-56.25 4.02,-21.69 2.22,-44.08 -5.26,-64.84 -17.03,-47.33 -49.87,-87.33 -92.97,-113.24 -18.96,-11.41 -40.82,-17.04 -62.94,-16.23 -18.52,0.7 -33.48,15.36 -34.57,33.87 -0.97,16.78 2.93,33.51 11.21,48.15 7.69,13.55 15.94,26.74 24.79,39.57 27.29,39.55 50.86,81.53 70.44,125.4 3.86,8.64 7.68,17.28 11.48,25.93 -5.97,16.43 -11.82,32.89 -17.54,49.41 -26.57,76.62 -43.7,156.21 -51.02,236.98 -3.46,38.11 -0.07,76.54 10,113.47 13.84,50.66 58.87,86.54 111.34,88.68 23.48,0.96 47,0.02 70.33,-2.82 l 0,-34.47 m 343.36,-1250.81 -390.37,0 0,-60.83 -25.07,0 0,60.83 -58.38,0 0,25.06 58.38,0 0,279.28 25.07,0 0,-279.28 390.37,0 0,-25.06" /> 966 - <path 967 - inkscape:connector-curvature="0" 968 - style="fill:#b4c3d3" 969 - id="path1642-1-4-0" 970 - d="m 6454.4,2508.06 -287.67,0 -128.61,207.93 -128.6,-207.93 -287.67,0 53.94,87.23 c -109.8,-93.21 -256.85,-129.78 -397.51,-98.89 -140.67,30.9 -258.85,125.75 -319.46,256.4 -54.32,-121.55 -156.59,-212.52 -280.24,-249.35 -123.67,-36.82 -256.59,-15.89 -364.28,57.41 l 0,-345.07 -244.36,0 0,1166.72 244.36,0 0,-47.06 c 107.88,73.43 241.06,94.3 364.9,57.22 123.82,-37.08 226.09,-128.46 280.16,-250.39 61.3,131.16 180.62,225.93 322.24,255.95 141.64,30.03 289.14,-8.18 398.37,-103.19 l -57.64,93.19 287.68,0 128.11,-207.14 128.12,207.14 287.67,0 -271.95,-439.68 272.44,-440.49 z" /> 971 - <path 972 - inkscape:connector-curvature="0" 973 - style="fill:#000000" 974 - id="path1644-1-1-3" 975 - d="m 4748.65,2946.97 c 0,-119.95 -97.24,-217.19 -217.18,-217.19 -119.94,0 -217.17,97.24 -217.17,217.19 0,119.94 97.23,217.18 217.17,217.18 119.94,0 217.18,-97.24 217.18,-217.18 z m 1076.57,-110.08 c 18.22,74.12 17.74,151.6 -1.35,225.49 l 70.42,-113.83 -69.07,-111.66 m -230.78,110.08 c 0,-119.95 -97.23,-217.19 -217.18,-217.19 -119.95,0 -217.18,97.24 -217.18,217.19 0,119.94 97.23,217.18 217.18,217.18 119.95,0 217.18,-97.24 217.18,-217.18 z" /> 976 - <path 977 - inkscape:connector-curvature="0" 978 - style="fill:#ffc000" 979 - id="path1646-5-9-8" 980 - d="m 1463.69,3399.88 45.41,0 0,-564.41 -45.41,0 0,564.41 m 93.77,-920.19 c 76.6,0 88.61,-97.11 88.53,-163.75 -0.08,-66.65 -9.75,-138.98 -76.58,-138.98 l -105.72,0 0,368.29 45.41,0 0,-65.56 48.36,0 z m 0,25.07 -23.28,0 0,40.49 1.6,0 c 170.71,0 170.71,-152.85 170.71,-205.97 l 0,-34.28 c 0,-51.48 -0.35,-193.6 -144.09,-193.6 l -98.71,0 0,40.49 93.77,0 c 48.8,0 114.23,6.94 114.23,170.52 0,163.58 -65.77,180.99 -114.23,182.35 z m -406.49,-4.47 c -19.66,-39.21 -40.9,-77.61 -63.73,-115.06 -7.25,-11.92 -13.8,-24.23 -19.64,-36.9 -3.81,-8.25 -6.07,-17.14 -6.68,-26.21 -0.13,-1.96 0.58,-3.89 1.94,-5.29 1.36,-1.41 3.25,-2.17 5.21,-2.1 9.42,0.32 18.61,3.02 26.7,7.86 34.79,20.81 59.58,54.9 68.67,94.41 2.63,11.51 2.71,23.49 0.23,35.04 -3.52,16.27 -7.75,32.37 -12.7,48.25 l 0,0 m 4220.37,627.03 11.84,0 c 98.46,-3.23 176.14,-84.81 174.52,-183.32 -1.62,-98.5 -81.92,-177.5 -180.44,-177.5 -98.51,0 -178.81,79 -180.43,177.5 -1.62,98.51 76.05,180.09 174.51,183.32 z m -845.78,0 11.84,0 c 98.45,-3.23 176.13,-84.81 174.5,-183.32 -1.61,-98.5 -81.92,-177.5 -180.43,-177.5 -98.5,0 -178.82,79 -180.43,177.5 -1.62,98.51 76.06,180.09 174.52,183.32 z m -565.76,-567.39 73.41,189.89 0,-363.14 -73.41,173.25 m 12.08,837.57 -199.5,-563.15 23.38,-56.99 230.54,620.14 -54.42,0 M 2355.93,2084.66 c 139.65,0 199.05,252.48 199.05,535.46 0,282.97 -59.4,535.45 -199.05,535.45 -139.63,0 -199.04,-240.54 -199.04,-535.45 0,-294.92 59.41,-535.46 199.04,-535.46 z" /> 981 - <path 982 - inkscape:connector-curvature="0" 983 - style="fill:#000000" 984 - id="path1648-2-6-2" 985 - d="m 5371.34,3127.32 c 3.95,0.28 7.88,0.27 11.84,0 l 0,-16.58 c 89.32,-3.24 159.56,-77.44 157.93,-166.8 -1.64,-89.35 -74.58,-160.92 -163.96,-160.86 -2.14,-0.04 -3.92,1.09 -4.99,2.92 -1.09,1.86 -1.09,4.15 -0.01,5.99 1.07,1.86 2.87,2.98 5,2.94 55.04,-0.05 105.79,29.67 132.71,77.67 26.92,47.99 25.79,106.81 -2.93,153.74 -28.73,46.93 -80.61,74.68 -135.59,72.54 l 0,28.44 z m -839.87,-44.91 c -3.28,0 -5.91,-2.65 -5.91,-5.91 0,-3.28 2.63,-5.93 5.91,-5.93 68.27,0 123.61,-55.34 123.61,-123.6 0,-68.28 -55.34,-123.62 -123.61,-123.62 -3.28,0 -5.91,-2.65 -5.91,-5.91 0,-3.28 2.63,-5.93 5.91,-5.93 74.81,0 135.44,60.64 135.44,135.46 0,74.8 -60.63,135.44 -135.44,135.44 z m 845.79,0 c -3.28,0 -5.92,-2.65 -5.92,-5.91 0,-3.28 2.64,-5.93 5.92,-5.93 68.26,0 123.6,-55.34 123.6,-123.6 0,-68.28 -55.34,-123.62 -123.6,-123.62 -3.28,0 -5.92,-2.65 -5.92,-5.91 0,-3.28 2.64,-5.93 5.92,-5.93 74.81,0 135.45,60.64 135.45,135.46 0,74.8 -60.64,135.44 -135.45,135.44 z m -851.7,44.91 c 3.93,0.19 7.88,0.15 11.84,0 l 0,-16.58 c 89.31,-3.24 159.56,-77.44 157.93,-166.8 -1.65,-89.35 -74.61,-160.92 -163.97,-160.86 -2.15,-0.04 -3.91,1.09 -5,2.92 -1.08,1.86 -1.08,4.15 0,5.99 1.08,1.86 2.86,2.98 5,2.94 55.05,-0.05 105.8,29.67 132.71,77.67 26.93,47.99 25.8,106.81 -2.93,153.74 -28.73,46.93 -80.59,74.68 -135.58,72.54 l 0,28.44 z m -2169.62,-47.1 0,-61.93 -25.07,0 0,65.95 0,25.07 c 135.53,0 175.31,-230.16 176.25,-476.67 l 570.42,0 c 1.35,173.53 39.4,439.13 152.69,457.44 l 0,65.49 25.07,0 0,-522.93 99.81,0 0,-25.07 -99.81,0 0,-90.45 -25.07,0 0,90.45 -127.54,0 c 2.72,-171.99 50.77,-423.43 140.08,-427.51 l 0,-25.08 c -117.15,4.53 -162.68,272.92 -165.16,452.59 l -570.53,0 c -1.63,-245.33 -41.23,-473.61 -176.21,-473.61 l 0,24.06 0,449.55 -76.62,0 0,25.07 76.62,0 0,87.58 25.07,0 0,-87.58 126.07,0 c -1.26,157.79 -21.13,412.74 -126.07,447.58 z" /> 986 - <path 987 - inkscape:connector-curvature="0" 988 - style="fill:#ffc000" 989 - id="path1650-7-9-5" 990 - d="m 3102.62,2632.64 c 1.61,164.28 43.22,409.55 127.61,431.82 l 0,-431.82 -127.61,0 z m -620.57,-25.07 -126.11,0 0,-445.5 c 104.4,34.7 125.36,287.45 126.11,445.5 z" /> 991 - </g> 992 - <path 993 - inkscape:connector-curvature="0" 994 - id="path4002-4" 995 - style="font-size:56.85473251px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Bold" 996 - d="m 126.19262,949.83053 -4.13036,0 0,-10.84791 3.83638,0 -0.008,0.90819 c 0.80196,-0.37523 1.25574,-0.57449 1.78,-0.80606 0.52426,-0.23149 1.11957,-0.34724 1.78591,-0.34729 0.34581,0.009 0.51835,0.0398 0.85427,0.1186 l -0.57658,3.01872 c -0.21159,-0.056 -0.68548,-0.13035 -1.02162,-0.13343 -0.34266,-0.004 -1.00536,0.0587 -1.27196,0.17968 -0.41767,0.18963 -0.67154,0.34394 -0.90182,0.92271 -0.23028,0.57882 -0.34542,1.79096 -0.34542,3.63642 z" 997 - sodipodi:nodetypes="cccccccccssssc" 998 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 999 - inkscape:export-xdpi="6.2147975" 1000 - inkscape:export-ydpi="6.2147975" /> 1001 - <path 1002 - inkscape:connector-curvature="0" 1003 - id="path4004-8" 1004 - style="font-size:56.85473251px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Bold" 1005 - d="m 132.47571,937.35705 0,-2.62518 3.94886,0 0,2.62518 z m 0,12.17679 0,-10.72285 3.94886,0 0,10.72285 z" 1006 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1007 - inkscape:export-xdpi="6.2147975" 1008 - inkscape:export-ydpi="6.2147975" /> 1009 - <path 1010 - inkscape:connector-curvature="0" 1011 - id="path4006-8" 1012 - style="font-size:56.85473251px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Bold" 1013 - d="m 148.44725,946.49696 3.53469,0.0448 c -0.44273,1.06135 -1.21562,1.85709 -2.1707,2.41193 -0.9551,0.55478 -2.14999,0.83217 -3.58467,0.83217 -2.27091,0 -3.95154,-0.62369 -5.0419,-1.87115 -0.86081,-0.99934 -1.29121,-2.26058 -1.29121,-3.78373 0,-1.81949 0.56566,-3.24446 1.69702,-4.27482 1.13135,-1.03032 2.56194,-1.54549 4.29177,-1.54558 1.94297,9e-5 3.47603,0.53937 4.5992,1.61795 1.12314,1.07864 1.66012,2.88795 1.61095,5.11411 l -7.96761,0 c 0.0246,0.8615 0.0148,1.37477 0.54765,1.85378 0.53288,0.47898 0.79578,0.49176 1.59103,0.49176 0.54107,0 0.99607,-0.0718 1.365,-0.31985 0.36891,-0.24807 0.38973,-0.25431 0.81878,-0.57132 z m -0.68609,-3.40799 c -0.0245,-0.84082 -0.1346,-0.95819 -0.33691,-1.27023 -0.17188,-0.26512 -0.68957,-0.71812 -1.39461,-0.71812 -0.75424,0 -1.20175,0.35048 -1.3759,0.54464 -0.20276,0.22613 -0.48709,0.66963 -0.47888,1.46222 z" 1014 - sodipodi:nodetypes="cccscscccccssccccssccc" 1015 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1016 - inkscape:export-xdpi="6.2147975" 1017 - inkscape:export-ydpi="6.2147975" /> 1018 - <path 1019 - inkscape:connector-curvature="0" 1020 - id="path4010-2" 1021 - style="font-size:56.85473251px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Bold" 1022 - d="m 181.05255,949.15834 -3.54273,0 0,-0.79452 c -0.12405,0.11306 -0.51004,0.29317 -1.18264,0.58967 -0.67261,0.29649 -1.35093,0.44472 -2.03493,0.44472 -1.39082,0 -2.58214,-0.49141 -3.57395,-1.47414 -0.99181,-0.98286 -1.48772,-2.35372 -1.48771,-4.11275 -1e-5,-1.79901 0.48259,-3.16655 1.44781,-4.10268 0.96522,-0.93617 2.18503,-1.40425 3.65945,-1.40429 1.35281,4e-5 2.25146,0.31804 2.45066,0.51726 l 0,-4.31512 4.26404,0 z m -7.48953,-5.3396 c 0,0.65309 0.12021,1.23491 0.39505,1.62454 0.29878,0.35794 0.68374,0.62625 1.27086,0.62625 0.3364,0 0.78532,-0.12983 1.07218,-0.4167 0.2774,-0.2774 0.4233,-1.05563 0.4233,-1.74139 -0.008,-0.94713 -0.19099,-1.26037 -0.34586,-1.49762 -0.15488,-0.2373 -0.51999,-0.71868 -1.12309,-0.7274 -0.7661,-0.0111 -1.0983,0.45814 -1.22507,0.58489 -0.0935,0.11161 -0.46738,0.49469 -0.46737,1.54743 z" 1023 - sodipodi:nodetypes="cccsscsscccccccssczscc" 1024 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1025 - inkscape:export-xdpi="6.2147975" 1026 - inkscape:export-ydpi="6.2147975" /> 1027 - <path 1028 - inkscape:connector-curvature="0" 1029 - id="path4014-4" 1030 - style="font-size:56.85473251px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Bold" 1031 - d="m 191.83768,938.39228 4.11794,0.0244 2.3479,6.37447 2.19367,-6.36424 3.9402,-0.0348 -3.94688,10.35947 -0.68972,1.79487 c -0.28071,0.6195 -0.71358,1.29871 -1.00261,1.57276 -0.25415,0.32644 -0.61002,0.56355 -0.94004,0.76674 -0.33002,0.20317 -0.52608,0.27621 -1.02018,0.35249 -0.48909,0.0755 -1.3529,0.0712 -1.95985,0.0712 -0.61452,0 -1.21767,-0.0566 -1.80942,-0.16985 l -0.29323,-2.35514 c 0.5356,0 0.93469,0.007 1.3368,0.007 0.74348,0 1.51153,-0.39212 1.86811,-0.77511 0.35657,-0.383 0.36112,-0.76632 0.35022,-0.98412 z" 1032 - sodipodi:nodetypes="cccccccccssccsccc" 1033 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1034 - inkscape:export-xdpi="6.2147975" 1035 - inkscape:export-ydpi="6.2147975" /> 1036 - <path 1037 - inkscape:connector-curvature="0" 1038 - id="path3881-5" 1039 - style="font-size:62.88571167px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Ebrima;-inkscape-font-specification:Ebrima Bold" 1040 - d="m 119.36008,937.91776 -6.44906,0 0,2.68131 5.73626,0.004 0,3.38243 -5.7116,0 -0.0247,5.74959 -4.61151,0 0,-14.80241 11.07801,0 z" 1041 - sodipodi:nodetypes="ccccccccccc" 1042 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1043 - inkscape:export-xdpi="6.2147975" 1044 - inkscape:export-ydpi="6.2147975" /> 1045 - <path 1046 - inkscape:connector-curvature="0" 1047 - id="path3889-5" 1048 - style="font-size:62.88571167px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Ebrima;-inkscape-font-specification:Ebrima Bold" 1049 - d="m 166.34882,949.55791 -4.07808,0 0,-5.84679 c 0,-1.00373 -0.75029,-1.73965 -1.49156,-1.73965 -0.62213,0 -0.93703,0.25734 -1.17421,0.52238 -0.28662,0.32029 -0.42178,0.85708 -0.42178,1.18014 l 0,5.88392 -4.08947,0 0,-10.95498 3.59617,0 0,1.73307 0.0455,0 c 0.85731,-1.33365 2.10534,-2.00051 3.74411,-2.00056 2.57952,5e-5 3.86928,1.50493 3.86929,4.5147 z" 1050 - sodipodi:nodetypes="ccsscscccccccsc" 1051 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1052 - inkscape:export-xdpi="6.2147975" 1053 - inkscape:export-ydpi="6.2147975" /> 1054 - <path 1055 - inkscape:connector-curvature="0" 1056 - id="path3893-1" 1057 - style="font-size:62.88571167px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Ebrima;-inkscape-font-specification:Ebrima Bold" 1058 - d="m 188.69488,949.16328 -4.06902,0 0,-14.62407 4.06902,0 z" 1059 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1060 - inkscape:export-xdpi="6.2147975" 1061 - inkscape:export-ydpi="6.2147975" /> 1062 - <path 1063 - inkscape:connector-curvature="0" 1064 - id="path3897-7" 1065 - style="font-size:62.88571167px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Ebrima;-inkscape-font-specification:Ebrima Bold" 1066 - d="m 221.46903,948.96595 -4.68254,0 -1.21892,-2.46038 -4.62963,0.0348 -1.10335,2.4255 -4.03283,-0.0347 5.28395,-14.78868 4.46309,0 z m -6.48335,-5.54055 -1.68663,-4.56484 -1.02769,4.54017 z" 1067 - sodipodi:nodetypes="ccccccccccccc" 1068 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1069 - inkscape:export-xdpi="6.2147975" 1070 - inkscape:export-ydpi="6.2147975" /> 1071 - <path 1072 - inkscape:connector-curvature="0" 1073 - id="path3899-1" 1074 - style="font-size:62.88571167px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Ebrima;-inkscape-font-specification:Ebrima Bold" 1075 - d="m 238.54926,948.81797 -4.8639,0.0174 -1.8491,-3.79375 c -0.2112,-0.28656 -0.41394,-0.5424 -0.60823,-0.76758 -0.19431,-0.22515 -0.39072,-0.41789 -0.58924,-0.57823 -0.19852,-0.1603 -0.40549,-0.28312 -0.6209,-0.36843 -0.21542,-0.0853 -0.44984,-0.1279 -0.70328,-0.1279 l -0.70129,0 0.0174,5.61844 -4.5115,0 0,-14.67557 6.48786,0 c 4.40972,0 6.61457,1.33042 6.61458,3.99128 -1e-5,0.51169 -0.0972,0.98415 -0.29144,1.41739 -0.19432,0.43324 -0.46887,0.82386 -0.82365,1.17181 -0.35482,0.34795 -0.78355,0.64815 -1.28618,0.9006 -0.49393,0.32219 -0.28997,0.66494 -0.17471,0.84426 0.11524,0.17932 0.22137,0.32459 0.4025,0.51216 0.18113,0.18758 0.31107,0.35391 0.53267,0.60775 1.20931,1.59913 2.0291,3.46017 2.96837,5.23032 z m -9.93594,-11.69316 0,2.94974 1.35545,0.0348 c 0.87827,0.0224 1.86299,0.0569 2.39521,-0.35245 0.54065,-0.41619 0.54936,-0.59994 0.54937,-1.21399 -1e-5,-1.28263 -1.38668,-1.36803 -3.28712,-1.40074 z" 1076 - sodipodi:nodetypes="ccccccsccccscccczzccccsccsc" 1077 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1078 - inkscape:export-xdpi="6.2147975" 1079 - inkscape:export-ydpi="6.2147975" /> 1080 - <path 1081 - inkscape:connector-curvature="0" 1082 - id="path3901-1" 1083 - style="font-size:62.88571167px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#17181d;fill-opacity:1;stroke:none;font-family:Ebrima;-inkscape-font-specification:Ebrima Bold" 1084 - d="m 257.42988,948.76864 -3.41767,0 c 0.0194,-3.94854 -0.19454,-9.7496 -0.19454,-9.7496 l -2.75366,9.7496 -3.18444,0 c -1.0824,-4.11452 -2.85818,-10.0635 -2.85818,-10.0635 l -0.0451,10.02861 -3.80185,0.0348 0,-14.57691 5.71708,0 c 0.91911,3.5544 2.6548,8.10821 2.6548,8.10821 0,0 1.52026,-4.97268 2.18118,-8.17799 l 5.70236,0.0698 z" 1085 - sodipodi:nodetypes="cccccccccccccc" 1086 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1087 - inkscape:export-xdpi="6.2147975" 1088 - inkscape:export-ydpi="6.2147975" /> 1089 - <path 1090 - sodipodi:type="arc" 1091 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1092 - id="path7217-7-3-2-53-8-0-4-1-5-0" 1093 - sodipodi:cx="871.68585" 1094 - sodipodi:cy="1060.6707" 1095 - sodipodi:rx="41.542522" 1096 - sodipodi:ry="41.542522" 1097 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1098 - sodipodi:start="6.2806827" 1099 - sodipodi:end="12.562778" 1100 - sodipodi:open="true" 1101 - transform="matrix(-0.34426077,0,0,-0.34426077,634.51683,909.06508)" 1102 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1103 - inkscape:export-xdpi="6.2147975" 1104 - inkscape:export-ydpi="6.2147975" /> 1105 - <path 1106 - sodipodi:type="arc" 1107 - style="fill:url(#radialGradient4737-8);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8912-5-3-8-0)" 1108 - id="path7217-7-3-3-2-18-3-1-1-9-4-0" 1109 - sodipodi:cx="871.68585" 1110 - sodipodi:cy="1060.6707" 1111 - sodipodi:rx="41.542522" 1112 - sodipodi:ry="41.542522" 1113 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1114 - sodipodi:start="6.2806827" 1115 - sodipodi:end="12.562778" 1116 - sodipodi:open="true" 1117 - transform="matrix(0.34426077,0,0,0.34426077,34.342299,178.77048)" 1118 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1119 - inkscape:export-xdpi="6.2147975" 1120 - inkscape:export-ydpi="6.2147975" /> 1121 - <path 1122 - sodipodi:type="arc" 1123 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1124 - id="path7217-7-3-0-7-2-8-6-7-85-1-1-7" 1125 - sodipodi:cx="871.68585" 1126 - sodipodi:cy="1060.6707" 1127 - sodipodi:rx="41.542522" 1128 - sodipodi:ry="41.542522" 1129 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1130 - sodipodi:start="6.2806827" 1131 - sodipodi:end="12.562778" 1132 - sodipodi:open="true" 1133 - transform="matrix(-0.24895513,0,0,-0.24895513,551.16009,808.18802)" 1134 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1135 - inkscape:export-xdpi="6.2147975" 1136 - inkscape:export-ydpi="6.2147975" /> 1137 - <path 1138 - sodipodi:type="arc" 1139 - style="fill:url(#radialGradient6663-9-9-1-0-6-95-3-7-2);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8892-2-5-2-2)" 1140 - id="path4335-8-3-87-7-8-8-4-7-3-2-2" 1141 - sodipodi:cx="2124.5" 1142 - sodipodi:cy="329.86218" 1143 - sodipodi:rx="102.5" 1144 - sodipodi:ry="102.5" 1145 - d="m 2226.9997,329.60567 c 0.1416,56.60901 -45.6342,102.61452 -102.2432,102.75619 -56.609,0.14167 -102.6145,-45.63415 -102.7562,-102.24316 -0.1416,-56.60901 45.6342,-102.61453 102.2432,-102.7562 56.5654,-0.14156 102.5526,45.56625 102.7558,102.13144" 1146 - sodipodi:start="6.2806827" 1147 - sodipodi:end="12.562778" 1148 - sodipodi:open="true" 1149 - transform="matrix(-0.11175457,0,0,-0.11175457,571.85219,580.78142)" 1150 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1151 - inkscape:export-xdpi="6.2147975" 1152 - inkscape:export-ydpi="6.2147975" /> 1153 - <path 1154 - style="fill:url(#radialGradient5794-6-4-66-3-15-9-8-8-0-1-8);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6841-8-5-2-1-9-0-3-5-8)" 1155 - d="m 862.17396,1006.7604 c 1.3316,1.3089 1.5194,3.2678 0.4155,4.3907 0,0 -7.3724,7.4325 -7.3174,13.862 0.055,6.4249 7.5416,13.4064 7.5416,13.4064 1.123,1.1038 0.9787,3.0556 -0.3302,4.3872 l -5.1151,5.2036 c -1.3088,1.3316 -3.2677,1.5193 -4.3906,0.4155 0,0 -7.1797,-6.3307 -13.6046,-6.2757 -6.4248,0.055 -13.65379,6.5098 -13.65379,6.5098 -1.1038,1.1229 -3.0755,0.9788 -4.407,-0.33 l -5.2037,-5.1151 c -1.3315,-1.3089 -1.5095,-3.2778 -0.4056,-4.4007 0,0 6.8106,-6.8657 6.7556,-13.2905 -0.055,-6.4249 -6.9896,-13.9678 -6.9896,-13.9678 -1.123,-1.1039 -0.9689,-3.0657 0.3399,-4.3973 l 5.1151,-5.2036 c 1.3089,-1.3316 3.258,-1.5093 4.3809,-0.4055 0,0 6.71209,7.4482 13.13689,7.3932 6.4295,-0.055 14.1313,-7.6373 14.1313,-7.6373 1.1038,-1.1229 3.0656,-0.9688 4.3971,0.3401 z" 1156 - id="rect4127-6-7-0-2-30-4-0-8-6-88-3-3-5" 1157 - inkscape:connector-curvature="0" 1158 - sodipodi:nodetypes="sssssssssssssssssssss" 1159 - transform="matrix(-0.31850453,0,0,-0.31850453,601.64355,870.43449)" 1160 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1161 - inkscape:export-xdpi="6.2147975" 1162 - inkscape:export-ydpi="6.2147975" /> 1163 - <path 1164 - style="fill:url(#radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6829-3-1-6-5-8-9-9-5-2)" 1165 - d="m 857.09316,1002.8323 c -1.3316,-1.3089 -2.7243,-0.6805 -3.8281,0.4424 0,0 -7.8352,11.6887 -14.2648,11.7439 -6.4248,0.055 -13.66169,-12.2888 -13.66169,-12.2888 -1.123,-1.1038 -2.5415,-1.5082 -3.829,-0.1561 l -4.8772,5.1222 c -1.2875,1.3522 -0.8308,2.8107 0.2922,3.9145 0,0 12.0701,6.7558 12.1253,13.1807 0.055,6.4248 -12.5262,14.2421 -12.5262,14.2421 -1.1038,1.123 -1.0141,2.219 0.3186,3.5266 l 4.5563,4.4708 c 1.3328,1.3075 2.4026,1.1795 3.5064,0.057 0,0 8.25809,-12.6378 14.68299,-12.6929 6.4248,-0.055 13.3115,11.4522 13.3115,11.4522 1.123,1.1039 2.3052,2.16 3.6141,0.8285 l 5.0035,-5.0903 c 1.3089,-1.3315 0.4866,-2.6507 -0.6364,-3.7546 0,0 -12.8143,-7.1101 -12.8695,-13.5349 -0.055,-6.4295 12.2652,-14.017 12.2652,-14.017 1.1038,-1.123 1.7071,-2.6387 0.3756,-3.9476 z" 1166 - id="rect4127-6-5-9-2-4-76-0-17-6-7-4-4-3-5" 1167 - inkscape:connector-curvature="0" 1168 - sodipodi:nodetypes="sssssssssssssssssssss" 1169 - transform="matrix(-0.31850453,0,0,-0.31850453,601.64355,870.43449)" 1170 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1171 - inkscape:export-xdpi="6.2147975" 1172 - inkscape:export-ydpi="6.2147975" /> 1173 - <path 1174 - style="fill:url(#radialGradient5802-9-3-04-1-4-5-9-9-9-1-2);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6821-51-0-9-3-9-4-1-9-6)" 1175 - d="m 848.76176,1018.2418 c 0,0 -1.3737,3.9525 -1.3491,6.0032 0.026,2.1897 1.6078,6.2532 1.6078,6.2532 0.6873,2.3652 -2.1524,5.1565 -4.2724,4.22 0,0 -3.8884,-1.1873 -5.953,-0.9627 -2.1499,0.2339 -6.3818,1.5399 -6.3818,1.5399 -2.35909,0.7073 -5.47089,-2.4085 -4.53839,-4.3507 0,0 2.1558,-4.1572 2.0824,-6.399 -0.069,-2.1015 -2.3411,-5.8574 -2.3411,-5.8574 -0.9141,-2.287 2.7328,-5.6594 4.35069,-4.5385 0,0 4.1006,1.9975 6.2955,1.9378 2.1168,-0.058 5.961,-2.1965 5.961,-2.1965 2.311,-0.8517 5.597,2.3401 4.5384,4.3507 z" 1176 - id="rect4205-5-0-6-42-7-5-1-0-2-3-4-2" 1177 - inkscape:connector-curvature="0" 1178 - sodipodi:nodetypes="sssssssssssss" 1179 - transform="matrix(-0.31850453,0,0,-0.31850453,601.64355,870.43449)" 1180 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1181 - inkscape:export-xdpi="6.2147975" 1182 - inkscape:export-ydpi="6.2147975" /> 1183 - <path 1184 - sodipodi:type="arc" 1185 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1186 - id="path7217-7-3-2-53-8-0-4-1-5-0-6" 1187 - sodipodi:cx="871.68585" 1188 - sodipodi:cy="1060.6707" 1189 - sodipodi:rx="41.542522" 1190 - sodipodi:ry="41.542522" 1191 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1192 - sodipodi:start="6.2806827" 1193 - sodipodi:end="12.562778" 1194 - sodipodi:open="true" 1195 - transform="matrix(0.34426077,0,0,-0.34426077,-280.18612,909.06505)" 1196 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1197 - inkscape:export-xdpi="6.2147975" 1198 - inkscape:export-ydpi="6.2147975" /> 1199 - <path 1200 - sodipodi:type="arc" 1201 - style="fill:url(#radialGradient4737-8-0);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8912-5-3-8-0-0)" 1202 - id="path7217-7-3-3-2-18-3-1-1-9-4-0-7" 1203 - sodipodi:cx="871.68585" 1204 - sodipodi:cy="1060.6707" 1205 - sodipodi:rx="41.542522" 1206 - sodipodi:ry="41.542522" 1207 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1208 - sodipodi:start="6.2806827" 1209 - sodipodi:end="12.562778" 1210 - sodipodi:open="true" 1211 - transform="matrix(-0.34426077,0,0,0.34426077,319.9884,178.77048)" 1212 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1213 - inkscape:export-xdpi="6.2147975" 1214 - inkscape:export-ydpi="6.2147975" /> 1215 - <path 1216 - sodipodi:type="arc" 1217 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1218 - id="path7217-7-3-0-7-2-8-6-7-85-1-1-7-8" 1219 - sodipodi:cx="871.68585" 1220 - sodipodi:cy="1060.6707" 1221 - sodipodi:rx="41.542522" 1222 - sodipodi:ry="41.542522" 1223 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1224 - sodipodi:start="6.2806827" 1225 - sodipodi:end="12.562778" 1226 - sodipodi:open="true" 1227 - transform="matrix(0.24895513,0,0,-0.24895513,-196.8294,808.18798)" 1228 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1229 - inkscape:export-xdpi="6.2147975" 1230 - inkscape:export-ydpi="6.2147975" /> 1231 - <path 1232 - sodipodi:type="arc" 1233 - style="fill:url(#radialGradient6663-9-9-1-0-6-95-3-7-2-5);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8892-2-5-2-2-9)" 1234 - id="path4335-8-3-87-7-8-8-4-7-3-2-2-3" 1235 - sodipodi:cx="2124.5" 1236 - sodipodi:cy="329.86218" 1237 - sodipodi:rx="102.5" 1238 - sodipodi:ry="102.5" 1239 - d="m 2226.9997,329.60567 c 0.1416,56.60901 -45.6342,102.61452 -102.2432,102.75619 -56.609,0.14167 -102.6145,-45.63415 -102.7562,-102.24316 -0.1416,-56.60901 45.6342,-102.61453 102.2432,-102.7562 56.5654,-0.14156 102.5526,45.56625 102.7558,102.13144" 1240 - sodipodi:start="6.2806827" 1241 - sodipodi:end="12.562778" 1242 - sodipodi:open="true" 1243 - transform="matrix(0.11175457,0,0,-0.11175457,-217.5215,580.78138)" 1244 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1245 - inkscape:export-xdpi="6.2147975" 1246 - inkscape:export-ydpi="6.2147975" /> 1247 - <path 1248 - style="fill:url(#radialGradient5794-6-4-66-3-15-9-8-8-0-1-8-1);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6841-8-5-2-1-9-0-3-5-8-4)" 1249 - d="m 862.17396,1006.7604 c 1.3316,1.3089 1.5194,3.2678 0.4155,4.3907 0,0 -7.3724,7.4325 -7.3174,13.862 0.055,6.4249 7.5416,13.4064 7.5416,13.4064 1.123,1.1038 0.9787,3.0556 -0.3302,4.3872 l -5.1151,5.2036 c -1.3088,1.3316 -3.2677,1.5193 -4.3906,0.4155 0,0 -7.1797,-6.3307 -13.6046,-6.2757 -6.4248,0.055 -13.65379,6.5098 -13.65379,6.5098 -1.1038,1.1229 -3.0755,0.9788 -4.407,-0.33 l -5.2037,-5.1151 c -1.3315,-1.3089 -1.5095,-3.2778 -0.4056,-4.4007 0,0 6.8106,-6.8657 6.7556,-13.2905 -0.055,-6.4249 -6.9896,-13.9678 -6.9896,-13.9678 -1.123,-1.1039 -0.9689,-3.0657 0.3399,-4.3973 l 5.1151,-5.2036 c 1.3089,-1.3316 3.258,-1.5093 4.3809,-0.4055 0,0 6.71209,7.4482 13.13689,7.3932 6.4295,-0.055 14.1313,-7.6373 14.1313,-7.6373 1.1038,-1.1229 3.0656,-0.9688 4.3971,0.3401 z" 1250 - id="rect4127-6-7-0-2-30-4-0-8-6-88-3-3-5-6" 1251 - inkscape:connector-curvature="0" 1252 - sodipodi:nodetypes="sssssssssssssssssssss" 1253 - transform="matrix(0.31850453,0,0,-0.31850453,-247.31286,870.43445)" 1254 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1255 - inkscape:export-xdpi="6.2147975" 1256 - inkscape:export-ydpi="6.2147975" /> 1257 - <path 1258 - style="fill:url(#radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7-8);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6829-3-1-6-5-8-9-9-5-2-5)" 1259 - d="m 857.09316,1002.8323 c -1.3316,-1.3089 -2.7243,-0.6805 -3.8281,0.4424 0,0 -7.8352,11.6887 -14.2648,11.7439 -6.4248,0.055 -13.66169,-12.2888 -13.66169,-12.2888 -1.123,-1.1038 -2.5415,-1.5082 -3.829,-0.1561 l -4.8772,5.1222 c -1.2875,1.3522 -0.8308,2.8107 0.2922,3.9145 0,0 12.0701,6.7558 12.1253,13.1807 0.055,6.4248 -12.5262,14.2421 -12.5262,14.2421 -1.1038,1.123 -1.0141,2.219 0.3186,3.5266 l 4.5563,4.4708 c 1.3328,1.3075 2.4026,1.1795 3.5064,0.057 0,0 8.25809,-12.6378 14.68299,-12.6929 6.4248,-0.055 13.3115,11.4522 13.3115,11.4522 1.123,1.1039 2.3052,2.16 3.6141,0.8285 l 5.0035,-5.0903 c 1.3089,-1.3315 0.4866,-2.6507 -0.6364,-3.7546 0,0 -12.8143,-7.1101 -12.8695,-13.5349 -0.055,-6.4295 12.2652,-14.017 12.2652,-14.017 1.1038,-1.123 1.7071,-2.6387 0.3756,-3.9476 z" 1260 - id="rect4127-6-5-9-2-4-76-0-17-6-7-4-4-3-5-4" 1261 - inkscape:connector-curvature="0" 1262 - sodipodi:nodetypes="sssssssssssssssssssss" 1263 - transform="matrix(0.31850453,0,0,-0.31850453,-247.31286,870.43445)" 1264 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1265 - inkscape:export-xdpi="6.2147975" 1266 - inkscape:export-ydpi="6.2147975" /> 1267 - <path 1268 - style="fill:url(#radialGradient5802-9-3-04-1-4-5-9-9-9-1-2-1);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6821-51-0-9-3-9-4-1-9-6-4)" 1269 - d="m 848.76176,1018.2418 c 0,0 -1.3737,3.9525 -1.3491,6.0032 0.026,2.1897 1.6078,6.2532 1.6078,6.2532 0.6873,2.3652 -2.1524,5.1565 -4.2724,4.22 0,0 -3.8884,-1.1873 -5.953,-0.9627 -2.1499,0.2339 -6.3818,1.5399 -6.3818,1.5399 -2.35909,0.7073 -5.47089,-2.4085 -4.53839,-4.3507 0,0 2.1558,-4.1572 2.0824,-6.399 -0.069,-2.1015 -2.3411,-5.8574 -2.3411,-5.8574 -0.9141,-2.287 2.7328,-5.6594 4.35069,-4.5385 0,0 4.1006,1.9975 6.2955,1.9378 2.1168,-0.058 5.961,-2.1965 5.961,-2.1965 2.311,-0.8517 5.597,2.3401 4.5384,4.3507 z" 1270 - id="rect4205-5-0-6-42-7-5-1-0-2-3-4-2-4" 1271 - inkscape:connector-curvature="0" 1272 - sodipodi:nodetypes="sssssssssssss" 1273 - transform="matrix(0.31850453,0,0,-0.31850453,-247.31286,870.43445)" 1274 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1275 - inkscape:export-xdpi="6.2147975" 1276 - inkscape:export-ydpi="6.2147975" /> 1277 - <path 1278 - sodipodi:type="arc" 1279 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1280 - id="path7217-7-3-2-53-8-0-4-1-5-0-4" 1281 - sodipodi:cx="871.68585" 1282 - sodipodi:cy="1060.6707" 1283 - sodipodi:rx="41.542522" 1284 - sodipodi:ry="41.542522" 1285 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1286 - sodipodi:start="6.2806827" 1287 - sodipodi:end="12.562778" 1288 - sodipodi:open="true" 1289 - transform="matrix(0.34426077,0,0,0.34426077,-279.90601,594.29146)" 1290 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1291 - inkscape:export-xdpi="6.2147975" 1292 - inkscape:export-ydpi="6.2147975" /> 1293 - <path 1294 - sodipodi:type="arc" 1295 - style="fill:url(#radialGradient4737-8-5);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8912-5-3-8-0-5)" 1296 - id="path7217-7-3-3-2-18-3-1-1-9-4-0-6" 1297 - sodipodi:cx="871.68585" 1298 - sodipodi:cy="1060.6707" 1299 - sodipodi:rx="41.542522" 1300 - sodipodi:ry="41.542522" 1301 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1302 - sodipodi:start="6.2806827" 1303 - sodipodi:end="12.562778" 1304 - sodipodi:open="true" 1305 - transform="matrix(-0.34426077,0,0,-0.34426077,320.26851,1324.586)" 1306 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1307 - inkscape:export-xdpi="6.2147975" 1308 - inkscape:export-ydpi="6.2147975" /> 1309 - <path 1310 - sodipodi:type="arc" 1311 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1312 - id="path7217-7-3-0-7-2-8-6-7-85-1-1-7-3" 1313 - sodipodi:cx="871.68585" 1314 - sodipodi:cy="1060.6707" 1315 - sodipodi:rx="41.542522" 1316 - sodipodi:ry="41.542522" 1317 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1318 - sodipodi:start="6.2806827" 1319 - sodipodi:end="12.562778" 1320 - sodipodi:open="true" 1321 - transform="matrix(0.24895513,0,0,0.24895513,-196.54927,695.16853)" 1322 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1323 - inkscape:export-xdpi="6.2147975" 1324 - inkscape:export-ydpi="6.2147975" /> 1325 - <path 1326 - sodipodi:type="arc" 1327 - style="fill:url(#radialGradient6663-9-9-1-0-6-95-3-7-2-9);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8892-2-5-2-2-1)" 1328 - id="path4335-8-3-87-7-8-8-4-7-3-2-2-4" 1329 - sodipodi:cx="2124.5" 1330 - sodipodi:cy="329.86218" 1331 - sodipodi:rx="102.5" 1332 - sodipodi:ry="102.5" 1333 - d="m 2226.9997,329.60567 c 0.1416,56.60901 -45.6342,102.61452 -102.2432,102.75619 -56.609,0.14167 -102.6145,-45.63415 -102.7562,-102.24316 -0.1416,-56.60901 45.6342,-102.61453 102.2432,-102.7562 56.5654,-0.14156 102.5526,45.56625 102.7558,102.13144" 1334 - sodipodi:start="6.2806827" 1335 - sodipodi:end="12.562778" 1336 - sodipodi:open="true" 1337 - transform="matrix(0.11175457,0,0,0.11175457,-217.24137,922.57513)" 1338 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1339 - inkscape:export-xdpi="6.2147975" 1340 - inkscape:export-ydpi="6.2147975" /> 1341 - <path 1342 - style="fill:url(#radialGradient5794-6-4-66-3-15-9-8-8-0-1-8-2);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6841-8-5-2-1-9-0-3-5-8-6)" 1343 - d="m 862.17396,1006.7604 c 1.3316,1.3089 1.5194,3.2678 0.4155,4.3907 0,0 -7.3724,7.4325 -7.3174,13.862 0.055,6.4249 7.5416,13.4064 7.5416,13.4064 1.123,1.1038 0.9787,3.0556 -0.3302,4.3872 l -5.1151,5.2036 c -1.3088,1.3316 -3.2677,1.5193 -4.3906,0.4155 0,0 -7.1797,-6.3307 -13.6046,-6.2757 -6.4248,0.055 -13.65379,6.5098 -13.65379,6.5098 -1.1038,1.1229 -3.0755,0.9788 -4.407,-0.33 l -5.2037,-5.1151 c -1.3315,-1.3089 -1.5095,-3.2778 -0.4056,-4.4007 0,0 6.8106,-6.8657 6.7556,-13.2905 -0.055,-6.4249 -6.9896,-13.9678 -6.9896,-13.9678 -1.123,-1.1039 -0.9689,-3.0657 0.3399,-4.3973 l 5.1151,-5.2036 c 1.3089,-1.3316 3.258,-1.5093 4.3809,-0.4055 0,0 6.71209,7.4482 13.13689,7.3932 6.4295,-0.055 14.1313,-7.6373 14.1313,-7.6373 1.1038,-1.1229 3.0656,-0.9688 4.3971,0.3401 z" 1344 - id="rect4127-6-7-0-2-30-4-0-8-6-88-3-3-5-9" 1345 - inkscape:connector-curvature="0" 1346 - sodipodi:nodetypes="sssssssssssssssssssss" 1347 - transform="matrix(0.31850453,0,0,0.31850453,-247.03273,632.92206)" 1348 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1349 - inkscape:export-xdpi="6.2147975" 1350 - inkscape:export-ydpi="6.2147975" /> 1351 - <path 1352 - style="fill:url(#radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7-4);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6829-3-1-6-5-8-9-9-5-2-52)" 1353 - d="m 857.09316,1002.8323 c -1.3316,-1.3089 -2.7243,-0.6805 -3.8281,0.4424 0,0 -7.8352,11.6887 -14.2648,11.7439 -6.4248,0.055 -13.66169,-12.2888 -13.66169,-12.2888 -1.123,-1.1038 -2.5415,-1.5082 -3.829,-0.1561 l -4.8772,5.1222 c -1.2875,1.3522 -0.8308,2.8107 0.2922,3.9145 0,0 12.0701,6.7558 12.1253,13.1807 0.055,6.4248 -12.5262,14.2421 -12.5262,14.2421 -1.1038,1.123 -1.0141,2.219 0.3186,3.5266 l 4.5563,4.4708 c 1.3328,1.3075 2.4026,1.1795 3.5064,0.057 0,0 8.25809,-12.6378 14.68299,-12.6929 6.4248,-0.055 13.3115,11.4522 13.3115,11.4522 1.123,1.1039 2.3052,2.16 3.6141,0.8285 l 5.0035,-5.0903 c 1.3089,-1.3315 0.4866,-2.6507 -0.6364,-3.7546 0,0 -12.8143,-7.1101 -12.8695,-13.5349 -0.055,-6.4295 12.2652,-14.017 12.2652,-14.017 1.1038,-1.123 1.7071,-2.6387 0.3756,-3.9476 z" 1354 - id="rect4127-6-5-9-2-4-76-0-17-6-7-4-4-3-5-0" 1355 - inkscape:connector-curvature="0" 1356 - sodipodi:nodetypes="sssssssssssssssssssss" 1357 - transform="matrix(0.31850453,0,0,0.31850453,-247.03273,632.92206)" 1358 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1359 - inkscape:export-xdpi="6.2147975" 1360 - inkscape:export-ydpi="6.2147975" /> 1361 - <path 1362 - style="fill:url(#radialGradient5802-9-3-04-1-4-5-9-9-9-1-2-19);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6821-51-0-9-3-9-4-1-9-6-47)" 1363 - d="m 848.76176,1018.2418 c 0,0 -1.3737,3.9525 -1.3491,6.0032 0.026,2.1897 1.6078,6.2532 1.6078,6.2532 0.6873,2.3652 -2.1524,5.1565 -4.2724,4.22 0,0 -3.8884,-1.1873 -5.953,-0.9627 -2.1499,0.2339 -6.3818,1.5399 -6.3818,1.5399 -2.35909,0.7073 -5.47089,-2.4085 -4.53839,-4.3507 0,0 2.1558,-4.1572 2.0824,-6.399 -0.069,-2.1015 -2.3411,-5.8574 -2.3411,-5.8574 -0.9141,-2.287 2.7328,-5.6594 4.35069,-4.5385 0,0 4.1006,1.9975 6.2955,1.9378 2.1168,-0.058 5.961,-2.1965 5.961,-2.1965 2.311,-0.8517 5.597,2.3401 4.5384,4.3507 z" 1364 - id="rect4205-5-0-6-42-7-5-1-0-2-3-4-2-5" 1365 - inkscape:connector-curvature="0" 1366 - sodipodi:nodetypes="sssssssssssss" 1367 - transform="matrix(0.31850453,0,0,0.31850453,-247.03273,632.92206)" 1368 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1369 - inkscape:export-xdpi="6.2147975" 1370 - inkscape:export-ydpi="6.2147975" /> 1371 - <path 1372 - sodipodi:type="arc" 1373 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1374 - id="path7217-7-3-2-53-8-0-4-1-5-0-2" 1375 - sodipodi:cx="871.68585" 1376 - sodipodi:cy="1060.6707" 1377 - sodipodi:rx="41.542522" 1378 - sodipodi:ry="41.542522" 1379 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1380 - sodipodi:start="6.2806827" 1381 - sodipodi:end="12.562778" 1382 - sodipodi:open="true" 1383 - transform="matrix(-0.34426077,0,0,0.34426077,634.72898,593.89528)" 1384 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1385 - inkscape:export-xdpi="6.2147975" 1386 - inkscape:export-ydpi="6.2147975" /> 1387 - <path 1388 - sodipodi:type="arc" 1389 - style="fill:url(#radialGradient4737-8-7);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8912-5-3-8-0-4)" 1390 - id="path7217-7-3-3-2-18-3-1-1-9-4-0-2" 1391 - sodipodi:cx="871.68585" 1392 - sodipodi:cy="1060.6707" 1393 - sodipodi:rx="41.542522" 1394 - sodipodi:ry="41.542522" 1395 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1396 - sodipodi:start="6.2806827" 1397 - sodipodi:end="12.562778" 1398 - sodipodi:open="true" 1399 - transform="matrix(0.34426077,0,0,-0.34426077,34.554493,1324.1899)" 1400 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1401 - inkscape:export-xdpi="6.2147975" 1402 - inkscape:export-ydpi="6.2147975" /> 1403 - <path 1404 - sodipodi:type="arc" 1405 - style="fill:#abaeb8;fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline" 1406 - id="path7217-7-3-0-7-2-8-6-7-85-1-1-7-9" 1407 - sodipodi:cx="871.68585" 1408 - sodipodi:cy="1060.6707" 1409 - sodipodi:rx="41.542522" 1410 - sodipodi:ry="41.542522" 1411 - d="m 913.22824,1060.5667 c 0.0574,22.9432 -18.49519,41.5889 -41.43842,41.6463 -22.94323,0.058 -41.58894,-18.4952 -41.64636,-41.4384 -0.0574,-22.9432 18.4952,-41.5889 41.43843,-41.6463 22.92555,-0.057 41.56385,18.4676 41.64622,41.3931" 1412 - sodipodi:start="6.2806827" 1413 - sodipodi:end="12.562778" 1414 - sodipodi:open="true" 1415 - transform="matrix(-0.24895513,0,0,0.24895513,551.37226,694.77235)" 1416 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1417 - inkscape:export-xdpi="6.2147975" 1418 - inkscape:export-ydpi="6.2147975" /> 1419 - <path 1420 - sodipodi:type="arc" 1421 - style="fill:url(#radialGradient6663-9-9-1-0-6-95-3-7-2-4);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter8892-2-5-2-2-12)" 1422 - id="path4335-8-3-87-7-8-8-4-7-3-2-2-8" 1423 - sodipodi:cx="2124.5" 1424 - sodipodi:cy="329.86218" 1425 - sodipodi:rx="102.5" 1426 - sodipodi:ry="102.5" 1427 - d="m 2226.9997,329.60567 c 0.1416,56.60901 -45.6342,102.61452 -102.2432,102.75619 -56.609,0.14167 -102.6145,-45.63415 -102.7562,-102.24316 -0.1416,-56.60901 45.6342,-102.61453 102.2432,-102.7562 56.5654,-0.14156 102.5526,45.56625 102.7558,102.13144" 1428 - sodipodi:start="6.2806827" 1429 - sodipodi:end="12.562778" 1430 - sodipodi:open="true" 1431 - transform="matrix(-0.11175457,0,0,0.11175457,572.06435,922.17895)" 1432 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1433 - inkscape:export-xdpi="6.2147975" 1434 - inkscape:export-ydpi="6.2147975" /> 1435 - <path 1436 - style="fill:url(#radialGradient5794-6-4-66-3-15-9-8-8-0-1-8-9);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6841-8-5-2-1-9-0-3-5-8-1)" 1437 - d="m 862.17396,1006.7604 c 1.3316,1.3089 1.5194,3.2678 0.4155,4.3907 0,0 -7.3724,7.4325 -7.3174,13.862 0.055,6.4249 7.5416,13.4064 7.5416,13.4064 1.123,1.1038 0.9787,3.0556 -0.3302,4.3872 l -5.1151,5.2036 c -1.3088,1.3316 -3.2677,1.5193 -4.3906,0.4155 0,0 -7.1797,-6.3307 -13.6046,-6.2757 -6.4248,0.055 -13.65379,6.5098 -13.65379,6.5098 -1.1038,1.1229 -3.0755,0.9788 -4.407,-0.33 l -5.2037,-5.1151 c -1.3315,-1.3089 -1.5095,-3.2778 -0.4056,-4.4007 0,0 6.8106,-6.8657 6.7556,-13.2905 -0.055,-6.4249 -6.9896,-13.9678 -6.9896,-13.9678 -1.123,-1.1039 -0.9689,-3.0657 0.3399,-4.3973 l 5.1151,-5.2036 c 1.3089,-1.3316 3.258,-1.5093 4.3809,-0.4055 0,0 6.71209,7.4482 13.13689,7.3932 6.4295,-0.055 14.1313,-7.6373 14.1313,-7.6373 1.1038,-1.1229 3.0656,-0.9688 4.3971,0.3401 z" 1438 - id="rect4127-6-7-0-2-30-4-0-8-6-88-3-3-5-2" 1439 - inkscape:connector-curvature="0" 1440 - sodipodi:nodetypes="sssssssssssssssssssss" 1441 - transform="matrix(-0.31850453,0,0,0.31850453,601.85572,632.52588)" 1442 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1443 - inkscape:export-xdpi="6.2147975" 1444 - inkscape:export-ydpi="6.2147975" /> 1445 - <path 1446 - style="fill:url(#radialGradient4214-1-2-1-98-3-4-7-7-6-0-8-7-1);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6829-3-1-6-5-8-9-9-5-2-2)" 1447 - d="m 857.09316,1002.8323 c -1.3316,-1.3089 -2.7243,-0.6805 -3.8281,0.4424 0,0 -7.8352,11.6887 -14.2648,11.7439 -6.4248,0.055 -13.66169,-12.2888 -13.66169,-12.2888 -1.123,-1.1038 -2.5415,-1.5082 -3.829,-0.1561 l -4.8772,5.1222 c -1.2875,1.3522 -0.8308,2.8107 0.2922,3.9145 0,0 12.0701,6.7558 12.1253,13.1807 0.055,6.4248 -12.5262,14.2421 -12.5262,14.2421 -1.1038,1.123 -1.0141,2.219 0.3186,3.5266 l 4.5563,4.4708 c 1.3328,1.3075 2.4026,1.1795 3.5064,0.057 0,0 8.25809,-12.6378 14.68299,-12.6929 6.4248,-0.055 13.3115,11.4522 13.3115,11.4522 1.123,1.1039 2.3052,2.16 3.6141,0.8285 l 5.0035,-5.0903 c 1.3089,-1.3315 0.4866,-2.6507 -0.6364,-3.7546 0,0 -12.8143,-7.1101 -12.8695,-13.5349 -0.055,-6.4295 12.2652,-14.017 12.2652,-14.017 1.1038,-1.123 1.7071,-2.6387 0.3756,-3.9476 z" 1448 - id="rect4127-6-5-9-2-4-76-0-17-6-7-4-4-3-5-2" 1449 - inkscape:connector-curvature="0" 1450 - sodipodi:nodetypes="sssssssssssssssssssss" 1451 - transform="matrix(-0.31850453,0,0,0.31850453,601.85572,632.52588)" 1452 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1453 - inkscape:export-xdpi="6.2147975" 1454 - inkscape:export-ydpi="6.2147975" /> 1455 - <path 1456 - style="fill:url(#radialGradient5802-9-3-04-1-4-5-9-9-9-1-2-3);fill-opacity:1;fill-rule:evenodd;stroke:none;display:inline;filter:url(#filter6821-51-0-9-3-9-4-1-9-6-8)" 1457 - d="m 848.76176,1018.2418 c 0,0 -1.3737,3.9525 -1.3491,6.0032 0.026,2.1897 1.6078,6.2532 1.6078,6.2532 0.6873,2.3652 -2.1524,5.1565 -4.2724,4.22 0,0 -3.8884,-1.1873 -5.953,-0.9627 -2.1499,0.2339 -6.3818,1.5399 -6.3818,1.5399 -2.35909,0.7073 -5.47089,-2.4085 -4.53839,-4.3507 0,0 2.1558,-4.1572 2.0824,-6.399 -0.069,-2.1015 -2.3411,-5.8574 -2.3411,-5.8574 -0.9141,-2.287 2.7328,-5.6594 4.35069,-4.5385 0,0 4.1006,1.9975 6.2955,1.9378 2.1168,-0.058 5.961,-2.1965 5.961,-2.1965 2.311,-0.8517 5.597,2.3401 4.5384,4.3507 z" 1458 - id="rect4205-5-0-6-42-7-5-1-0-2-3-4-2-7" 1459 - inkscape:connector-curvature="0" 1460 - sodipodi:nodetypes="sssssssssssss" 1461 - transform="matrix(-0.31850453,0,0,0.31850453,601.85572,632.52588)" 1462 - inkscape:export-filename="C:\Users\sdziok\Desktop\rect4205-5-0-6-42-7-5-1-2.png" 1463 - inkscape:export-xdpi="6.2147975" 1464 - inkscape:export-ydpi="6.2147975" /> 1465 - </g> 1466 - </svg>
-8
tools/builds.pm
··· 199 199 name => 'iriver H320/340', 200 200 status => 3, 201 201 }, 202 - 'lyreproto1' => { 203 - name => 'Lyre Prototype 1', 204 - status => 1, 205 - }, 206 - 'mini2440' => { 207 - name => 'Mini 2440', 208 - status => 1, 209 - }, 210 202 'mrobe100' => { 211 203 name => 'Olympus M-Robe 100', 212 204 status => 3,
+34 -76
tools/configure
··· 1697 1697 102) GoGear HDD6330 93) Zen X-Fi2 65) Sansa Clip Zip 1698 1698 94) Zen X-Fi3 66) Sansa Connect 1699 1699 ==Samsung== 95) Zen V 1700 - 140) YH-820 96) Zen X-Fi ==Lyre project== 1701 - 141) YH-920 97) Zen Mozaic 130) Lyre proto 1 1702 - 142) YH-925 98) Zen 131) Mini2440 1703 - 144) YP-R0 1704 - 145) YP-R1 (WIP) ==Onda== ==Packard Bell== 1705 - 120) VX747 160) Vibe 500 1706 - ==HiFiMAN== 122) VX747+ 1707 - 190) HM-60x 121) VX767 ==ROCKCHIP== 1708 - 191) HM-801 123) VX777 180) rk27xx generic 1709 - 1710 - ==Sony== ==MPIO== ==HiFi E.T.== 1711 - 219) NWZ-E350 series 170) HD200 210) MA9 1712 - 220) NWZ-E370/E380 series 171) HD300 211) MA9C 1713 - 221) NWZ-E360 series 212) MA8 1714 - 222) NWZ-E450 series ==Application== 213) MA8C 1715 - 223) NWZ-E460 series 200) SDL (Generic) 1716 - 224) NWZ-E470 series 201) Android (ARM) ==IHIFI== 1717 - 225) NWZ-E580 series 202) Android (MIPS) 230) 760 1718 - 226) NWZ-A10 series 203) Android (x86) 231) 770 1719 - 227) NW-A20 series 209) Anbernic RG Nano 232) 770C 1720 - 228) NWZ-A860 series 233) 800 1721 - 229) NWZ-S750 series ==AgpTek== 234) 960 1722 - 240) Rocker 1723 - ==FiiO== ==AIGO== 1724 - 244) M3K Linux ==iBasso== 245) Eros Q / K (hosted) 1725 - 246) M3K baremetal 250) DX50 247) Eros Q / K native 1726 - 251) DX90 (hw1/hw2 bl, all hw rb) 1727 - ==Shanling== 248) Eros Q / K native 1728 - 260) Q1 ==xDuoo== (hw3 bl only) 1729 - 241) X3 249) Eros Q / K native 1730 - ==Echo project== 242) X3II (hw4 bl only) 1700 + 140) YH-820 96) Zen X-Fi ==Packard Bell== 1701 + 141) YH-920 97) Zen Mozaic 160) Vibe 500 1702 + 142) YH-925 98) Zen 1703 + 144) YP-R0 ==ROCKCHIP== 1704 + 145) YP-R1 (WIP) ==Onda== 180) rk27xx generic 1705 + 120) VX747 1706 + ==HiFiMAN== 122) VX747+ ==HiFi E.T.== 1707 + 190) HM-60x 121) VX767 210) MA9 1708 + 191) HM-801 123) VX777 211) MA9C 1709 + 212) MA8 1710 + ==Sony== ==MPIO== 213) MA8C 1711 + 219) NWZ-E350 series 170) HD200 1712 + 220) NWZ-E370/E380 series 171) HD300 ==IHIFI== 1713 + 221) NWZ-E360 series 230) 760 1714 + 222) NWZ-E450 series ==Application== 231) 770 1715 + 223) NWZ-E460 series 200) SDL (Generic) 232) 770C 1716 + 224) NWZ-E470 series 201) Android (ARM) 233) 800 1717 + 225) NWZ-E580 series 202) Android (MIPS) 234) 960 1718 + 226) NWZ-A10 series 203) Android (x86) 1719 + 227) NW-A20 series 209) Anbernic RG Nano ==AIGO== 1720 + 228) NWZ-A860 series 245) Eros Q / K (hosted) 1721 + 229) NWZ-S750 series ==AgpTek== 247) Eros Q / K native 1722 + 240) Rocker (hw1/hw2 bl, all hw rb) 1723 + ==FiiO== 248) Eros Q / K native 1724 + 244) M3K Linux ==iBasso== (hw3 bl only) 1725 + 246) M3K baremetal 250) DX50 249) Eros Q / K native 1726 + 251) DX90 (hw4 bl only) 1727 + ==Shanling== 1728 + 260) Q1 ==xDuoo== ==HiBy== 1729 + 241) X3 300) R3 Pro II 1730 + ==Echo project== 242) X3II 301) R1 1731 1731 270) Echo R1 (WIP) 243) X20 1732 - ==HiBy== 1733 - ==Nintendo== ==Surfans== 300) R3 Pro II 1734 - 290) Nintendo 3DS (WIP) 280) F28 (WIP) 301) R1 1732 + 1733 + ==Nintendo== ==Surfans== 1734 + 290) Nintendo 3DS (WIP) 280) F28 (WIP) 1735 1735 1736 1736 EOF 1737 1737 ··· 3021 3021 t_cpu="mips" 3022 3022 t_manufacturer="ingenic_jz47xx" 3023 3023 t_model="onda_vx747" 3024 - ;; 3025 - 3026 - 130|lyreproto1) 3027 - target_id=56 3028 - modelname="lyreproto1" 3029 - target="LYRE_PROTO1" 3030 - memory=64 3031 - arm926ejscc 3032 - tool="cp" 3033 - bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" 3034 - bmp2rb_native="$rootdir/tools/bmp2rb -f 4" 3035 - output="rockbox.lyre" 3036 - appextra="recorder:gui:radio" 3037 - plugins="" 3038 - toolset=$scramblebitmaptools 3039 - boottool="cp" 3040 - bootoutput="bootloader-proto1.lyre" 3041 - # architecture, manufacturer and model for the target-tree build 3042 - t_cpu="arm" 3043 - t_manufacturer="at91sam" 3044 - t_model="lyre_proto1" 3045 - ;; 3046 - 3047 - 131|mini2440) 3048 - target_id=99 3049 - modelname="mini2440" 3050 - target="MINI2440" 3051 - memory=64 3052 - arm9tdmicc 3053 - tool="$rootdir/tools/scramble -add=m244" 3054 - bmp2rb_mono="$rootdir/tools/bmp2rb -f 0" 3055 - bmp2rb_native="$rootdir/tools/bmp2rb -f 4" 3056 - output="rockbox.mini2440" 3057 - appextra="recorder:gui:radio" 3058 - plugins="" 3059 - toolset=$scramblebitmaptools 3060 - boottool="cp" 3061 - bootoutput="bootloader-mini2440.lyre" 3062 - # architecture, manufacturer and model for the target-tree build 3063 - t_cpu="arm" 3064 - t_manufacturer="s3c2440" 3065 - t_model="mini2440" 3066 3024 ;; 3067 3025 3068 3026 140|samsungyh820)
-18
utils/themeeditor/resources/targetdb
··· 580 580 record : no 581 581 } 582 582 583 - lyreproto1 584 - { 585 - name : Lyre Prototype 1 586 - screen : 128 x 128 @ rgb 587 - remote : no 588 - fm : no 589 - record : no 590 - } 591 - 592 - mini2440 593 - { 594 - name : Mini 2440 595 - screen : 240 x 320 @ rgb 596 - remote : no 597 - fm : no 598 - record : no 599 - } 600 - 601 583 mpiohd200 602 584 { 603 585 name : MPIO HD200