Re: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support for bsc9132qds

2 messages, 2 authors, 2015-12-22 · open the first message on its own page

Re: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support for bsc9132qds

From: Scott Wood <hidden>
Date: 2015-11-20 03:02:23

On Mon, 2015-11-16 at 20:31 -0600, Hou Zhiqiang-B48286 wrote:
Hi,

Any response, please comment.
They look OK.

-Scott
quoted
-----Original Message-----
From: Zhiqiang Hou [mailto:Zhiqiang.Hou@freescale.com]
Sent: 2015年11月5日 11:16
To: linuxppc-dev@lists.ozlabs.org; Wood Scott-B07421;
galak@kernel.crashing.org; benh@kernel.crashing.org; paulus@samba.org;
mpe@ellerman.id.au; devicetree@vger.kernel.org; robh+dt@kernel.org;
pawel.moll@arm.com; mark.rutland@arm.com; ijc+devicetree@hellion.org.uk;
Rai Harninder-B01044
Cc: Lian Minghuan-B31939; Hu Mingkai-B21284; Hou Zhiqiang-B48286
Subject: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support for
bsc9132qds

From: Harninder Rai <redacted>

1. Use machine_arch_initcall to hook mpc85xx_common_publish_devices This
can ensure before pcibios_init() is called, pci controllers have been
probed and added to the hose_list.
2. Add a workaround for errata A-005434
For the BSC9132, PEX_PEXIWARn[TRGT] for all windows defaults to 0xF,
which is mapped to CCSRBAR. However, for other products, 0xF is mapped to
the local memory. Therefore, for the BSC9132, any default PCI Express
access to the local memory (DDR) will now access the CCSRBAR. This patch
changes the mapping of targets of inbound windows PEX_PEXIWARn[TRGT] to
the Local address space – 0x0 (from 0xF).

Signed-off-by: Harninder Rai <redacted>
Signed-off-by: Minghuan Lian <redacted>
Signed-off-by: Hou Zhiqiang <redacted>
---
V4: V3:
 - Remove gerrit stuff.

 arch/powerpc/platforms/85xx/bsc913x_qds.c |  8 +++++++-
 arch/powerpc/sysdev/fsl_pci.c             | 13 +++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/85xx/bsc913x_qds.c
b/arch/powerpc/platforms/85xx/bsc913x_qds.c
index f0927e5..dcfafd6 100644
--- a/arch/powerpc/platforms/85xx/bsc913x_qds.c
+++ b/arch/powerpc/platforms/85xx/bsc913x_qds.c
@@ -17,6 +17,7 @@
 #include <linux/pci.h>
 #include <asm/mpic.h>
 #include <sysdev/fsl_soc.h>
+#include <sysdev/fsl_pci.h>
 #include <asm/udbg.h>

 #include "mpc85xx.h"
@@ -46,10 +47,12 @@ static void __init bsc913x_qds_setup_arch(void)
 	mpc85xx_smp_init();
 #endif

+	fsl_pci_assign_primary();
+
 	pr_info("bsc913x board from Freescale Semiconductor\n");  }

