Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/306/?format=api
{ "id": 306, "url": "http://patchwork.ozlabs.org/api/patches/306/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20080916095747.9992.18412.stgit@ubuntu8041.localdomain/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api", "name": "Linux PPC development", "link_name": "linuxppc-dev", "list_id": "linuxppc-dev.lists.ozlabs.org", "list_email": "linuxppc-dev@lists.ozlabs.org", "web_url": "https://github.com/linuxppc/wiki/wiki", "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git", "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/", "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/", "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}" }, "msgid": "<20080916095747.9992.18412.stgit@ubuntu8041.localdomain>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20080916095747.9992.18412.stgit@ubuntu8041.localdomain/", "date": "2008-09-16T09:57:47", "name": "[v5,1/2] powerpc: Board support for GE Fanuc SBC610", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "fe04d6115aa82cdcf8c3374907d1cfbb4c383e08", "submitter": { "id": 6, "url": "http://patchwork.ozlabs.org/api/people/6/?format=api", "name": "Martyn Welch", "email": "martyn.welch@gefanuc.com" }, "delegate": { "id": 9, "url": "http://patchwork.ozlabs.org/api/users/9/?format=api", "username": "galak", "first_name": "Kumar", "last_name": "Gala", "email": "galak@kernel.crashing.org" }, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20080916095747.9992.18412.stgit@ubuntu8041.localdomain/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/306/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/306/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<linuxppc-dev-bounces+patchwork=ozlabs.org@ozlabs.org>", "X-Original-To": [ "patchwork@ozlabs.org", "linuxppc-dev@ozlabs.org" ], "Delivered-To": [ "patchwork@ozlabs.org", "linuxppc-dev@ozlabs.org" ], "Received": [ "from ozlabs.org (localhost [127.0.0.1])\n\tby ozlabs.org (Postfix) with ESMTP id 3BAD3DE53B\n\tfor <patchwork@ozlabs.org>; Tue, 16 Sep 2008 19:58:14 +1000 (EST)", "from ext-nj2ut-10.online-age.net (ext-nj2ut-10.online-age.net\n\t[64.14.54.240])\n\t(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\n\t(Client CN \"ext-nj2ut.online-age.net\",\n\tIssuer \"Savvis Communications Root CA\" (not verified))\n\tby ozlabs.org (Postfix) with ESMTPS id F0979DE0BD\n\tfor <linuxppc-dev@ozlabs.org>; Tue, 16 Sep 2008 19:57:35 +1000 (EST)", "from int-nj2ut-6.online-age.net (int-nj2ut-6.online-age.net\n\t[3.159.237.75]) by ext-nj2ut-10.online-age.net\n\t(8.13.6/8.13.6/20051114-SVVS-TLS-DNSBL)\n\twith ESMTP id m8G9vV5m024018\n\tfor <linuxppc-dev@ozlabs.org>; Tue, 16 Sep 2008 05:57:31 -0400", "from cinmlip01.e2k.ad.ge.com (int-nj2ut-6.online-age.net\n\t[3.159.237.75])\n\tby int-nj2ut-6.online-age.net (8.13.6/8.13.6/20050510-SVVS) with\n\tESMTP id m8G9vUEQ003247\n\tfor <linuxppc-dev@ozlabs.org>; Tue, 16 Sep 2008 05:57:30 -0400", "from ind-3n4b83jh1.amer.consind.ge.com (HELO\n\tubuntu8041.localdomain) ([3.138.54.81])\n\tby cinmlip01.e2k.ad.ge.com with ESMTP; 16 Sep 2008 05:57:29 -0400", "from ubuntu8041.localdomain (localhost [127.0.0.1])\n\tby ubuntu8041.localdomain (Postfix) with ESMTP id 649D25E55E;\n\tTue, 16 Sep 2008 10:57:47 +0100 (BST)" ], "From": "Martyn Welch <martyn.welch@gefanuc.com>", "Subject": "[PATCH v5 1/2] powerpc: Board support for GE Fanuc SBC610", "To": "linuxppc-dev@ozlabs.org", "Date": "Tue, 16 Sep 2008 10:57:47 +0100", "Message-ID": "<20080916095747.9992.18412.stgit@ubuntu8041.localdomain>", "In-Reply-To": "<20080916095741.9992.96106.stgit@ubuntu8041.localdomain>", "References": "<20080916095741.9992.96106.stgit@ubuntu8041.localdomain>", "User-Agent": "StGIT/0.13", "MIME-Version": "1.0", "Cc": "scottwood@freescale.com, paulus@samba.org", "X-BeenThere": "linuxppc-dev@ozlabs.org", "X-Mailman-Version": "2.1.11", "Precedence": "list", "List-Id": "Linux on PowerPC Developers Mail List <linuxppc-dev.ozlabs.org>", "List-Unsubscribe": "<https://ozlabs.org/mailman/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@ozlabs.org?subject=unsubscribe>", "List-Archive": "<http://ozlabs.org/pipermail/linuxppc-dev>", "List-Post": "<mailto:linuxppc-dev@ozlabs.org>", "List-Help": "<mailto:linuxppc-dev-request@ozlabs.org?subject=help>", "List-Subscribe": "<https://ozlabs.org/mailman/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@ozlabs.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "linuxppc-dev-bounces+patchwork=ozlabs.org@ozlabs.org", "Errors-To": "linuxppc-dev-bounces+patchwork=ozlabs.org@ozlabs.org" }, "content": "Support for the SBC610 VPX Single Board Computer from GE Fanuc (PowerPC\nMPC8641D).\n\nThis is the basic board support for GE Fanuc's SBC610, a 6U single board\ncomputer, based on Freescale's MPC8641D.\n\nSigned-off-by: Martyn Welch <martyn.welch@gefanuc.com>", "diff": "diff --git a/arch/powerpc/boot/dts/gef_sbc610.dts b/arch/powerpc/boot/dts/gef_sbc610.dts\nnew file mode 100644\nindex 0000000..b80c581\n--- /dev/null\n+++ b/arch/powerpc/boot/dts/gef_sbc610.dts\n@@ -0,0 +1,260 @@\n+/*\n+ * GE Fanuc SBC610 Device Tree Source\n+ *\n+ * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc.\n+ *\n+ * This program is free software; you can redistribute it and/or modify it\n+ * under the terms of the GNU General Public License as published by the\n+ * Free Software Foundation; either version 2 of the License, or (at your\n+ * option) any later version.\n+ * \n+ * Based on: SBS CM6 Device Tree Source\n+ * Copyright 2007 SBS Technologies GmbH & Co. KG\n+ * And: mpc8641_hpcn.dts (MPC8641 HPCN Device Tree Source)\n+ * Copyright 2006 Freescale Semiconductor Inc.\n+ */\n+\n+/*\n+ * Compiled with dtc -I dts -O dtb -o gef_sbc610.dtb gef_sbc610.dts\n+ */\n+\n+/dts-v1/;\n+\n+/ {\n+\tmodel = \"GEF_SBC610\";\n+\tcompatible = \"gef,sbc610\";\n+\t#address-cells = <1>;\n+\t#size-cells = <1>;\n+\n+\taliases {\n+\t\tethernet0 = &enet0;\n+\t\tethernet1 = &enet1;\n+\t\tserial0 = &serial0;\n+\t\tserial1 = &serial1;\n+\t\tpci0 = &pci0;\n+\t};\n+\n+\tcpus {\n+\t\t#address-cells = <1>;\n+\t\t#size-cells = <0>;\n+\n+\t\tPowerPC,8641@0 {\n+\t\t\tdevice_type = \"cpu\";\n+\t\t\treg = <0>;\n+\t\t\td-cache-line-size = <32>;\t// 32 bytes\n+\t\t\ti-cache-line-size = <32>;\t// 32 bytes\n+\t\t\td-cache-size = <32768>;\t\t// L1, 32K\n+\t\t\ti-cache-size = <32768>;\t\t// L1, 32K\n+\t\t\ttimebase-frequency = <0>;\t// From uboot\n+\t\t\tbus-frequency = <0>;\t\t// From uboot\n+\t\t\tclock-frequency = <0>;\t\t// From uboot\n+\t\t};\n+\t\tPowerPC,8641@1 {\n+\t\t\tdevice_type = \"cpu\";\n+\t\t\treg = <1>;\n+\t\t\td-cache-line-size = <32>;\t// 32 bytes\n+\t\t\ti-cache-line-size = <32>;\t// 32 bytes\n+\t\t\td-cache-size = <32768>;\t\t// L1, 32K\n+\t\t\ti-cache-size = <32768>;\t\t// L1, 32K\n+\t\t\ttimebase-frequency = <0>;\t// From uboot\n+\t\t\tbus-frequency = <0>;\t\t// From uboot\n+\t\t\tclock-frequency = <0>;\t\t// From uboot\n+\t\t};\n+\t};\n+\n+\tmemory {\n+\t\tdevice_type = \"memory\";\n+\t\treg = <0x0 0x40000000>;\t// set by uboot\n+\t};\n+\n+\tsoc@fef00000 {\n+\t\t#address-cells = <1>;\n+\t\t#size-cells = <1>;\n+\t\t#interrupt-cells = <2>;\n+\t\tdevice_type = \"soc\";\n+\t\tcompatible = \"simple-bus\";\n+\t\tranges = <0x0 0xfef00000 0x00100000>;\n+\t\treg = <0xfef00000 0x100000>;\t// CCSRBAR 1M\n+\t\tbus-frequency = <0>;\n+\n+\t\ti2c1: i2c@3000 {\n+\t\t\t#address-cells = <1>;\n+\t\t\t#size-cells = <0>;\n+\t\t\tcompatible = \"fsl-i2c\";\n+\t\t\treg = <0x3000 0x100>;\n+\t\t\tinterrupts = <0x2b 0x2>;\n+\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\tdfsrr;\n+\n+\t\t\teti@6b {\n+\t\t\t\tcompatible = \"dallas,ds1682\";\n+\t\t\t\treg = <0x6b>;\n+\t\t\t};\n+\t\t};\n+\n+\t\ti2c2: i2c@3100 {\n+\t\t\t#address-cells = <1>;\n+\t\t\t#size-cells = <0>;\n+\t\t\tcompatible = \"fsl-i2c\";\n+\t\t\treg = <0x3100 0x100>;\n+\t\t\tinterrupts = <0x2b 0x2>;\n+\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\tdfsrr;\n+\t\t};\n+\n+\t\tdma@21300 {\n+\t\t\t#address-cells = <1>;\n+\t\t\t#size-cells = <1>;\n+\t\t\tcompatible = \"fsl,mpc8641-dma\", \"fsl,eloplus-dma\";\n+\t\t\treg = <0x21300 0x4>;\n+\t\t\tranges = <0x0 0x21100 0x200>;\n+\t\t\tcell-index = <0>;\n+\t\t\tdma-channel@0 {\n+\t\t\t\tcompatible = \"fsl,mpc8641-dma-channel\",\n+\t\t\t\t\t \"fsl,eloplus-dma-channel\";\n+\t\t\t\treg = <0x0 0x80>;\n+\t\t\t\tcell-index = <0>;\n+\t\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\t\tinterrupts = <20 2>;\n+\t\t\t};\n+\t\t\tdma-channel@80 {\n+\t\t\t\tcompatible = \"fsl,mpc8641-dma-channel\",\n+\t\t\t\t\t \"fsl,eloplus-dma-channel\";\n+\t\t\t\treg = <0x80 0x80>;\n+\t\t\t\tcell-index = <1>;\n+\t\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\t\tinterrupts = <21 2>;\n+\t\t\t};\n+\t\t\tdma-channel@100 {\n+\t\t\t\tcompatible = \"fsl,mpc8641-dma-channel\",\n+\t\t\t\t\t \"fsl,eloplus-dma-channel\";\n+\t\t\t\treg = <0x100 0x80>;\n+\t\t\t\tcell-index = <2>;\n+\t\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\t\tinterrupts = <22 2>;\n+\t\t\t};\n+\t\t\tdma-channel@180 {\n+\t\t\t\tcompatible = \"fsl,mpc8641-dma-channel\",\n+\t\t\t\t\t \"fsl,eloplus-dma-channel\";\n+\t\t\t\treg = <0x180 0x80>;\n+\t\t\t\tcell-index = <3>;\n+\t\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\t\tinterrupts = <23 2>;\n+\t\t\t};\n+\t\t};\n+\n+\t\tmdio@24520 {\n+\t\t\t#address-cells = <1>;\n+\t\t\t#size-cells = <0>;\n+\t\t\tcompatible = \"fsl,gianfar-mdio\";\n+\t\t\treg = <0x24520 0x20>;\n+\n+\t\t\tphy0: ethernet-phy@0 {\n+\t\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\t\tinterrupts = <0x0 0x1>;\n+\t\t\t\treg = <1>;\n+\t\t\t};\n+\t\t\tphy2: ethernet-phy@2 {\n+\t\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\t\tinterrupts = <0x0 0x1>;\n+\t\t\t\treg = <3>;\n+\t\t\t};\n+\t\t};\n+\n+\t\tenet0: ethernet@24000 {\n+\t\t\tdevice_type = \"network\";\n+\t\t\tmodel = \"eTSEC\";\n+\t\t\tcompatible = \"gianfar\";\n+\t\t\treg = <0x24000 0x1000>;\n+\t\t\tlocal-mac-address = [ 00 00 00 00 00 00 ];\n+\t\t\tinterrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;\n+\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\tphy-handle = <&phy0>;\n+\t\t\tphy-connection-type = \"gmii\";\n+\t\t};\n+\n+\t\tenet1: ethernet@26000 {\n+\t\t\tdevice_type = \"network\";\n+\t\t\tmodel = \"eTSEC\";\n+\t\t\tcompatible = \"gianfar\";\n+\t\t\treg = <0x26000 0x1000>;\n+\t\t\tlocal-mac-address = [ 00 00 00 00 00 00 ];\n+\t\t\tinterrupts = <0x1f 0x2 0x20 0x2 0x21 0x2>;\n+\t\t\tinterrupt-parent = <&mpic>;\n+\t\t\tphy-handle = <&phy2>;\n+\t\t\tphy-connection-type = \"gmii\";\n+\t\t};\n+\n+\t\tserial0: serial@4500 {\n+\t\t\tcell-index = <0>;\n+\t\t\tdevice_type = \"serial\";\n+\t\t\tcompatible = \"ns16550\";\n+\t\t\treg = <0x4500 0x100>;\n+\t\t\tclock-frequency = <0>;\n+\t\t\tinterrupts = <0x2a 0x2>;\n+\t\t\tinterrupt-parent = <&mpic>;\n+\t\t};\n+\n+\t\tserial1: serial@4600 {\n+\t\t\tcell-index = <1>;\n+\t\t\tdevice_type = \"serial\";\n+\t\t\tcompatible = \"ns16550\";\n+\t\t\treg = <0x4600 0x100>;\n+\t\t\tclock-frequency = <0>;\n+\t\t\tinterrupts = <0x1c 0x2>;\n+\t\t\tinterrupt-parent = <&mpic>;\n+\t\t};\n+\n+\t\tmpic: pic@40000 {\n+\t\t\tclock-frequency = <0>;\n+\t\t\tinterrupt-controller;\n+\t\t\t#address-cells = <0>;\n+\t\t\t#interrupt-cells = <2>;\n+\t\t\treg = <0x40000 0x40000>;\n+\t\t\tcompatible = \"chrp,open-pic\";\n+\t\t\tdevice_type = \"open-pic\";\n+\t\t};\n+\n+\t\tglobal-utilities@e0000 {\n+\t\t\tcompatible = \"fsl,mpc8641-guts\";\n+\t\t\treg = <0xe0000 0x1000>;\n+\t\t\tfsl,has-rstcr;\n+\t\t};\n+\t};\n+\n+\tpci0: pcie@fef08000 {\n+\t\tcompatible = \"fsl,mpc8641-pcie\";\n+\t\tdevice_type = \"pci\";\n+\t\t#interrupt-cells = <1>;\n+\t\t#size-cells = <2>;\n+\t\t#address-cells = <3>;\n+\t\treg = <0xfef08000 0x1000>;\n+\t\tbus-range = <0x0 0xff>;\n+\t\tranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x40000000\n+\t\t\t 0x01000000 0x0 0x00000000 0xfe000000 0x0 0x00400000>;\n+\t\tclock-frequency = <33333333>;\n+\t\tinterrupt-parent = <&mpic>;\n+\t\tinterrupts = <0x18 0x2>;\n+\t\tinterrupt-map-mask = <0xf800 0x0 0x0 0x7>;\n+\t\tinterrupt-map = <\n+\t\t\t0x0000 0x0 0x0 0x1 &mpic 0x0 0x1\n+\t\t\t0x0000 0x0 0x0 0x2 &mpic 0x1 0x1\n+\t\t\t0x0000 0x0 0x0 0x3 &mpic 0x2 0x1\n+\t\t\t0x0000 0x0 0x0 0x4 &mpic 0x3 0x1\n+\t\t>;\n+\n+\t\tpcie@0 {\n+\t\t\treg = <0 0 0 0 0>;\n+\t\t\t#size-cells = <2>;\n+\t\t\t#address-cells = <3>;\n+\t\t\tdevice_type = \"pci\";\n+\t\t\tranges = <0x02000000 0x0 0x80000000\n+\t\t\t\t 0x02000000 0x0 0x80000000\n+\t\t\t\t 0x0 0x40000000\n+\n+\t\t\t\t 0x01000000 0x0 0x00000000\n+\t\t\t\t 0x01000000 0x0 0x00000000\n+\t\t\t\t 0x0 0x00400000>;\n+\t\t};\n+\t};\n+};\ndiff --git a/arch/powerpc/platforms/86xx/Kconfig b/arch/powerpc/platforms/86xx/Kconfig\nindex 9355a52..77dd797 100644\n--- a/arch/powerpc/platforms/86xx/Kconfig\n+++ b/arch/powerpc/platforms/86xx/Kconfig\n@@ -31,6 +31,13 @@ config MPC8610_HPCD\n \thelp\n \t This option enables support for the MPC8610 HPCD board.\n \n+config GEF_SBC610\n+\tbool \"GE Fanuc SBC610\"\n+\tselect DEFAULT_UIMAGE\n+\tselect HAS_RAPIDIO\n+\thelp\n+\t This option enables support for GE Fanuc's SBC610.\n+\n endif\n \n config MPC8641\n@@ -39,7 +46,7 @@ config MPC8641\n \tselect FSL_PCI if PCI\n \tselect PPC_UDBG_16550\n \tselect MPIC\n-\tdefault y if MPC8641_HPCN || SBC8641D\n+\tdefault y if MPC8641_HPCN || SBC8641D || GEF_SBC610\n \n config MPC8610\n \tbool\ndiff --git a/arch/powerpc/platforms/86xx/Makefile b/arch/powerpc/platforms/86xx/Makefile\nindex 8fee37d..cb9fc8f 100644\n--- a/arch/powerpc/platforms/86xx/Makefile\n+++ b/arch/powerpc/platforms/86xx/Makefile\n@@ -7,3 +7,4 @@ obj-$(CONFIG_SMP)\t\t+= mpc86xx_smp.o\n obj-$(CONFIG_MPC8641_HPCN)\t+= mpc86xx_hpcn.o\n obj-$(CONFIG_SBC8641D)\t\t+= sbc8641d.o\n obj-$(CONFIG_MPC8610_HPCD)\t+= mpc8610_hpcd.o\n+obj-$(CONFIG_GEF_SBC610)\t+= gef_sbc610.o\ndiff --git a/arch/powerpc/platforms/86xx/gef_sbc610.c b/arch/powerpc/platforms/86xx/gef_sbc610.c\nnew file mode 100644\nindex 0000000..3543a9e\n--- /dev/null\n+++ b/arch/powerpc/platforms/86xx/gef_sbc610.c\n@@ -0,0 +1,149 @@\n+/*\n+ * GE Fanuc SBC610 board support\n+ *\n+ * Author: Martyn Welch <martyn.welch@gefanuc.com>\n+ *\n+ * Copyright 2008 GE Fanuc Intelligent Platforms Embedded Systems, Inc.\n+ *\n+ * This program is free software; you can redistribute it and/or modify it\n+ * under the terms of the GNU General Public License as published by the\n+ * Free Software Foundation; either version 2 of the License, or (at your\n+ * option) any later version.\n+ *\n+ * Based on: mpc86xx_hpcn.c (MPC86xx HPCN board specific routines)\n+ * Copyright 2006 Freescale Semiconductor Inc.\n+ */\n+\n+#include <linux/stddef.h>\n+#include <linux/kernel.h>\n+#include <linux/pci.h>\n+#include <linux/kdev_t.h>\n+#include <linux/delay.h>\n+#include <linux/seq_file.h>\n+#include <linux/of_platform.h>\n+\n+#include <asm/system.h>\n+#include <asm/time.h>\n+#include <asm/machdep.h>\n+#include <asm/pci-bridge.h>\n+#include <asm/mpc86xx.h>\n+#include <asm/prom.h>\n+#include <mm/mmu_decl.h>\n+#include <asm/udbg.h>\n+\n+#include <asm/mpic.h>\n+\n+#include <sysdev/fsl_pci.h>\n+#include <sysdev/fsl_soc.h>\n+\n+#include \"mpc86xx.h\"\n+\n+#undef DEBUG\n+\n+#ifdef DEBUG\n+#define DBG (fmt...) do { printk(KERN_ERR \"SBC610: \" fmt); } while (0)\n+#else\n+#define DBG (fmt...) do { } while (0)\n+#endif\n+\n+static void __init gef_sbc610_setup_arch(void)\n+{\n+#ifdef CONFIG_PCI\n+\tstruct device_node *np;\n+\n+\tfor_each_compatible_node(np, \"pci\", \"fsl,mpc8641-pcie\") {\n+\t\tfsl_add_bridge(np, 1);\n+\t}\n+#endif\n+\n+\tprintk(KERN_INFO \"GE Fanuc Intelligent Platforms SBC610 6U VPX SBC\\n\");\n+\n+#ifdef CONFIG_SMP\n+\tmpc86xx_smp_init();\n+#endif\n+}\n+\n+\n+static void gef_sbc610_show_cpuinfo(struct seq_file *m)\n+{\n+\tstruct device_node *root;\n+\tuint memsize = total_memory;\n+\tconst char *model = \"\";\n+\tuint svid = mfspr(SPRN_SVR);\n+\n+\tseq_printf(m, \"Vendor\\t\\t: GE Fanuc Intelligent Platforms\\n\");\n+\n+\troot = of_find_node_by_path(\"/\");\n+\tif (root)\n+\t\tmodel = of_get_property(root, \"model\", NULL);\n+\tseq_printf(m, \"Machine\\t\\t: %s\\n\", model);\n+\tof_node_put(root);\n+\n+\tseq_printf(m, \"SVR\\t\\t: 0x%x\\n\", svid);\n+\tseq_printf(m, \"Memory\\t\\t: %d MB\\n\", memsize / (1024 * 1024));\n+}\n+\n+\n+/*\n+ * Called very early, device-tree isn't unflattened\n+ *\n+ * This function is called to determine whether the BSP is compatible with the\n+ * supplied device-tree, which is assumed to be the correct one for the actual\n+ * board. It is expected thati, in the future, a kernel may support multiple\n+ * boards.\n+ */\n+static int __init gef_sbc610_probe(void)\n+{\n+\tunsigned long root = of_get_flat_dt_root();\n+\n+\tif (of_flat_dt_is_compatible(root, \"gef,sbc610\"))\n+\t\treturn 1;\n+\n+\treturn 0;\n+}\n+\n+static long __init mpc86xx_time_init(void)\n+{\n+\tunsigned int temp;\n+\n+\t/* Set the time base to zero */\n+\tmtspr(SPRN_TBWL, 0);\n+\tmtspr(SPRN_TBWU, 0);\n+\n+\ttemp = mfspr(SPRN_HID0);\n+\ttemp |= HID0_TBEN;\n+\tmtspr(SPRN_HID0, temp);\n+\tasm volatile(\"isync\");\n+\n+\treturn 0;\n+}\n+\n+static __initdata struct of_device_id of_bus_ids[] = {\n+\t{ .compatible = \"simple-bus\", },\n+\t{},\n+};\n+\n+static int __init declare_of_platform_devices(void)\n+{\n+\tprintk(KERN_DEBUG \"Probe platform devices\\n\");\n+\tof_platform_bus_probe(NULL, of_bus_ids, NULL);\n+\n+\treturn 0;\n+}\n+machine_device_initcall(gef_sbc610, declare_of_platform_devices);\n+\n+define_machine(gef_sbc610) {\n+\t.name\t\t\t= \"GE Fanuc SBC610\",\n+\t.probe\t\t\t= gef_sbc610_probe,\n+\t.setup_arch\t\t= gef_sbc610_setup_arch,\n+\t.init_IRQ\t\t= mpc86xx_init_irq,\n+\t.show_cpuinfo\t\t= gef_sbc610_show_cpuinfo,\n+\t.get_irq\t\t= mpic_get_irq,\n+\t.restart\t\t= fsl_rstcr_restart,\n+\t.time_init\t\t= mpc86xx_time_init,\n+\t.calibrate_decr\t\t= generic_calibrate_decr,\n+\t.progress\t\t= udbg_progress,\n+#ifdef CONFIG_PCI\n+\t.pcibios_fixup_bus\t= fsl_pcibios_fixup_bus,\n+#endif\n+};\n", "prefixes": [ "v5", "1/2" ] }