From db287c0971e6fb33e52a7301e0117f6da4eeb5db Mon Sep 17 00:00:00 2001 From: Rob Purchase Date: Tue, 1 Sep 2009 21:57:38 +0000 Subject: D2: Obey the SD card write-protect tab git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22596 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/tcc780x/sd-tcc780x.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/firmware/target/arm/tcc780x/sd-tcc780x.c b/firmware/target/arm/tcc780x/sd-tcc780x.c index bb426d8125..222bb88a15 100644 --- a/firmware/target/arm/tcc780x/sd-tcc780x.c +++ b/firmware/target/arm/tcc780x/sd-tcc780x.c @@ -50,6 +50,7 @@ #define EC_TRAN_WRITE_ENTRY 9 #define EC_TRAN_WRITE_EXIT 10 #define EC_COMMAND 11 +#define EC_WRITE_PROTECT 12 /* for compatibility */ static long last_disk_activity = -1; @@ -536,6 +537,12 @@ int sd_write_sectors(IF_MD2(int card_no,) unsigned long start, int count, const unsigned char *buf_end; bool aligned; + if ((card_no == CARD_NUM_SLOT) && (GPIOA & 0x10)) + { + /* write protect tab set */ + return -EC_WRITE_PROTECT; + } + mutex_lock(&sd_mtx); sd_enable(true); led(true); -- cgit v1.2.3