| /* |
| * Copyright (C) 2007 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #include <boot/boot.h> |
| #include <boot/flash.h> |
| |
| ptentry PTABLE[] = { |
| { |
| .start = 310, |
| .length = 40, |
| .name = "recovery", |
| }, |
| { |
| .start = 350, |
| .length = 20, |
| .name = "boot", |
| }, |
| { |
| .start = 370, |
| .length = 540, |
| .name = "system", |
| }, |
| { |
| .start = 910, |
| .length = 1138, |
| .name = "userdata", |
| }, |
| { |
| .start = 0, |
| .length = 0, |
| .name = "", |
| }, |
| }; |
| |
| #define MISC2_CHARGER_OFF 0x01 /* DISABLE charge circuitry */ |
| #define MISC2_ISET 0x02 /* Enable Current Limit */ |
| |
| #define MISC2_H2W_MASK 0xC0 |
| #define MISC2_H2W_GPIO 0x00 |
| #define MISC2_H2W_UART1 0x40 |
| #define MISC2_H2W_UART3 0x80 |
| #define MISC2_H2W_BT 0xC0 |
| |
| void board_init() |
| { |
| unsigned n; |
| |
| /* if we already have partitions from elsewhere, |
| ** don't use the hardcoded ones |
| */ |
| if(flash_get_ptn_count() == 0) { |
| for(n = 0; PTABLE[n].name[0]; n++) { |
| flash_add_ptn(PTABLE + n); |
| } |
| } |
| |
| /* UART configuration */ |
| #if 1 |
| /* UART3 */ |
| writeb(MISC2_H2W_UART3, 0x98000000); |
| uart_init(2); |
| #else |
| /* UART1 */ |
| writeb(MISC2_H2W_UART1, 0x98000000); |
| uart_init(0); |
| #endif |
| mdelay(100); |
| } |
| |
| const char *board_cmdline(void) |
| { |
| return "mem=112M console=ttyMSM0 androidboot.console=ttyMSM0"; |
| }; |
| |
| unsigned board_machtype(void) |
| { |
| return 1440; |
| } |
| |
| void board_reboot(void) |
| { |
| gpio_set(25, 0); |
| } |
| |
| void board_getvar(const char *name, char *value) |
| { |
| if(!strcmp(name, "version.amss")) { |
| get_version_modem(value); |
| } else if(!strcmp(name, "version.amss.sbl")) { |
| get_version_modem_sbl(value); |
| } |
| } |