arm_coreboot: Support EHCI.
This commit is contained in:
parent
058df7b5a9
commit
d11ced1e1f
5 changed files with 53 additions and 2 deletions
|
@ -63,7 +63,7 @@ GROUPS["cmos"] = GROUPS["x86"][:] + ["mips_loongson", "mips_qemu_mips",
|
||||||
"sparc64_ieee1275", "powerpc_ieee1275"]
|
"sparc64_ieee1275", "powerpc_ieee1275"]
|
||||||
GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi");
|
GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi");
|
||||||
GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
|
GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
|
||||||
GROUPS["usb"] = GROUPS["pci"]
|
GROUPS["usb"] = GROUPS["pci"] + ["arm_coreboot"]
|
||||||
|
|
||||||
# If gfxterm is main output console integrate it into kernel
|
# If gfxterm is main output console integrate it into kernel
|
||||||
GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot", "arm_coreboot" ]
|
GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot", "arm_coreboot" ]
|
||||||
|
|
|
@ -593,8 +593,10 @@ module = {
|
||||||
module = {
|
module = {
|
||||||
name = ehci;
|
name = ehci;
|
||||||
common = bus/usb/ehci.c;
|
common = bus/usb/ehci.c;
|
||||||
|
arm_coreboot = bus/usb/ehci-fdt.c;
|
||||||
pci = bus/usb/ehci-pci.c;
|
pci = bus/usb/ehci-pci.c;
|
||||||
enable = pci;
|
enable = pci;
|
||||||
|
enable = arm_coreboot;
|
||||||
};
|
};
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
|
|
45
grub-core/bus/usb/ehci-fdt.c
Normal file
45
grub-core/bus/usb/ehci-fdt.c
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/* ehci.c - EHCI Support. */
|
||||||
|
/*
|
||||||
|
* GRUB -- GRand Unified Bootloader
|
||||||
|
* Copyright (C) 2011 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* GRUB is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GRUB is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <grub/misc.h>
|
||||||
|
#include <grub/mm.h>
|
||||||
|
#include <grub/time.h>
|
||||||
|
#include <grub/usb.h>
|
||||||
|
#include <grub/fdtbus.h>
|
||||||
|
|
||||||
|
static grub_err_t
|
||||||
|
ehci_attach(const struct grub_fdtbus_dev *dev)
|
||||||
|
{
|
||||||
|
grub_dprintf ("ehci", "Found generic-ehci\n");
|
||||||
|
|
||||||
|
grub_ehci_init_device (grub_fdtbus_map_reg (dev, 0, 0));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct grub_fdtbus_driver ehci =
|
||||||
|
{
|
||||||
|
.compatible = "generic-ehci",
|
||||||
|
.attach = ehci_attach
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
grub_ehci_pci_scan (void)
|
||||||
|
{
|
||||||
|
grub_fdtbus_register (&ehci);
|
||||||
|
}
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
#include <grub/pci.h>
|
#include <grub/dma.h>
|
||||||
#include <grub/mm.h>
|
#include <grub/mm.h>
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
#include <grub/usb.h>
|
#include <grub/usb.h>
|
||||||
|
|
|
@ -321,5 +321,9 @@ grub_usb_err_t
|
||||||
grub_usb_check_transfer (grub_usb_transfer_t trans, grub_size_t *actual);
|
grub_usb_check_transfer (grub_usb_transfer_t trans, grub_size_t *actual);
|
||||||
void
|
void
|
||||||
grub_usb_cancel_transfer (grub_usb_transfer_t trans);
|
grub_usb_cancel_transfer (grub_usb_transfer_t trans);
|
||||||
|
void
|
||||||
|
grub_ehci_init_device (volatile void *regs);
|
||||||
|
void
|
||||||
|
grub_ehci_pci_scan (void);
|
||||||
|
|
||||||
#endif /* GRUB_USB_H */
|
#endif /* GRUB_USB_H */
|
||||||
|
|
Loading…
Reference in a new issue