Few more mpc8568mds and fsl_soc related patches
Subsystems (2)
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
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
@@ -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
PATCH 2/3 MPC8568E-MDS: add support for ds1374 rtc
In reply to Anton VorontsovMPC8568E-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
@@ -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
@@ -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
PATCH 3/3 mpc8568mds.dts: fix PCIe I/O address space location and size
In reply to Anton VorontsovAccording 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
@@ -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