Document the inclusion of the Broadcom BCM4329 driver from the Linux kernel.
[bootloader-ap.git] / README
1 bootloader-ap (Boot Loader for Application Processors)
2
3 Developed by TJ <linux@tjworld.net>
4 Copyright (C) 2010-
5
6 Originally licensed under the GPLv3. Revised license to be GPL v2 November 3rd 2010 to allow inclusion
7 of the Broadcom BCM4329 driver from the HTC Vision Linux kernel.
8
9 A GPLv2 licensed (some individual files are BSD licensed) boot-loader for ARM-based communications 
10 devices based on modern System-on-Chip architectures such as the Qualcomm MSM7x30, which is the 
11 first target of this implementation.
12
13 The intention is to provide a completely Free and Open Source boot-loader that can be utilised by 
14 system manufacturers and user's who prefer to install a custom boot-loader.
15
16 Inspired by the HTC Vision device, known as the HTC Desire Z and T-Mobile G2. This device was locked 
17 by HTC to prevent easy customisation.
18
19 = External libraries =
20
21
22 == Zlib 1.2.3 ==
23
24 From http://downloads.sourceforge.net/project/libpng/zlib/1.2.3/zlib-1.2.3.tar.gz
25
26 Extract:
27
28  tar -xzf zlib-1.2.3.tar.gz
29
30 Correct directory name:
31
32  mv zlib-1.2.3 zlib
33
34 Remove unwanted additional directories:
35
36  rm -rf contrib amiga as400 examples msdos old projects qnx win32
37
38 == Broadcom BCM4329 ==
39
40 Copied from the Linux kernel for the HTC Vison (drivers/net/wireless/bcm4329/)
41
42 = Developer Notes =
43
44 Gathering the chip-set specifications for some parts of this code can be challenging. Prudent use of
45 a search engine can uncover many fragments of open-source code patches to many Linux kernel projects
46 for embedded devices.
47
48 If other source-code is directly imported into this project ensure the license is compatible and note
49 all files that use a different license to the project's license in the COPYRIGHT file.
50
51 To guard against any possible challenge as to the source of specifications and settings that
52 aren't publicly released by chip-set or device manufacturers there is a comment template to prefix
53 to any code that describes or uses those specifications or settings. Here's an example:
54
55 /*
56   SOURCE: HTC Vision Linux kernel 2.6.32 source
57   SOURCE_FILE: arch/arm/mach-msm/arch-init-7x30.S
58   SOURCE_URL: http://dl3.htc.com/RomCode/Source_and_Binaries/vision-2.6.32-g814e0a1.tar.gz
59   SOURCE_FOR: MSM7x30 equates, status-codes, IOMEM addresses, CP15 functions
60 */
61
62 ... some code
63
64 /* SOURCE_END */
65
66 By using pseudo-defines (SOURCE, SOURCE_*, SOURCE_END) inside a C-style comment block (/* ... */) it
67 makes it possible to use an automated tool to gather and document all sources of specifications and 
68 settings.