Patchwork Support for TI xx12 cardbus bridge

login
register
about
Submitter Stefan Reinauer
Date 2010-05-14 19:23:54
Message ID <4BEDA34A.7090104@coresystems.de>
Download mbox | patch
Permalink /patch/1334/
State Accepted
Headers show

Comments

Stefan Reinauer - 2010-05-14 19:23:54
See patch.
Myles Watson - 2010-05-14 20:13:03
It looks like the generic cardbus ops would have worked for you (a little
less debugging output, though).  Are you planning on adding more later, or
should we consider just using the default?

Acked-by: Myles Watson <mylesgw@gmail.com>

Thanks,
Myles
Uwe Hermann - 2010-05-14 20:15:53
On Fri, May 14, 2010 at 09:23:54PM +0200, Stefan Reinauer wrote:
> Index: southbridge/ti/pcixx12/pcixx12.c
> ===================================================================
> --- southbridge/ti/pcixx12/pcixx12.c	(revision 0)
> +++ southbridge/ti/pcixx12/pcixx12.c	(revision 0)
> @@ -0,0 +1,71 @@
> +/*
> + * (C) Copyright 2008 coresystems GmbH

Please add the usual "This file is part of the coreboot project.".


> Index: southbridge/ti/pcixx12/chip.h
> ===================================================================
> --- southbridge/ti/pcixx12/chip.h	(revision 0)
> +++ southbridge/ti/pcixx12/chip.h	(revision 0)
> @@ -0,0 +1,11 @@

Please add the usual license header.

Otherwise the patch is:

Acked-by: Uwe Hermann <uwe@hermann-uwe.de>


Uwe.
Stefan Reinauer - 2010-05-16 12:56:39
On 5/14/10 10:13 PM, Myles Watson wrote:
> It looks like the generic cardbus ops would have worked for you (a little
> less debugging output, though).  Are you planning on adding more later, or
> should we consider just using the default?
>
> Acked-by: Myles Watson <mylesgw@gmail.com>
>   

The device contains more devices, and might need some more features like
power management, speaker handling and multi function routing etc.

Stefan

Patch

Index: southbridge/ti/Kconfig
===================================================================
--- southbridge/ti/Kconfig	(revision 5551)
+++ southbridge/ti/Kconfig	(working copy)
@@ -18,3 +18,4 @@ 
 ##
 
 source src/southbridge/ti/pci7420/Kconfig
+source src/southbridge/ti/pcixx12/Kconfig
Index: southbridge/ti/Makefile.inc
===================================================================
--- southbridge/ti/Makefile.inc	(revision 5551)
+++ southbridge/ti/Makefile.inc	(working copy)
@@ -18,3 +18,4 @@ 
 ##
 
 subdirs-$(CONFIG_SOUTHBRIDGE_TI_PCI7420) += pci7420
+subdirs-$(CONFIG_SOUTHBRIDGE_TI_PCIXX12) += pcixx12
Index: southbridge/ti/pcixx12/pcixx12.c
===================================================================
--- southbridge/ti/pcixx12/pcixx12.c	(revision 0)
+++ southbridge/ti/pcixx12/pcixx12.c	(revision 0)
@@ -0,0 +1,71 @@ 
+/*
+ * (C) Copyright 2008 coresystems GmbH
+ *
+ * This program 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 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#include <arch/io.h>
+#include <device/device.h>
+#include <device/pci.h>
+#include <device/pci_ops.h>
+#include <device/pci_ids.h>
+#include <console/console.h>
+#include <device/cardbus.h>
+#include "chip.h"
+
+static void pcixx12_init(device_t dev)
+{
+	/* cardbus controller function 1 for CF Socket */
+	printk(BIOS_DEBUG, "TI PCIxx12 init\n");
+}
+
+static void pcixx12_read_resources(device_t dev)
+{
+	cardbus_read_resources(dev);
+}
+
+static void pcixx12_set_resources(device_t dev)
+{
+	printk(BIOS_DEBUG, "%s In set resources \n",dev_path(dev));
+
+	pci_dev_set_resources(dev);
+
+	printk(BIOS_DEBUG, "%s done set resources \n",dev_path(dev));
+}
+
+static struct device_operations ti_pcixx12_ops = {
+	.read_resources   = pcixx12_read_resources,
+	.set_resources    = pcixx12_set_resources,
+	.enable_resources = cardbus_enable_resources,
+	.init             = pcixx12_init,
+	.scan_bus         = cardbus_scan_bridge,
+};
+
+static const struct pci_driver ti_pcixx12_driver __pci_driver = {
+	.ops    = &ti_pcixx12_ops,
+	.vendor = 0x104c,
+	.device = 0x8039,
+};
+
+static void southbridge_init(device_t dev)
+{
+	// struct southbridge_ti_pcixx12_config *config = dev->chip_info;
+}
+
+struct chip_operations southbridge_ti_pcixx12_ops = {
+	CHIP_NAME("Texas Instruments PCIxx12 Cardbus Controller")
+	.enable_dev    = southbridge_init,
+};
Index: southbridge/ti/pcixx12/Kconfig
===================================================================
--- southbridge/ti/pcixx12/Kconfig	(revision 0)
+++ southbridge/ti/pcixx12/Kconfig	(revision 0)
@@ -0,0 +1,22 @@ 
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008-2009 coresystems GmbH
+##
+## This program 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; version 2 of the License.
+##
+## This program 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 this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+config SOUTHBRIDGE_TI_PCIXX12
+	bool
+
Index: southbridge/ti/pcixx12/Makefile.inc
===================================================================
--- southbridge/ti/pcixx12/Makefile.inc	(revision 0)
+++ southbridge/ti/pcixx12/Makefile.inc	(revision 0)
@@ -0,0 +1,21 @@ 
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2008-2009 coresystems GmbH
+##
+## This program 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; version 2 of the License.
+##
+## This program 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 this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+driver-y += pcixx12.o
+
Index: southbridge/ti/pcixx12/chip.h
===================================================================
--- southbridge/ti/pcixx12/chip.h	(revision 0)
+++ southbridge/ti/pcixx12/chip.h	(revision 0)
@@ -0,0 +1,11 @@ 
+#ifndef _SOUTHBRIDGE_TI_PCIXX12
+#define _SOUTHBRIDGE_TI_PCIXX12
+
+extern struct chip_operations southbridge_ti_pcixx12_ops;
+
+struct southbridge_ti_pcixx12_config {
+	int dummy;
+	
+};
+
+#endif /* _SOUTHBRIDGE_TI_PCIXX12 */