[PATCH 3/4] Blackfin: documents and maintainer patch

From: Luke Yang
Date: Wed Sep 20 2006 - 23:34:00 EST


Hi,

This is the documents patche for Blackfin arch, also includes the
MAINTAINERS file change.

Signed-off-by: Luke Yang <luke.adi@xxxxxxxxx>

Documentation/blackfin/00-INDEX | 11 ++
Documentation/blackfin/Filesystems | 152 +++++++++++++++++++++++++++++++
Documentation/blackfin/cache-lock.txt | 31 ++++++
Documentation/blackfin/cachefeatures.txt | 48 +++++++++
MAINTAINERS | 32 ++++++
5 files changed, 274 insertions(+)

diff -urN linux-2.6.18.patch3/Documentation/blackfin/00-INDEX
linux-2.6.18.patch4/Documentation/blackfin/00-INDEX
--- linux-2.6.18.patch3/Documentation/blackfin/00-INDEX 1970-01-01
08:00:00.000000000 +0800
+++ linux-2.6.18.patch4/Documentation/blackfin/00-INDEX 2006-09-21
10:20:33.000000000 +0800
@@ -0,0 +1,11 @@
+00-INDEX
+ - This file
+
+cache-lock.txt
+ - HOWTO for blackfin cache locking.
+
+cachefeatures.txt
+ - Supported cache features.
+
+Filesystems
+ - Requirements for mounting the root file system.
diff -urN linux-2.6.18.patch3/Documentation/blackfin/Filesystems
linux-2.6.18.patch4/Documentation/blackfin/Filesystems
--- linux-2.6.18.patch3/Documentation/blackfin/Filesystems 1970-01-01
08:00:00.000000000 +0800
+++ linux-2.6.18.patch4/Documentation/blackfin/Filesystems 2006-09-21
10:20:33.000000000 +0800
@@ -0,0 +1,152 @@
+ How to mount the root file system in uClinux/Blackfin
+ -----------------------------------------------------
+
+1 Mounting EXT3 File system.
+ ------------------------
+
+ Creating an EXT3 File system for uClinux/Blackfin:
+
+
+Please follow the steps to form the EXT3 File system and mount the same as root
+file system.
+
+a Make an ext3 file system as large as you want the final root file
+ system.
+
+ mkfs.ext3 /dev/ram0 <your-rootfs-size-in-1k-blocks>
+
+b Mount this Empty file system on a free directory as:
+
+ mount -t ext3 /dev/ram0 ./test
+ where ./test is the empty directory.
+
+c Copy your root fs directory that you have so carefully made over.
+
+ cp -af /tmp/my_final_rootfs_files/* ./test
+
+ (For ex: cp -af uClinux-dist/romfs/* ./test)
+
+d If you have done everything right till now you should be able to see
+ the required "root" dir's (that's etc, root, bin, lib, sbin...)
+
+e Now unmount the file system
+
+ umount ./test
+
+f Create the root file system image.
+
+ dd if=/dev/ram0 bs=1k count=<your-rootfs-size-in-1k-blocks> \
+ > ext3fs.img
+
+
+Now you have to tell the kernel that will be mounting this file system as
+rootfs.
+So do a make menuconfig under kernel and select the Ext3 journaling file system
+support under File system --> submenu.
+
+
+2. Mounting EXT2 File system.
+ -------------------------
+
+By default the ext2 file system image will be created if you invoke make from
+the top uClinux-dist directory.
+
+
+3. Mounting CRAMFS File System
+ ----------------------------
+
+To create a CRAMFS file system image execute the command
+
+ mkfs.cramfs ./test cramfs.img
+
+ where ./test is the target directory.
+
+
+4. Mounting ROMFS File System
+ --------------------------
+
+To create a ROMFS file system image execute the command
+
+ genromfs -v -V "ROMdisk" -f romfs.img -d ./test
+
+ where ./test is the target directory
+
+
+5. Mounting the JFFS2 Filesystem
+ -----------------------------
+
+To create a compressed JFFS filesystem (JFFS2), please execute the command
+
+ mkfs.jffs2 -d ./test -o jffs2.img
+
+ where ./test is the target directory.
+
+However, please make sure the following is in your kernel config.
+
+/*
+ * RAM/ROM/Flash chip drivers
+ */
+#define CONFIG_MTD_CFI 1
+#define CONFIG_MTD_ROM 1
+/*
+ * Mapping drivers for chip access
+ */
+#define CONFIG_MTD_COMPLEX_MAPPINGS 1
+#define CONFIG_MTD_BF533 1
+#undef CONFIG_MTD_UCLINUX
+
+Through the u-boot boot loader, use the jffs2.img in the corresponding
+partition made in linux-2.6.x/drivers/mtd/maps/bf533_flash.c.
+
+NOTE - Currently the Flash driver is available only for EZKIT. Watch out for a
+ STAMP driver soon.
+
+
+6. Mounting the NFS File system
+ -----------------------------
+
+ For mounting the NFS please do the following in the kernel config.
+
+ In Networking Support --> Networking options --> TCP/IP networking -->
+ IP: kernel level autoconfiguration
+
+ Enable BOOTP Support.
+
+ In Kernel hacking --> Compiled-in kernel boot parameter add the following
+
+ root=/dev/nfs rw ip=bootp
+
+ In File system --> Network File system, Enable
+
+ NFS file system support --> NFSv3 client support
+ Root File system on NFS
+
+ in uClibc menuconfig, do the following
+ In Networking Support
+ enable Remote Procedure Call (RPC) support
+ Full RPC Support
+
+ On the Host side, ensure that /etc/dhcpd.conf looks something like this
+
+ ddns-update-style ad-hoc;
+ allow bootp;
+ subnet 10.100.4.0 netmask 255.255.255.0 {
+ default-lease-time 122209600;
+ max-lease-time 31557600;
+ group {
+ host bf533 {
+ hardware ethernet 00:CF:52:49:C3:01;
+ fixed-address 10.100.4.50;
+ option root-path "/home/nfsmount";
+ }
+ }
+
+ ensure that /etc/exports looks something like this
+ /home/nfsmount *(rw,no_root_squash,no_all_squash)
+
+ run the following commands as root (may differ depending on your
+ distribution) :
+ - service nfs start
+ - service portmap start
+ - service dhcpd start
+ - /usr/sbin/exportfs
diff -urN linux-2.6.18.patch3/Documentation/blackfin/cache-lock.txt
linux-2.6.18.patch4/Documentation/blackfin/cache-lock.txt
--- linux-2.6.18.patch3/Documentation/blackfin/cache-lock.txt 1970-01-01
08:00:00.000000000 +0800
+++ linux-2.6.18.patch4/Documentation/blackfin/cache-lock.txt 2006-09-21
10:20:33.000000000 +0800
@@ -0,0 +1,31 @@
+How to lock your code in cache in uClinux/blackfin
+--------------------------------------------------
+
+There are only a few steps required to lock your code into the cache.
+Currently you can lock the code by Way.
+
+Below are the interface provided for locking the cache.
+
+
+1. cache_grab_lock(int Ways);
+
+This function grab the lock for locking your code into the cache specified
+by Ways.
+
+
+2. cache_lock(int Ways);
+
+This function should be called after your critical code has been executed.
+Once the critical code exits, the code is now loaded into the cache. This
+function locks the code into the cache.
+
+
+So, the example sequence will be:
+
+ cache_grab_lock(WAY0_L); /* Grab the lock */
+
+ critical_code(); /* Execute the code of interest */
+
+ cache_lock(WAY0_L); /* Lock the cache */
+
+Where WAY0_L signifies WAY0 locking.
diff -urN linux-2.6.18.patch3/Documentation/blackfin/cachefeatures.txt
linux-2.6.18.patch4/Documentation/blackfin/cachefeatures.txt
--- linux-2.6.18.patch3/Documentation/blackfin/cachefeatures.txt 1970-01-01
08:00:00.000000000 +0800
+++ linux-2.6.18.patch4/Documentation/blackfin/cachefeatures.txt 2006-09-21
10:20:33.000000000 +0800
@@ -0,0 +1,48 @@
+ - Instruction and Data cache initialization.
+ icache_init();
+ dcache_init();
+
+ - Instruction and Data cache Invalidation Routines, when flushing the
+ same is not required.
+ _icache_invalidate();
+ _dcache_invalidate();
+
+ Also, for invalidating the entire instruction and data cache, the below
+ routines are provided (another method for invalidation, refer page
no 267 and 287 of
+ ADSP-BF533 Hardware Reference manual)
+
+ invalidate_entire_dcache();
+ invalidate_entire_icache();
+
+ -External Flushing of Instruction and data cache routines.
+
+ flush_instruction_cache();
+ flush_data_cache();
+
+ - Internal Flushing of Instruction and Data Cache.
+
+ icplb_flush();
+ dcplb_flush();
+
+ - Locking the cache.
+
+ cache_grab_lock();
+ cache_lock();
+
+ Please refer linux-2.6.x/Documentation/blackfin/cache-lock.txt for how to
+ lock the cache.
+
+ Locking the cache is optional feature.
+
+ - Miscellaneous cache functions.
+
+ flush_cache_all();
+ flush_cache_mm();
+ invalidate_dcache_range();
+ flush_dcache_range();
+ flush_dcache_page();
+ flush_cache_range();
+ flush_cache_page();
+ invalidate_dcache_range();
+ flush_page_to_ram();
+
diff -urN linux-2.6.18.patch3/MAINTAINERS linux-2.6.18.patch4/MAINTAINERS
--- linux-2.6.18.patch3/MAINTAINERS 2006-09-21 09:45:22.000000000 +0800
+++ linux-2.6.18.patch4/MAINTAINERS 2006-09-21 10:20:02.000000000 +0800
@@ -481,6 +481,38 @@
T: git kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
S: Maintained

+BLACKFIN ARCHITECTURE
+P: Aubery Li
+M: aubery.li@xxxxxxxxxx
+P: Bernd Schmidt
+M: bernd.schmidt@xxxxxxxxxx
+P: Michael Hennerich
+M: michael.hennerich@xxxxxxxxxx
+P: Mike Frysinger
+M: michael.frysinger@xxxxxxxxxx
+P: Jie Zhang
+M: jie.zhang@xxxxxxxxxx
+P: Luke Yang
+M: luke.adi@xxxxxxxxx
+P: Robin Getz
+M: robin.retz@xxxxxxxxxx
+P: Roy Huang
+M: roy.huang@xxxxxxxxxx
+P: Sonic Zhang
+M: sonic.zhang@xxxxxxxxxx
+L: linux-kernel@xxxxxxxxxxxxxxx
+L: uclinux533-devel@xxxxxxxxxxxxxxxxxxxx
+W: http://blackfin.uclinux.org
+S: Supported
+
+BLACKFIN SERIAL DRIVER
+P: Sonic Zhang
+M: sonic.zhang@xxxxxxxxxx
+L: linux-kernel@xxxxxxxxxxxxxxx
+L: uclinux533-devel@xxxxxxxxxxxxxxxxxxxx
+W: http://blackfin.uclinux.org
+S: Supported
+
BLUETOOTH SUBSYSTEM
P: Marcel Holtmann
M: marcel@xxxxxxxxxxxx

--
Best regards,
Luke Yang
luke.adi@xxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/