source: mainline/boot/arch/arm32/include/main.h@ de1712e

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since de1712e was 8f9d70b, checked in by Beniamino Galvani <b.galvani@…>, 12 years ago

Initial support for Raspberry Pi

  • Property mode set to 100644
File size: 3.3 KB
Line 
1/*
2 * Copyright (c) 2007 Michal Kebrt
3 * Copyright (c) 2010 Jiri Svoboda
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * - Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * - Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * - The name of the author may not be used to endorse or promote products
16 * derived from this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */
29
30/** @addtogroup arm32boot
31 * @{
32 */
33/** @file
34 * @brief Boot related declarations.
35 */
36
37#ifndef BOOT_arm32_MAIN_H
38#define BOOT_arm32_MAIN_H
39
40/** Address where characters to be printed are expected. */
41
42
43/** BeagleBoard-xM UART register address
44 *
45 * This is UART3 of AM/DM37x CPU
46 */
47#define BBXM_SCONS_THR 0x49020000
48#define BBXM_SCONS_SSR 0x49020044
49
50/* Check this bit before writing (tx fifo full) */
51#define BBXM_THR_FULL 0x00000001
52
53/** Beaglebone UART register addresses
54 *
55 * This is UART0 of AM335x CPU
56 */
57#define BBONE_SCONS_THR 0x44E09000
58#define BBONE_SCONS_SSR 0x44E09044
59
60/** Check this bit before writing (tx fifo full) */
61#define BBONE_TXFIFO_FULL 0x00000001
62
63/** GTA02 serial console UART register addresses.
64 *
65 * This is UART channel 2 of the S3C24xx CPU
66 */
67#define GTA02_SCONS_UTRSTAT 0x50008010
68#define GTA02_SCONS_UTXH 0x50008020
69
70/* Bits in UTXH register */
71#define S3C24XX_UTXH_TX_EMPTY 0x00000004
72
73
74/** IntegratorCP serial console output register */
75#define ICP_SCONS_ADDR 0x16000000
76
77/** Raspberry PI serial console registers */
78#define BCM2835_UART0_BASE 0x20201000
79#define BCM2835_UART0_DR (BCM2835_UART0_BASE + 0x00)
80#define BCM2835_UART0_FR (BCM2835_UART0_BASE + 0x18)
81#define BCM2835_UART0_ILPR (BCM2835_UART0_BASE + 0x20)
82#define BCM2835_UART0_IBRD (BCM2835_UART0_BASE + 0x24)
83#define BCM2835_UART0_FBRD (BCM2835_UART0_BASE + 0x28)
84#define BCM2835_UART0_LCRH (BCM2835_UART0_BASE + 0x2C)
85#define BCM2835_UART0_CR (BCM2835_UART0_BASE + 0x30)
86#define BCM2835_UART0_ICR (BCM2835_UART0_BASE + 0x44)
87
88#define BCM2835_UART0_FR_TXFF (1 << 5)
89#define BCM2835_UART0_LCRH_FEN (1 << 4)
90#define BCM2835_UART0_LCRH_WL8 ((1 << 5) | (1 << 6))
91#define BCM2835_UART0_CR_UARTEN (1 << 0)
92#define BCM2835_UART0_CR_TXE (1 << 8)
93#define BCM2835_UART0_CR_RXE (1 << 9)
94
95
96
97extern void bootstrap(void);
98
99#endif
100
101/** @}
102 */
Note: See TracBrowser for help on using the repository browser.