[PATCH] plat-pxa: add infrastructure support for multiple sd card =

Philip Rakity prakity at marvell.com
Sun Dec 19 23:18:29 EST 2010


slots

enable mmc1, 2, and 3.  eMMC and Wifi are marked PERMANENT
eMMC is enabled as a 8 bit device

Note: eMMC is set to boot first to workaround problem where
booting in logical order requires mmc create work queue
to be multi-threaded.

Signed-off-by: Mark F. Brown <markb at marvell.com>
Signed-off-by: Philip Rakity <prakity at marvell.com>
---
 arch/arm/mach-mmp/brownstone.c         |   13 ++++++++++++-
 arch/arm/plat-pxa/include/plat/sdhci.h |    1 +
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-mmp/brownstone.c b/arch/arm/mach-mmp/brownstone.=
c
index 635c400..1f11744 100644
--- a/arch/arm/mach-mmp/brownstone.c
+++ b/arch/arm/mach-mmp/brownstone.c
@@ -145,6 +145,15 @@ static struct sdhci_pxa_platdata mmp2_sdh_platdata_mmc=
0 =3D {
 	.max_speed	=3D 25000000,
 };
=20
+static struct sdhci_pxa_platdata mmp2_sdh_platdata_mmc1 =3D {
+	.flags		=3D PXA_FLAG_CARD_PERMANENT,
+};
+
+static struct sdhci_pxa_platdata mmp2_sdh_platdata_mmc2 =3D {
+	.flags		=3D PXA_FLAG_CARD_PERMANENT |
+				PXA_FLAG_SD_8_BIT_CAPABLE_SLOT,
+};
+
 static void __init brownstone_init(void)
 {
 	mfp_config(ARRAY_AND_SIZE(brownstone_pin_config));
@@ -153,7 +162,9 @@ static void __init brownstone_init(void)
 	mmp2_add_uart(1);
 	mmp2_add_uart(3);
 	mmp2_add_twsi(1, NULL, ARRAY_AND_SIZE(brownstone_twsi1_info));
-	mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD/MMC */
+	mmp2_add_sdhost(2, &mmp2_sdh_platdata_mmc2); /* eMMC */
+	mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD Slot */
+	mmp2_add_sdhost(1, &mmp2_sdh_platdata_mmc1); /* Wifi */
 }
=20
 MACHINE_START(BROWNSTONE, "Brownstone Development Platform")
diff --git a/arch/arm/plat-pxa/include/plat/sdhci.h b/arch/arm/plat-pxa/inc=
lude/plat/sdhci.h
index 224e28c..2762f99 100644
--- a/arch/arm/plat-pxa/include/plat/sdhci.h
+++ b/arch/arm/plat-pxa/include/plat/sdhci.h
@@ -16,6 +16,7 @@
 /* pxa specific flag */
 /* Require clock free running */
=20
+#define PXA_FLAG_CARD_PERMANENT		(1<<1)
 /* Board design supports 8-bit data on SD/SDIO BUS */
 #define PXA_FLAG_SD_8_BIT_CAPABLE_SLOT (1<<2)
=20
--=20
1.6.0.4

--_002_4CEDD9CD9D4047A28F6DA546BA3DD675marvellcom_
Content-Type: application/octet-stream;
	name="0010-plat-pxa-add-infrastructure-support-for-multiple-sd.patch"
Content-Description: 0010-plat-pxa-add-infrastructure-support-for-multiple-sd.patch
Content-Disposition: attachment;
	filename="0010-plat-pxa-add-infrastructure-support-for-multiple-sd.patch";
	size=2289; creation-date="Tue, 21 Dec 2010 23:09:12 GMT";
	modification-date="Tue, 21 Dec 2010 23:09:12 GMT"
Content-Transfer-Encoding: base64

