Skip to contentSkip to conversation

Few more mpc8568mds and fsl_soc related patches

PATCH New Anton Vorontsov 1 participant 4 messages Oct 2, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover Few more mpc8568mds and fsl_soc related patches

Hi all,

These patches needed to support PCIe and RTC on the MPC8568E-MDS board. They're against galak/powerpc.git master branch.

Thanks,

Signature · 4 lines
Anton Vorontsov
email: [email protected]
backup email: [email protected]
irc://irc.freenode.net/bd2
#1 lore raw

PATCH 1/3 fsl_soc: fix uninitialized i2c_board_info structure

i2c_board_info used semi-initialized, causing garbage in the info->flags, and that, in turn, causes various symptoms of i2c malfunctioning, like PEC mismatches.

---
 arch/powerpc/sysdev/fsl_soc.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
arch/powerpc/sysdev/fsl_soc.c +1 -2
index 4a16456..91987e0 100644
@@ -363,7 +363,7 @@ static void __init of_register_i2c_devices(struct device_node *adap_node,
 	struct device_node *node = NULL;
 
 	while ((node = of_get_next_child(adap_node, node))) {
-		struct i2c_board_info info;
+		struct i2c_board_info info = {};
 		const u32 *addr;
 		int len;
 
@@ -380,7 +380,6 @@ static void __init of_register_i2c_devices(struct device_node *adap_node,
 		if (of_find_i2c_driver(node, &info) < 0)
 			continue;
 
-		info.platform_data = NULL;
 		info.addr = *addr;
 
 		i2c_register_board_info(bus_num, &info, 1);
Signature · 1 line
1.5.0.6
#2 lore raw

PATCH 2/3 MPC8568E-MDS: add support for ds1374 rtc

In reply to Anton Vorontsov

MPC8568E-MDS have DS1374 chip on the I2C bus, thus let's use it. This patch also adds #address-cells and #size-cells to the I2C controllers nodes.

p.s. DS1374 rtc class driver is in the -mm tree, its name is rtc-rtc-class-driver-for-the-ds1374.patch.

---
 arch/powerpc/boot/dts/mpc8568mds.dts |    9 +++++++++
 arch/powerpc/sysdev/fsl_soc.c        |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)
arch/powerpc/boot/dts/mpc8568mds.dts +9 -0
index 1d082fb..a177dd0 100644
@@ -72,15 +72,24 @@
 		};
 
 		i2c@3000 {
+			#address-cells = <1>;
+			#size-cells = <0>;
 			device_type = "i2c";
 			compatible = "fsl-i2c";
 			reg = <3000 100>;
 			interrupts = <2b 2>;
 			interrupt-parent = <&mpic>;
 			dfsrr;
+
+			rtc@68 {
+				compatible = "dallas,ds1374";
+				reg = <68>;
+			};
 		};
 
 		i2c@3100 {
+			#address-cells = <1>;
+			#size-cells = <0>;
 			device_type = "i2c";
 			compatible = "fsl-i2c";
 			reg = <3100 100>;
arch/powerpc/sysdev/fsl_soc.c +1 -0
index 91987e0..c765d7a 100644
@@ -337,6 +337,7 @@ static struct i2c_driver_device i2c_devices[] __initdata = {
 	{"dallas,ds1339",  "rtc-ds1307",  "ds1339",},
 	{"dallas,ds1340",  "rtc-ds1307",  "ds1340",},
 	{"stm,m41t00",     "rtc-ds1307",  "m41t00"},
+	{"dallas,ds1374",  "rtc-ds1374",  "rtc-ds1374",},
 };
 
 static int __init of_find_i2c_driver(struct device_node *node,
Signature · 1 line
1.5.0.6
#3 lore raw

PATCH 3/3 mpc8568mds.dts: fix PCIe I/O address space location and size

In reply to Anton Vorontsov

According to u-boot/board/mpc8568mds/init.S:

LAW(Local Access Window) configuration:

2)   0xa000_0000   0xbfff_ffff     PCIe MEM                512MB
4)   0xe280_0000   0xe2ff_ffff     PCIe I/O                8M
---
 arch/powerpc/boot/dts/mpc8568mds.dts |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/powerpc/boot/dts/mpc8568mds.dts +2 -2
index a177dd0..39ec3c2 100644
@@ -226,8 +226,8 @@
 			interrupt-parent = <&mpic>;
 			interrupts = <1a 2>;
 			bus-range = <0 ff>;
-			ranges = <02000000 0 a0000000 a0000000 0 20000000
-				  01000000 0 00000000 e3000000 0 08000000>;
+			ranges = <02000000 0 a0000000 a0000000 0 10000000
+				  01000000 0 00000000 e2800000 0 00800000>;
 			clock-frequency = <1fca055>;
 			#interrupt-cells = <1>;
 			#size-cells = <2>;
Signature · 1 line
1.5.0.6