Thread (2 messages) 2 messages, 2 authors, 2012-03-17

RE: [PATCH] powerpc/85xx:Add BSC9131 RDB Support

From: Kushwaha Prabhakar-B32579 <hidden>
Date: 2012-03-17 03:42:10
Also in: linuxppc-dev

Possibly related (same subject, not in this thread)

Thanks Kumar for reviewing this patch.
Please find my response in-lined..
-----Original Message-----
From: Kumar Gala [mailto:galak@kernel.crashing.org]
Sent: Saturday, March 17, 2012 1:43 AM
To: Kushwaha Prabhakar-B32579
Cc: linuxppc-dev@lists.ozlabs.org; devicetree-discuss@lists.ozlabs.org;
Mehresh Ramneek-B31383; Jain Priyanka-B32167; Goyal Akhil-B35197; Aggrwal
Poonam-B10812; Srivastava Rajan-B34330
Subject: Re: [PATCH] powerpc/85xx:Add BSC9131 RDB Support
quoted
diff --git a/arch/powerpc/boot/dts/bsc9131rdb.dtsi
b/arch/powerpc/boot/dts/bsc9131rdb.dtsi
new file mode 100644
index 0000000..d274c014
--- /dev/null
+++ b/arch/powerpc/boot/dts/bsc9131rdb.dtsi
@@ -0,0 +1,179 @@
+/*
+ * BSC9131 RDB Device Tree Source stub (no addresses or top-level
+ranges)
+ *
+ * Copyright 2011-2012 Freescale Semiconductor Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
are met:
quoted
+ *     * Redistributions of source code must retain the above
copyright
quoted
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
copyright
quoted
+ *       notice, this list of conditions and the following disclaimer
in the
quoted
+ *       documentation and/or other materials provided with the
distribution.
quoted
+ *     * Neither the name of Freescale Semiconductor nor the
+ *       names of its contributors may be used to endorse or promote
products
quoted
+ *       derived from this software without specific prior written
permission.
quoted
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of
+the
+ * GNU General Public License ("GPL") as published by the Free
+Software
+ * Foundation, either version 2 of that License or (at your option)
+any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND
+ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE
+FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+&board_ifc {
+
+	nand@0,0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "fsl,ifc-nand";
+		reg = <0x0 0x0 0x4000>;
+
+		partition@0 {
+			/* This location must not be altered  */
+			/* 3MB for u-boot Bootloader Image */
+			reg = <0x0 0x00300000>;
+			label = "NAND U-Boot Image";
+			read-only;
+		};
+
+		partition@300000 {
+			/* 1MB for DTB Image */
+			reg = <0x00300000 0x00100000>;
+			label = "NAND DTB Image";
+		};
+
+		partition@400000 {
+			/* 8MB for Linux Kernel Image */
+			reg = <0x00400000 0x00800000>;
+			label = "NAND Linux Kernel Image";
+		};
+
+		partition@c00000 {
+			/* Rest space for Root file System Image */
+			reg = <0x00c00000 0x07400000>;
+			label = " NAND RFS Image";
+		};
+	};
+};
+
+&board_soc {
+	i2c@3000 {
+		gpio3: gpio@21 {
+			compatible = "nxp,pca9555";
Is there any binding spec for nxp,

These is no binding for nxp,pca9555. I will send a separate patch for this. 
will this binging be part of Documentation/devicetree/bindings/i2c/trivial-devices.txt?

quoted
+			reg = <0x21>;
+			#gpio-cells = <2>;
+			gpio-controller;
+			polarity = <0x00>;
+		};
+		gpio4: gpio@23 {
+			compatible = "nxp,pca9555";
+			reg = <0x23>;
+			#gpio-cells = <2>;
+			gpio-controller;
+			polarity = <0x00>;
+		};
+		gpio5: gpio@27 {
+			compatible = "nxp,pca9555";
+			reg = <0x27>;
+			#gpio-cells = <2>;
+			gpio-controller;
+			polarity = <0x00>;
+		};
+		hwmon@4c {
+			compatible = "adi,adt7461";
+			reg = <0x4c>;
+		};
+		eeprom@52 {
+			compatible = "st-micro,24c02";
should this have a compatible with atmel,24c02?
I will check this point

quoted
+			reg = <0x52>;
+		};
+	};
+
+	/* BSC9131RDB does not have any device on i2c@3100 */
+	i2c@3100 {
+		status = "disabled";
+	};
+
+	spi@7000 {
+		flash@0 {
+			#address-cells = <1>;
+			#size-cells = <1>;
+			compatible = "spansion,s25sl12801";
+			reg = <0>;
+			spi-max-frequency = <50000000>;
+
+			/* 512KB for u-boot Bootloader Image */
+			partition@0 {
+				reg = <0x0 0x00080000>;
+				label = "SPI Flash U-Boot Image";
+				read-only;
+			};
+
+			/* 512KB for DTB Image */
+			partition@80000 {
+				reg = <0x00080000 0x00080000>;
+				label = "SPI Flash DTB Image";
+			};
+
+			/* 4MB for Linux Kernel Image */
+			partition@100000 {
+				reg = <0x00100000 0x00400000>;
+				label = "SPI Flash Kernel Image";
+			};
+
+			/* 4MB for Compressed RFS Image */
+			partition@500000 {
+				reg = <0x00500000 0x00400000>;
+				label = "SPI Flash Compressed RFS Image";
+			};
+
+			/* 7MB for JFFS2 based RFS */
+			partition@900000 {
+				reg = <0x00900000 0x00700000>;
+				label = "SPI Flash JFFS2 RFS Image";
+			};
+		};
+	};
+
+	usb@22000 {
+		phy_type = "ulpi";
+	};
+
+	mdio@24000 {
+		phy0: ethernet-phy@0 {
+			interrupts = <3 1 0 0>;
+			reg = <0x0>;
+		};
+
+		phy1: ethernet-phy@1 {
+			interrupts = <2 1 0 0>;
+			reg = <0x3>;
+		};
+	};
+
+	sdhci@2e000 {
+		status = "disabled";
+	};
+
+	enet0: ethernet@b0000 {
+		phy-handle = <&phy0>;
+		phy-connection-type = "rgmii-id";
+	};
+
+	enet1: ethernet@b1000 {
+		phy-handle = <&phy1>;
+		phy-connection-type = "rgmii-id";
+	};
+};
quoted
diff --git a/arch/powerpc/platforms/85xx/bsc913x_board.c
b/arch/powerpc/platforms/85xx/bsc913x_board.c
should be bsc913x_rdb.c
Yes. I will do.
quoted
new file mode 100644
index 0000000..934c3b5
--- /dev/null
+++ b/arch/powerpc/platforms/85xx/bsc913x_board.c
@@ -0,0 +1,96 @@
+/*
+ * BSC9131RDB Board Setup
+ *
+ * Author: Priyanka Jain <Priyanka.Jain@freescale.com>
+ *
+ * Copyright 2011-2012 Freescale Semiconductor Inc.
+ *
+ * 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.
+ */
+
+#include <linux/of_platform.h>
+#include <linux/pci.h>
+#include <asm/mpic.h>
+#include <sysdev/fsl_soc.h>
+#include <asm/udbg.h>
+
+void __init bsc913x_board_pic_init(void) {
+	struct mpic *mpic;
+	struct resource r;
+	struct device_node *np;
+
+	np = of_find_node_by_type(NULL, "open-pic");
+	if (!np) {
+		pr_err("bsc913x: Could not find open-pic node\n");
+		return;
+	}
+
+	if (of_address_to_resource(np, 0, &r)) {
+		pr_err("bsc913x: Failed to map mpic register space\n");
+		of_node_put(np);
+		return;
+	}
+
+	mpic = mpic_alloc(np, r.start, MPIC_WANTS_RESET |
+	  MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS | MPIC_SINGLE_DEST_CPU,
+	  0, 256, " OpenPIC  ");
+
+	of_node_put(np);
+
+	if (!mpic)
+		pr_err("bsc913x: Failed to allocate MPIC structure\n");
+	else
+		mpic_init(mpic);

Please update to match current board code
Sure.
quoted
+}
+
+/*
+ * Setup the architecture
+ */
+static void __init bsc913x_board_setup_arch(void) {
+	if (ppc_md.progress)
+		ppc_md.progress("bsc913x_board_setup_arch()", 0);
+
+	pr_info("bsc913x board from Freescale Semiconductor\n"); }
+
+static struct of_device_id __initdata bsc913x_board_ids[] = {
+	{ .type = "soc", },
+	{ .type = "dsp", },
remove dsp, doesn't show up anywhere else
I will remove
quoted
+	{ .compatible = "soc", },
+	{ .compatible = "simple-bus", },
+	{ .compatible = "gianfar", },
+	{},
+};
+
+static int __init bsc913x_board_publish_devices(void)
+{
+	return of_platform_bus_probe(NULL, bsc913x_board_ids, NULL); }
+machine_device_initcall(bsc9131_rdb, bsc913x_board_publish_devices);
+
+/*
+ * Called very early, device-tree isn't unflattened  */
+
+static int __init bsc9131_rdb_probe(void) {
+	unsigned long root = of_get_flat_dt_root();
+
+	return of_flat_dt_is_compatible(root, "fsl,bsc9131rdb"); }
+
+define_machine(bsc9131_rdb) {
+	.name			= "BSC9131 RDB",
+	.probe			= bsc9131_rdb_probe,
+	.setup_arch		= bsc913x_board_setup_arch,
+	.init_IRQ		= bsc913x_board_pic_init,
+	.get_irq		= mpic_get_irq,
+	.restart		= fsl_rstcr_restart,
+	.calibrate_decr		= generic_calibrate_decr,
+	.progress		= udbg_progress,
+};
--
1.7.5.4
Regards,
Prabhakar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help