-machine_device_initcall(bsc9132_qds, mpc85xx_common_publish_devices);
+machine_arch_initcall(bsc9132_qds, mpc85xx_common_publish_devices);

 /*
  * Called very early, device-tree isn't unflattened @@ -67,6 +70,9 @@
define_machine(bsc9132_qds) {
 	.probe			= bsc9132_qds_probe,
 	.setup_arch		= bsc913x_qds_setup_arch,
 	.init_IRQ		= bsc913x_qds_pic_init,
+#ifdef CONFIG_PCI
+	.pcibios_fixup_bus	= fsl_pcibios_fixup_bus,
+#endif
 	.get_irq		= mpic_get_irq,
 	.restart		= fsl_rstcr_restart,
 	.calibrate_decr		= generic_calibrate_decr,
diff --git a/arch/powerpc/sysdev/fsl_pci.c
b/arch/powerpc/sysdev/fsl_pci.c index ebc1f412..b8607f6 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -193,6 +193,19 @@ static void setup_pci_atmu(struct pci_controller
*hose)
 	const u64 *reg;
 	int len;

+	if (of_device_is_compatible(hose->dn, "fsl,bsc9132-pcie")) {
+		/*
+		 * BSC9132 Rev1.0 has an issue where all the PEX inbound
+		 * windows have implemented the default target value as
0xf
+		 * for CCSR space.In all Freescale legacy devices the
target
+		 * of 0xf is reserved for local memory space. 9132 Rev1.0
+		 * now has local mempry space mapped to target 0x0
instead of
+		 * 0xf. Hence adding a workaround to remove the target
0xf
+		 * defined for memory space from Inbound window
attributes.
+		 */
+		piwar &= ~PIWAR_TGI_LOCAL;
+	}
+
 	if (early_find_capability(hose, 0, 0, PCI_CAP_ID_EXP)) {
 		if (in_be32(&pci->block_rev1) >= PCIE_IP_REV_2_2) {
 			win_idx = 2;
--
2.1.0.27.g96db324
Thanks,
Zhiqiang

RE: [PATCH V4 2/2] powerpc/85xx: Add PCIe controller support for bsc9132qds

From: Zhiqiang Hou <zhiqiang.hou@nxp.com>
Date: 2015-12-22 09:21:44

SGkgU2NvdHQsDQoNCkNvdWxkIHlvdSBwbGVhc2UgaGVscCB0byBhcHBseSB0aGlzIHBhdGNoPw0K
DQpUaGFua3MsDQpaaGlxaWFuZw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy
b206IFNjb3R0IFdvb2QNCj4gU2VudDogMjAxNeW5tDEx5pyIMjDml6UgMTE6MDINCj4gVG86IFpo
aXFpYW5nIEhvdTsgWmhpcWlhbmcgSG91OyBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZzsN
Cj4gZ2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZzsgYmVuaEBrZXJuZWwuY3Jhc2hpbmcub3JnOyBw
YXVsdXNAc2FtYmEub3JnOw0KPiBtcGVAZWxsZXJtYW4uaWQuYXU7IGRldmljZXRyZWVAdmdlci5r
ZXJuZWwub3JnOyByb2JoK2R0QGtlcm5lbC5vcmc7DQo+IHBhd2VsLm1vbGxAYXJtLmNvbTsgbWFy
ay5ydXRsYW5kQGFybS5jb207IGlqYytkZXZpY2V0cmVlQGhlbGxpb24ub3JnLnVrOw0KPiBIYXJu
aW5kZXIgUmFpDQo+IENjOiBNaW5naHVhbiBMaWFuOyBNaW5na2FpIEh1DQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggVjQgMi8yXSBwb3dlcnBjLzg1eHg6IEFkZCBQQ0llIGNvbnRyb2xsZXIgc3VwcG9y
dCBmb3INCj4gYnNjOTEzMnFkcw0KPiANCj4gT24gTW9uLCAyMDE1LTExLTE2IGF0IDIwOjMxIC0w
NjAwLCBIb3UgWmhpcWlhbmctQjQ4Mjg2IHdyb3RlOg0KPiA+IEhpLA0KPiA+DQo+ID4gQW55IHJl
c3BvbnNlLCBwbGVhc2UgY29tbWVudC4NCj4gDQo+IFRoZXkgbG9vayBPSy4NCj4gDQo+IC1TY290
dA0KPiANCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206
IFpoaXFpYW5nIEhvdSBbbWFpbHRvOlpoaXFpYW5nLkhvdUBmcmVlc2NhbGUuY29tXQ0KPiA+ID4g
U2VudDogMjAxNeW5tDEx5pyINeaXpSAxMToxNg0KPiA+ID4gVG86IGxpbnV4cHBjLWRldkBsaXN0
cy5vemxhYnMub3JnOyBXb29kIFNjb3R0LUIwNzQyMTsNCj4gPiA+IGdhbGFrQGtlcm5lbC5jcmFz
aGluZy5vcmc7IGJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZzsNCj4gPiA+IHBhdWx1c0BzYW1iYS5v
cmc7IG1wZUBlbGxlcm1hbi5pZC5hdTsgZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmc7DQo+ID4g
PiByb2JoK2R0QGtlcm5lbC5vcmc7IHBhd2VsLm1vbGxAYXJtLmNvbTsgbWFyay5ydXRsYW5kQGFy
bS5jb207DQo+ID4gPiBpamMrZGV2aWNldHJlZUBoZWxsaW9uLm9yZy51azsgUmFpIEhhcm5pbmRl
ci1CMDEwNDQNCj4gPiA+IENjOiBMaWFuIE1pbmdodWFuLUIzMTkzOTsgSHUgTWluZ2thaS1CMjEy
ODQ7IEhvdSBaaGlxaWFuZy1CNDgyODYNCj4gPiA+IFN1YmplY3Q6IFtQQVRDSCBWNCAyLzJdIHBv
d2VycGMvODV4eDogQWRkIFBDSWUgY29udHJvbGxlciBzdXBwb3J0DQo+ID4gPiBmb3IgYnNjOTEz
MnFkcw0KPiA+ID4NCj4gPiA+IEZyb206IEhhcm5pbmRlciBSYWkgPGhhcm5pbmRlci5yYWlAZnJl
ZXNjYWxlLmNvbT4NCj4gPiA+DQo+ID4gPiAxLiBVc2UgbWFjaGluZV9hcmNoX2luaXRjYWxsIHRv
IGhvb2sgbXBjODV4eF9jb21tb25fcHVibGlzaF9kZXZpY2VzDQo+ID4gPiBUaGlzIGNhbiBlbnN1
cmUgYmVmb3JlIHBjaWJpb3NfaW5pdCgpIGlzIGNhbGxlZCwgcGNpIGNvbnRyb2xsZXJzDQo+ID4g
PiBoYXZlIGJlZW4gcHJvYmVkIGFuZCBhZGRlZCB0byB0aGUgaG9zZV9saXN0Lg0KPiA+ID4gMi4g
QWRkIGEgd29ya2Fyb3VuZCBmb3IgZXJyYXRhIEEtMDA1NDM0IEZvciB0aGUgQlNDOTEzMiwNCj4g
PiA+IFBFWF9QRVhJV0FSbltUUkdUXSBmb3IgYWxsIHdpbmRvd3MgZGVmYXVsdHMgdG8gMHhGLCB3
aGljaCBpcyBtYXBwZWQNCj4gPiA+IHRvIENDU1JCQVIuIEhvd2V2ZXIsIGZvciBvdGhlciBwcm9k
dWN0cywgMHhGIGlzIG1hcHBlZCB0byB0aGUgbG9jYWwNCj4gPiA+IG1lbW9yeS4gVGhlcmVmb3Jl
LCBmb3IgdGhlIEJTQzkxMzIsIGFueSBkZWZhdWx0IFBDSSBFeHByZXNzIGFjY2Vzcw0KPiA+ID4g
dG8gdGhlIGxvY2FsIG1lbW9yeSAoRERSKSB3aWxsIG5vdyBhY2Nlc3MgdGhlIENDU1JCQVIuIFRo
aXMgcGF0Y2gNCj4gPiA+IGNoYW5nZXMgdGhlIG1hcHBpbmcgb2YgdGFyZ2V0cyBvZiBpbmJvdW5k
IHdpbmRvd3MgUEVYX1BFWElXQVJuW1RSR1RdDQo+ID4gPiB0byB0aGUgTG9jYWwgYWRkcmVzcyBz
cGFjZSDigJMgMHgwIChmcm9tIDB4RikuDQo+ID4gPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogSGFy
bmluZGVyIFJhaSA8aGFybmluZGVyLnJhaUBmcmVlc2NhbGUuY29tPg0KPiA+ID4gU2lnbmVkLW9m
Zi1ieTogTWluZ2h1YW4gTGlhbiA8TWluZ2h1YW4uTGlhbkBmcmVlc2NhbGUuY29tPg0KPiA+ID4g
U2lnbmVkLW9mZi1ieTogSG91IFpoaXFpYW5nIDxCNDgyODZAZnJlZXNjYWxlLmNvbT4NCj4gPiA+
IC0tLQ0KPiA+ID4gVjQ6IFYzOg0KPiA+ID4gIC0gUmVtb3ZlIGdlcnJpdCBzdHVmZi4NCj4gPiA+
DQo+ID4gPiAgYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy84NXh4L2JzYzkxM3hfcWRzLmMgfCAgOCAr
KysrKysrLQ0KPiA+ID4gIGFyY2gvcG93ZXJwYy9zeXNkZXYvZnNsX3BjaS5jICAgICAgICAgICAg
IHwgMTMgKysrKysrKysrKysrKw0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9u
cygrKSwgMSBkZWxldGlvbigtKQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2Vy
cGMvcGxhdGZvcm1zLzg1eHgvYnNjOTEzeF9xZHMuYw0KPiA+ID4gYi9hcmNoL3Bvd2VycGMvcGxh
dGZvcm1zLzg1eHgvYnNjOTEzeF9xZHMuYw0KPiA+ID4gaW5kZXggZjA5MjdlNS4uZGNmYWZkNiAx
MDA2NDQNCj4gPiA+IC0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvODV4eC9ic2M5MTN4X3Fk
cy5jDQo+ID4gPiArKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zLzg1eHgvYnNjOTEzeF9xZHMu
Yw0KPiA+ID4gQEAgLTE3LDYgKzE3LDcgQEANCj4gPiA+ICAjaW5jbHVkZSA8bGludXgvcGNpLmg+
DQo+ID4gPiAgI2luY2x1ZGUgPGFzbS9tcGljLmg+DQo+ID4gPiAgI2luY2x1ZGUgPHN5c2Rldi9m
c2xfc29jLmg+DQo+ID4gPiArI2luY2x1ZGUgPHN5c2Rldi9mc2xfcGNpLmg+DQo+ID4gPiAgI2lu
Y2x1ZGUgPGFzbS91ZGJnLmg+DQo+ID4gPg0KPiA+ID4gICNpbmNsdWRlICJtcGM4NXh4LmgiDQo+
ID4gPiBAQCAtNDYsMTAgKzQ3LDEyIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBic2M5MTN4X3Fkc19z
ZXR1cF9hcmNoKHZvaWQpDQo+ID4gPiAgCW1wYzg1eHhfc21wX2luaXQoKTsNCj4gPiA+ICAjZW5k
aWYNCj4gPiA+DQo+ID4gPiArCWZzbF9wY2lfYXNzaWduX3ByaW1hcnkoKTsNCj4gPiA+ICsNCj4g
PiA+ICAJcHJfaW5mbygiYnNjOTEzeCBib2FyZCBmcm9tIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9y
XG4iKTsgIH0NCj4gPiA+DQo+ID4gPiAtbWFjaGluZV9kZXZpY2VfaW5pdGNhbGwoYnNjOTEzMl9x
ZHMsDQo+ID4gPiBtcGM4NXh4X2NvbW1vbl9wdWJsaXNoX2RldmljZXMpOw0KPiA+ID4gK21hY2hp
bmVfYXJjaF9pbml0Y2FsbChic2M5MTMyX3FkcywgbXBjODV4eF9jb21tb25fcHVibGlzaF9kZXZp
Y2VzKTsNCj4gPiA+DQo+ID4gPiAgLyoNCj4gPiA+ICAgKiBDYWxsZWQgdmVyeSBlYXJseSwgZGV2
aWNlLXRyZWUgaXNuJ3QgdW5mbGF0dGVuZWQgQEAgLTY3LDYgKzcwLDkNCj4gPiA+IEBADQo+ID4g
PiBkZWZpbmVfbWFjaGluZShic2M5MTMyX3Fkcykgew0KPiA+ID4gIAkucHJvYmUJCQk9IGJzYzkx
MzJfcWRzX3Byb2JlLA0KPiA+ID4gIAkuc2V0dXBfYXJjaAkJPSBic2M5MTN4X3Fkc19zZXR1cF9h
cmNoLA0KPiA+ID4gIAkuaW5pdF9JUlEJCT0gYnNjOTEzeF9xZHNfcGljX2luaXQsDQo+ID4gPiAr
I2lmZGVmIENPTkZJR19QQ0kNCj4gPiA+ICsJLnBjaWJpb3NfZml4dXBfYnVzCT0gZnNsX3BjaWJp
b3NfZml4dXBfYnVzLA0KPiA+ID4gKyNlbmRpZg0KPiA+ID4gIAkuZ2V0X2lycQkJPSBtcGljX2dl
dF9pcnEsDQo+ID4gPiAgCS5yZXN0YXJ0CQk9IGZzbF9yc3Rjcl9yZXN0YXJ0LA0KPiA+ID4gIAku
Y2FsaWJyYXRlX2RlY3IJCT0gZ2VuZXJpY19jYWxpYnJhdGVfZGVjciwNCj4gPiA+IGRpZmYgLS1n
aXQgYS9hcmNoL3Bvd2VycGMvc3lzZGV2L2ZzbF9wY2kuYw0KPiA+ID4gYi9hcmNoL3Bvd2VycGMv
c3lzZGV2L2ZzbF9wY2kuYyBpbmRleCBlYmMxZjQxMi4uYjg2MDdmNiAxMDA2NDQNCj4gPiA+IC0t
LSBhL2FyY2gvcG93ZXJwYy9zeXNkZXYvZnNsX3BjaS5jDQo+ID4gPiArKysgYi9hcmNoL3Bvd2Vy
cGMvc3lzZGV2L2ZzbF9wY2kuYw0KPiA+ID4gQEAgLTE5Myw2ICsxOTMsMTkgQEAgc3RhdGljIHZv
aWQgc2V0dXBfcGNpX2F0bXUoc3RydWN0DQo+ID4gPiBwY2lfY29udHJvbGxlcg0KPiA+ID4gKmhv
c2UpDQo+ID4gPiAgCWNvbnN0IHU2NCAqcmVnOw0KPiA+ID4gIAlpbnQgbGVuOw0KPiA+ID4NCj4g
PiA+ICsJaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKGhvc2UtPmRuLCAiZnNsLGJzYzkxMzIt
cGNpZSIpKSB7DQo+ID4gPiArCQkvKg0KPiA+ID4gKwkJICogQlNDOTEzMiBSZXYxLjAgaGFzIGFu
IGlzc3VlIHdoZXJlIGFsbCB0aGUgUEVYIGluYm91bmQNCj4gPiA+ICsJCSAqIHdpbmRvd3MgaGF2
ZSBpbXBsZW1lbnRlZCB0aGUgZGVmYXVsdCB0YXJnZXQgdmFsdWUgYXMNCj4gPiA+IDB4Zg0KPiA+
ID4gKwkJICogZm9yIENDU1Igc3BhY2UuSW4gYWxsIEZyZWVzY2FsZSBsZWdhY3kgZGV2aWNlcyB0
aGUNCj4gPiA+IHRhcmdldA0KPiA+ID4gKwkJICogb2YgMHhmIGlzIHJlc2VydmVkIGZvciBsb2Nh
bCBtZW1vcnkgc3BhY2UuIDkxMzIgUmV2MS4wDQo+ID4gPiArCQkgKiBub3cgaGFzIGxvY2FsIG1l
bXByeSBzcGFjZSBtYXBwZWQgdG8gdGFyZ2V0IDB4MA0KPiA+ID4gaW5zdGVhZCBvZg0KPiA+ID4g
KwkJICogMHhmLiBIZW5jZSBhZGRpbmcgYSB3b3JrYXJvdW5kIHRvIHJlbW92ZSB0aGUgdGFyZ2V0
DQo+ID4gPiAweGYNCj4gPiA+ICsJCSAqIGRlZmluZWQgZm9yIG1lbW9yeSBzcGFjZSBmcm9tIElu
Ym91bmQgd2luZG93DQo+ID4gPiBhdHRyaWJ1dGVzLg0KPiA+ID4gKwkJICovDQo+ID4gPiArCQlw
aXdhciAmPSB+UElXQVJfVEdJX0xPQ0FMOw0KPiA+ID4gKwl9DQo+ID4gPiArDQo+ID4gPiAgCWlm
IChlYXJseV9maW5kX2NhcGFiaWxpdHkoaG9zZSwgMCwgMCwgUENJX0NBUF9JRF9FWFApKSB7DQo+
ID4gPiAgCQlpZiAoaW5fYmUzMigmcGNpLT5ibG9ja19yZXYxKSA+PSBQQ0lFX0lQX1JFVl8yXzIp
IHsNCj4gPiA+ICAJCQl3aW5faWR4ID0gMjsNCj4gPiA+IC0tDQo+ID4gPiAyLjEuMC4yNy5nOTZk
YjMyNA0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IFpoaXFpYW5nDQo=
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help