summaryrefslogtreecommitdiff
path: root/common/cmd_ide.c
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2009-09-23 05:56:08 (GMT)
committerWolfgang Denk <wd@denx.de>2009-09-24 23:22:13 (GMT)
commit3887c3fbdbbe6bbb4df60ed415c8e1ab9fe56b5e (patch)
tree45036f888029797df3058eb7c99c1fa2f6b22632 /common/cmd_ide.c
parent7f625fc6d3ba8f890e843ac01717804c2462ed53 (diff)
downloadu-boot-fsl-qoriq-3887c3fbdbbe6bbb4df60ed415c8e1ab9fe56b5e.tar.xz
mucmc52, uc101: delete ata@3a00 node, if no CF card is detected
U-Boot can detect if an IDE device is present or not. If not, and this new config option is activated, U-Boot removes the ATA node from the DTS before booting Linux, so the Linux IDE driver does not probe the device and crash. This is needed for buggy hardware (uc101) where no pull down resistor is connected to the signal IDE5V_DD7. Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'common/cmd_ide.c')
-rw-r--r--common/cmd_ide.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index 4d7a0ac..ec9a1df 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -1624,6 +1624,14 @@ static void ide_led (uchar led, uchar status)
#endif /* CONFIG_IDE_LED */
+#if defined(CONFIG_OF_IDE_FIXUP)
+int ide_device_present(int dev)
+{
+ if (dev >= CONFIG_SYS_IDE_MAXBUS)
+ return 0;
+ return (ide_dev_desc[dev].type == DEV_TYPE_UNKNOWN ? 0 : 1);
+}
+#endif
/* ------------------------------------------------------------------------- */
#ifdef CONFIG_ATAPI