[LinuxBIOS] EPIA fix for non working IDE

ron minnich rminnich at gmail.com
Sun Apr 29 19:45:48 CEST 2007


The patch actualy looks fine to me. The densitron is DEAD and we
should remove it from the tree.
The 19200 baud rate was ONLY because of the ituner nodes and their
19200-baud 2-line vacuum display. 115200 is a sensible default.

I actually don't see a reason to commit as-is, but I can not test
either -- let's get a person with hardware to ack this one.

ron


On 4/29/07, Ben Hewson <ben at hewson-venieri.com> wrote:
> Hi all
>
>
> There has been a bug in the EPIA build which at some point stopped FILO
> being able to boot
> from an IDE drive. After much digging I have found the problem and have
> changed the following
> two files.
>
> LinuxBIOSv2/src/mainboard/via/epia/auto.c
> LinuxBIOSv2/src/southbridge/via/vt8231/vt8231_ide.c
>
>
> I have also changed the default COM speed from 19200 to 115200. This is
> a personal thing but
> every time I update LB I forget to change it back. Leave it out if you wish.
>
> LinuxBIOSv2/src/mainboard/via/epia/Options.lb
>
> I have attached a patch file. Can someone please see about checking &
> adding the fixes to the repository.
>
> There is still an issue with the board sometimes hanging on boot.  So I
> would not class this as fully working just yet.
>
>
> Regards
> Ben Hewson
>
>
>
> Index: /home/ben/sw/LinuxBIOSv2/src/mainboard/via/epia/auto.c
> ===================================================================
> --- /home/ben/sw/LinuxBIOSv2/src/mainboard/via/epia/auto.c      (revision 2621)
> +++ /home/ben/sw/LinuxBIOSv2/src/mainboard/via/epia/auto.c      (working copy)
> @@ -66,8 +66,16 @@
>         /* we do this here as in V2, we can not yet do raw operations
>          * to pci!
>          */
> -        dev += 0x100; /* ICKY */
> -
> +
> +   /* changed this to work correctly on later revisions of LB.
> +    * The original dev += 0x100; stopped working. It also appears
> +    * that if this is not set here, but in ide_init() only, the IDE
> +    * does not work at all. I assume it needs to be set before something else,
> +    * possibly before enabling the IDE peripheral, or it is a timing issue.
> +    * Ben Hewson 29 Apr 2007.
> +    */
> +
> +       dev = pci_locate_device(PCI_ID(0x1106,0x0571), 0);
>         pci_write_config8(dev, 0x42, 0);
>  }
>
>
>
> Index: /home/ben/sw/LinuxBIOSv2/src/southbridge/via/vt8231/vt8231_ide.c
> ===================================================================
> --- /home/ben/sw/LinuxBIOSv2/src/southbridge/via/vt8231/vt8231_ide.c    (revision 2621)
> +++ /home/ben/sw/LinuxBIOSv2/src/southbridge/via/vt8231/vt8231_ide.c    (working copy)
> @@ -15,6 +15,12 @@
>                 // Run the IDE controller in 'compatiblity mode - i.e. don't use PCI
>                 // interrupts.  Using PCI ints confuses linux for some reason.
>
> +               /* Setting reg 0x42 here does not work. It is set in mainboard/auto.c
> +                * It probably can only be changed while the IDE is disabled
> +                * or it is possibly a timing issue. Ben Hewson29 Apr 2007.
> +                */
> +
> +               /*
>                 printk_info("%s: enabling compatibility IDE addresses\n", __FUNCTION__);
>                 enables = pci_read_config8(dev, 0x42);
>                 printk_debug("enables in reg 0x42 0x%x\n", enables);
> @@ -22,6 +28,8 @@
>                 pci_write_config8(dev, 0x42, enables);
>                 enables = pci_read_config8(dev, 0x42);
>                 printk_debug("enables in reg 0x42 read back as 0x%x\n", enables);
> +               */
> +
>         }
>
>         enables = pci_read_config8(dev, 0x40);
>
>
> Index: /home/ben/sw/LinuxBIOSv2/src/mainboard/via/epia/Options.lb
> ===================================================================
> --- /home/ben/sw/LinuxBIOSv2/src/mainboard/via/epia/Options.lb  (revision 2621)
> +++ /home/ben/sw/LinuxBIOSv2/src/mainboard/via/epia/Options.lb  (working copy)
> @@ -51,7 +51,7 @@
>
>  default CONFIG_CONSOLE_SERIAL8250=1
>  ## Select the serial console baud rate
> -default TTYS0_BAUD=19200
> +default TTYS0_BAUD=115200
>
>  # Select the serial console base port
>  default TTYS0_BASE=0x3f8
>
> --
> linuxbios mailing list
> linuxbios at linuxbios.org
> http://www.linuxbios.org/mailman/listinfo/linuxbios
>




More information about the coreboot mailing list