From c9df654f60543630ec44646efdd018eff9d9dbc3 Mon Sep 17 00:00:00 2001 From: "hsw@openmoko.com" Date: Thu, 30 Apr 2009 06:34:13 +0000 Subject: [PATCH] [common] SD card power control updated Signed-off-by: Christopher Hall git-svn-id: https://wikipediardware.googlecode.com/svn/trunk@1466 974c56cd-8151-0410-98c4-7bb2f43fa8c1 --- common/boards/samo_a1.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/common/boards/samo_a1.h b/common/boards/samo_a1.h index cbb8b13..d0a1c0c 100644 --- a/common/boards/samo_a1.h +++ b/common/boards/samo_a1.h @@ -16,14 +16,22 @@ #define P33_BIT (1 << 3) // P32 = 0, P33 = 1 -#define P3_23_MASK (~(P32_BIT | P33_BIT)) -#define enable_card_power() do { \ - REG_P3_P3D = (REG_P3_P3D & P3_23_MASK) | P33_BIT; \ - } while(0) - -#define disable_card_power() do { \ - REG_P3_P3D = (REG_P3_P3D & P3_23_MASK) | P32_BIT; \ - } while(0) +#define P3_23_MASK (P32_BIT | P33_BIT) + +static inline void enable_card_power(void) +{ + REG_P3_P3D = (REG_P3_P3D & ~P3_23_MASK) | P33_BIT; +} + +static inline void disable_card_power(void) +{ + REG_P3_P3D = (REG_P3_P3D & ~P3_23_MASK) | P32_BIT; +} + +static inline int check_card_power(void) +{ + return (REG_P3_P3D & P3_23_MASK) == P33_BIT; +} #define SDCARD_CS_LO() do { REG_P5_P5D &= ~(1 << 0); } while (0) -- 2.11.4.GIT