Document the inclusion of the Broadcom BCM4329 driver from the Linux kernel.
[bootloader-ap.git] / README
diff --git a/README b/README
index 53b8b92..42bb85e 100644 (file)
--- a/README
+++ b/README
@@ -3,11 +3,66 @@ bootloader-ap (Boot Loader for Application Processors)
 Developed by TJ <linux@tjworld.net>
 Copyright (C) 2010-
 
-A GPLv3 licensed boot-loader for ARM-based communications devices based on modern System-on-Chip 
-architectures such as the Qualcomm MSM7x30, which is the first target of this implementation.
+Originally licensed under the GPLv3. Revised license to be GPL v2 November 3rd 2010 to allow inclusion
+of the Broadcom BCM4329 driver from the HTC Vision Linux kernel.
+
+A GPLv2 licensed (some individual files are BSD licensed) boot-loader for ARM-based communications 
+devices based on modern System-on-Chip architectures such as the Qualcomm MSM7x30, which is the 
+first target of this implementation.
 
 The intention is to provide a completely Free and Open Source boot-loader that can be utilised by 
 system manufacturers and user's who prefer to install a custom boot-loader.
 
 Inspired by the HTC Vision device, known as the HTC Desire Z and T-Mobile G2. This device was locked 
 by HTC to prevent easy customisation.
+
+= External libraries =
+
+
+== Zlib 1.2.3 ==
+
+From http://downloads.sourceforge.net/project/libpng/zlib/1.2.3/zlib-1.2.3.tar.gz
+
+Extract:
+
+ tar -xzf zlib-1.2.3.tar.gz
+
+Correct directory name:
+
+ mv zlib-1.2.3 zlib
+
+Remove unwanted additional directories:
+
+ rm -rf contrib amiga as400 examples msdos old projects qnx win32
+
+== Broadcom BCM4329 ==
+
+Copied from the Linux kernel for the HTC Vison (drivers/net/wireless/bcm4329/)
+
+= Developer Notes =
+
+Gathering the chip-set specifications for some parts of this code can be challenging. Prudent use of
+a search engine can uncover many fragments of open-source code patches to many Linux kernel projects
+for embedded devices.
+
+If other source-code is directly imported into this project ensure the license is compatible and note
+all files that use a different license to the project's license in the COPYRIGHT file.
+
+To guard against any possible challenge as to the source of specifications and settings that
+aren't publicly released by chip-set or device manufacturers there is a comment template to prefix
+to any code that describes or uses those specifications or settings. Here's an example:
+
+/*
+  SOURCE: HTC Vision Linux kernel 2.6.32 source
+  SOURCE_FILE: arch/arm/mach-msm/arch-init-7x30.S
+  SOURCE_URL: http://dl3.htc.com/RomCode/Source_and_Binaries/vision-2.6.32-g814e0a1.tar.gz
+  SOURCE_FOR: MSM7x30 equates, status-codes, IOMEM addresses, CP15 functions
+*/
+
+... some code
+
+/* SOURCE_END */
+
+By using pseudo-defines (SOURCE, SOURCE_*, SOURCE_END) inside a C-style comment block (/* ... */) it
+makes it possible to use an automated tool to gather and document all sources of specifications and 
+settings.