Documentation : Hardware | Software | Tutorials    Wardrobe : Jackets | Applications
Papers : Notes | Proposals | Research    Administration : Stock | Minutes | Progress

Changes made to kernel for the bitsy

-1)
  Added line on 680 to Config.in
  Added line on 680 to Makefile   (both in drivers/usb)
  Configured Video for liunux in mm devices
  Configured 680 in USB




0)
  untar 
  ln -s linux linux.ac
  patch -p0 < ../BitsyKernel/patch-2.4.9-ac10
  patch -p0 < ../BitsyKernel/patch-2.4.9-ac10-rmk2 
  patch -p0 < ../BitsyKernel/diff-2.4.9-ac10-rmk2-np1
  patch -p0 < ../BitsyKernel/diff-2.4.9-ac10-rmk2-np1-ads2 
  cd linux
  make adsbitsy_config
  make oldconfig
  make dep

1) Patch the file linux/drivers/mtd/maps/sa1100-flash.c

     Remove the lines mask_flags:MTD_WRITABLE in adsbitsy_partitions
     on "zImage" and "ramdisk.gz".

   This disables READ-only on the flash memory.

2)
  DO NOT DO THIS STEP. INSTEAD APPLY THE PATCH INCLUDED AT THE END OF THIS FILE.
  ADD the following lines to arch/arm/mach-sa1100/adsbitsy.c

        /*
         * Enable PWM control for LCD
         */
        SKPCR |= SKPCR_PWMCLKEN;
        SKPWM0 = 0x7F;                          // VEE
        SKPEN0 = 1;
        SKPWM1 = 0x01;                          // Backlight
        SKPEN1 = 1;

After the sa1111_configure_smc(1 line in adsbitsy_init.

2.5)
  Apply patch  859/1:
     http://www.arm.linux.org.uk/developer/patches/?action=viewpatch&id=859/1

3)
  Edit drivers/sound/sa1111-uda1341.c
  Add
                  machine_is_adsbitsy() ||
  int sa1111_uda1341_init, just before the test on machine_is_jornada720()

4)
  Edit drivers/l3/l3-sa1111.c
  Add
                  machine_is_adsbitsy() ||
  int l3_sa1111_init, just before the test on machine_is_jornada720()

5)
  make menuconfig
    Go into ATA/IDE/MFM/RLL support
      Unselect the first entry: ATA/IDE/MFM/RLL support
    Go into Filesystems
      Unselect DOS FAT fs support
      Go into Network File Systems
        Unselect Root file system on NFS
    Go into  Network device support
      Go into PCMCIA network device support
      Unselect NE2000 compatible PCMCIA support
      Go into Pcmcia Wireless LAN 
        Select WaveLan/IEEE 802.11 wireless support (MODULE)
    Go into Sound
      Select Sound support (not a Module)
      Select Audio support for SA1111/UDA1341 (not a Module)
    Go into Character devices
      Unselect Virtual terminal
      Go into L3 serial bus support
        Select L3 support  (Not a module, straight in the kernel)
        Select SA1111 adapter
        Select UDA1341 Stereo Codec
    Go into General setup 
      Select CPU usage LED
    Go into Networking Options
      Unselect IP: kernel level autoconfiguration
    Go into file systems
      Unselect Journalling Flash File System (JFFS) support (EXPERIMENTAL)
      Select Journalling Flash File System v2 (JFFS2) support

6)
  make zImage
  make modules
  Copy arch/arm/boot/zImage          to the kernel partition
  Copy drivers/net/pcmcia/wvlan_cs.o to the ramdisk

------------------------------------- SOUND PATCH STEP 2 -----------------------
diff -Naur ads3/linux/arch/arm/def-configs/adsbitsy linux/arch/arm/def-configs/adsbitsy
--- ads3/linux/arch/arm/def-configs/adsbitsy	Wed Mar 13 16:30:52 2002
+++ linux/arch/arm/def-configs/adsbitsy	Fri Mar 15 15:17:10 2002
@@ -529,12 +529,19 @@
 #
 # L3 serial bus support
 #