RnJvbSBjYzMyYjI5ZTU0MGQwZjUzYTViYWRiMGVjMjdhNmY5MjUyYmIwNjQ4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXAgUmFraXR5IDxwcmFraXR5QG1hcnZlbGwuY29tPgpE
YXRlOiBTdW4sIDE5IERlYyAyMDEwIDIwOjE4OjI5IC0wODAwClN1YmplY3Q6IFtQQVRDSF0gcGxh
dC1weGE6IGFkZCBpbmZyYXN0cnVjdHVyZSBzdXBwb3J0IGZvciBtdWx0aXBsZSBzZCBjYXJkIHNs
b3RzCgplbmFibGUgbW1jMSwgMiwgYW5kIDMuICBlTU1DIGFuZCBXaWZpIGFyZSBtYXJrZWQgUEVS
TUFORU5UCmVNTUMgaXMgZW5hYmxlZCBhcyBhIDggYml0IGRldmljZQoKTm90ZTogZU1NQyBpcyBz
ZXQgdG8gYm9vdCBmaXJzdCB0byB3b3JrYXJvdW5kIHByb2JsZW0gd2hlcmUKYm9vdGluZyBpbiBs
b2dpY2FsIG9yZGVyIHJlcXVpcmVzIG1tYyBjcmVhdGUgd29yayBxdWV1ZQp0byBiZSBtdWx0aS10
aHJlYWRlZC4KClNpZ25lZC1vZmYtYnk6IE1hcmsgRi4gQnJvd24gPG1hcmtiQG1hcnZlbGwuY29t
PgpTaWduZWQtb2ZmLWJ5OiBQaGlsaXAgUmFraXR5IDxwcmFraXR5QG1hcnZlbGwuY29tPgotLS0K
IGFyY2gvYXJtL21hY2gtbW1wL2Jyb3duc3RvbmUuYyAgICAgICAgIHwgICAxMyArKysrKysrKysr
KystCiBhcmNoL2FybS9wbGF0LXB4YS9pbmNsdWRlL3BsYXQvc2RoY2kuaCB8ICAgIDEgKwogMiBm
aWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL2FyY2gvYXJtL21hY2gtbW1wL2Jyb3duc3RvbmUuYyBiL2FyY2gvYXJtL21hY2gtbW1wL2Jy
b3duc3RvbmUuYwppbmRleCA2MzVjNDAwLi4xZjExNzQ0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9t
YWNoLW1tcC9icm93bnN0b25lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1tbXAvYnJvd25zdG9uZS5j
CkBAIC0xNDUsNiArMTQ1LDE1IEBAIHN0YXRpYyBzdHJ1Y3Qgc2RoY2lfcHhhX3BsYXRkYXRhIG1t
cDJfc2RoX3BsYXRkYXRhX21tYzAgPSB7CiAJLm1heF9zcGVlZAk9IDI1MDAwMDAwLAogfTsKIAor
c3RhdGljIHN0cnVjdCBzZGhjaV9weGFfcGxhdGRhdGEgbW1wMl9zZGhfcGxhdGRhdGFfbW1jMSA9
IHsKKwkuZmxhZ3MJCT0gUFhBX0ZMQUdfQ0FSRF9QRVJNQU5FTlQsCit9OworCitzdGF0aWMgc3Ry
dWN0IHNkaGNpX3B4YV9wbGF0ZGF0YSBtbXAyX3NkaF9wbGF0ZGF0YV9tbWMyID0geworCS5mbGFn
cwkJPSBQWEFfRkxBR19DQVJEX1BFUk1BTkVOVCB8CisJCQkJUFhBX0ZMQUdfU0RfOF9CSVRfQ0FQ
QUJMRV9TTE9ULAorfTsKKwogc3RhdGljIHZvaWQgX19pbml0IGJyb3duc3RvbmVfaW5pdCh2b2lk
KQogewogCW1mcF9jb25maWcoQVJSQVlfQU5EX1NJWkUoYnJvd25zdG9uZV9waW5fY29uZmlnKSk7
CkBAIC0xNTMsNyArMTYyLDkgQEAgc3RhdGljIHZvaWQgX19pbml0IGJyb3duc3RvbmVfaW5pdCh2
b2lkKQogCW1tcDJfYWRkX3VhcnQoMSk7CiAJbW1wMl9hZGRfdWFydCgzKTsKIAltbXAyX2FkZF90
d3NpKDEsIE5VTEwsIEFSUkFZX0FORF9TSVpFKGJyb3duc3RvbmVfdHdzaTFfaW5mbykpOwotCW1t
cDJfYWRkX3NkaG9zdCgwLCAmbW1wMl9zZGhfcGxhdGRhdGFfbW1jMCk7IC8qIFNEL01NQyAqLwor
CW1tcDJfYWRkX3NkaG9zdCgyLCAmbW1wMl9zZGhfcGxhdGRhdGFfbW1jMik7IC8qIGVNTUMgKi8K
KwltbXAyX2FkZF9zZGhvc3QoMCwgJm1tcDJfc2RoX3BsYXRkYXRhX21tYzApOyAvKiBTRCBTbG90
ICovCisJbW1wMl9hZGRfc2Rob3N0KDEsICZtbXAyX3NkaF9wbGF0ZGF0YV9tbWMxKTsgLyogV2lm
aSAqLwogfQogCiBNQUNISU5FX1NUQVJUKEJST1dOU1RPTkUsICJCcm93bnN0b25lIERldmVsb3Bt
ZW50IFBsYXRmb3JtIikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtcHhhL2luY2x1ZGUvcGxh
dC9zZGhjaS5oIGIvYXJjaC9hcm0vcGxhdC1weGEvaW5jbHVkZS9wbGF0L3NkaGNpLmgKaW5kZXgg
MjI0ZTI4Yy4uMjc2MmY5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1weGEvaW5jbHVkZS9w
bGF0L3NkaGNpLmgKKysrIGIvYXJjaC9hcm0vcGxhdC1weGEvaW5jbHVkZS9wbGF0L3NkaGNpLmgK
QEAgLTE2LDYgKzE2LDcgQEAKIC8qIHB4YSBzcGVjaWZpYyBmbGFnICovCiAvKiBSZXF1aXJlIGNs
b2NrIGZyZWUgcnVubmluZyAqLwogCisjZGVmaW5lIFBYQV9GTEFHX0NBUkRfUEVSTUFORU5UCQko
MTw8MSkKIC8qIEJvYXJkIGRlc2lnbiBzdXBwb3J0cyA4LWJpdCBkYXRhIG9uIFNEL1NESU8gQlVT
ICovCiAjZGVmaW5lIFBYQV9GTEFHX1NEXzhfQklUX0NBUEFCTEVfU0xPVCAoMTw8MikKIAotLSAK
MS42LjAuNAoK

--_002_4CEDD9CD9D4047A28F6DA546BA3DD675marvellcom_--



More information about the linux-arm-kernel mailing list