-# CONFIG_L3 is not set
+CONFIG_L3=y
 # CONFIG_L3_ALGOBIT is not set
+
+#
+# Other L3 adapters
+#
+CONFIG_L3_SA1111=y
+
+#
+# L3 driver support
+#
+CONFIG_L3_DRV_UDA1341=y
 # CONFIG_L3_BIT_SA1100_GPIO is not set
-# CONFIG_L3_SA1111 is not set
-# CONFIG_L3_DRV_UDA1341 is not set
-# CONFIG_BIT_SA1100_GPIO is not set
 
 #
 # Mice
@@ -760,7 +767,19 @@
 #
 # Sound
 #
-# CONFIG_SOUND is not set
+CONFIG_SOUND=y
+# CONFIG_SOUND_BT878 is not set
+# CONFIG_SOUND_FUSION is not set
+# CONFIG_SOUND_CS4281 is not set
+# CONFIG_SOUND_ESSSOLO1 is not set
+# CONFIG_SOUND_MAESTRO is not set
+# CONFIG_SOUND_SONICVIBES is not set
+# CONFIG_SOUND_TRIDENT is not set
+# CONFIG_SOUND_MSNDCLAS is not set
+# CONFIG_SOUND_MSNDPIN is not set
+CONFIG_SOUND_SA1111_UDA1341=y
+# CONFIG_SOUND_SA1100SSP is not set
+# CONFIG_SOUND_OSS is not set
 
 #
 # USB support
diff -Naur ads3/linux/drivers/sound/sa1111-uda1341.c linux/drivers/sound/sa1111-uda1341.c
--- ads3/linux/drivers/sound/sa1111-uda1341.c	Wed Mar 13 16:30:15 2002
+++ linux/drivers/sound/sa1111-uda1341.c	Fri Mar 15 16:05:27 2002
@@ -224,6 +224,12 @@
 		PPSR |= PPC_LDD3; /* enable microphone */
 	}
 #endif
+#ifdef CONFIG_SA1100_ADSBITSY
+	if (machine_is_adsbitsy()) {
+	  PB_DDR &= ~SA1111_GPIO_B0; // enable EXT_IRQ2 output
+	  PB_DWR &= ~SA1111_GPIO_B0; // enable stereo out amp (\dev\dsp)
+	}
+#endif
 
 	SBI_SKCR &= ~SKCR_SELAC;
 
@@ -252,6 +258,12 @@
 
 static void sa1111_audio_shutdown(void *dummy)
 {
+#ifdef CONFIG_SA1100_ADSBITSY
+	if (machine_is_adsbitsy()) {
+	  PB_DWR |= SA1111_GPIO_B0; // disable stereo out amp (\dev\dsp)
+	  PB_DDR |= SA1111_GPIO_B0; // disable EXT_IRQ2 output
+	}
+#endif
 	shutdown_chip();
 	SACR0 &= ~SACR0_ENB;
 }
@@ -333,7 +345,8 @@
 	int ret;
 
 	if ( !(	(machine_is_assabet() && machine_has_neponset()) ||
-		machine_is_jornada720() ))
+		machine_is_jornada720() ||
+		machine_is_adsbitsy() ))
 		return -ENODEV;
 
 	ret = init_l3_interface();
diff -Naur ads3/linux/include/asm-arm/arch-sa1100/SA-1111.h linux/include/asm-arm/arch-sa1100/SA-1111.h
--- ads3/linux/include/asm-arm/arch-sa1100/SA-1111.h	Wed Mar 13 16:29:29 2002
+++ linux/include/asm-arm/arch-sa1100/SA-1111.h	Fri Mar 15 15:53:19 2002
@@ -394,6 +394,10 @@
 
 #endif  /* LANGUAGE == C */
 
+#define SA1111_GPIO(pin) (0x01 << (pin))
+#define SA1111_GPIO_B0   SA1111_GPIO(0)
+#define SA1111_PWM0      SA1111_GPIO_B0
+
 /*
  * Interrupt Controller
  *