mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-27 04:47:20 +00:00
samsung: board: support eMMC reset using DT
Some exynos boards require special handling of nRESET_OUT line for eMMC memory to perform complete reboot e.g. Odroid X2/U3/XU3 boards. This will support eMMC reset using DT from reset_misc of samsung common board file. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
a276172cf3
commit
aa8e00fab5
3 changed files with 43 additions and 8 deletions
|
@ -355,3 +355,31 @@ int misc_init_r(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void reset_misc(void)
|
||||||
|
{
|
||||||
|
struct gpio_desc gpio = {};
|
||||||
|
int node;
|
||||||
|
|
||||||
|
node = fdt_node_offset_by_compatible(gd->fdt_blob, 0,
|
||||||
|
"samsung,emmc-reset");
|
||||||
|
if (node < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
gpio_request_by_name_nodev(gd->fdt_blob, node, "reset-gpio", 0, &gpio,
|
||||||
|
GPIOD_IS_OUT);
|
||||||
|
|
||||||
|
if (dm_gpio_is_valid(&gpio)) {
|
||||||
|
/*
|
||||||
|
* Reset eMMC
|
||||||
|
*
|
||||||
|
* FIXME: Need to optimize delay time. Minimum 1usec pulse is
|
||||||
|
* required by 'JEDEC Standard No.84-A441' (eMMC)
|
||||||
|
* document but real delay time is expected to greater
|
||||||
|
* than 1usec.
|
||||||
|
*/
|
||||||
|
dm_gpio_set_value(&gpio, 0);
|
||||||
|
mdelay(10);
|
||||||
|
dm_gpio_set_value(&gpio, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -503,11 +503,3 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||||
return s3c_udc_probe(&s5pc210_otg_data);
|
return s3c_udc_probe(&s5pc210_otg_data);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void reset_misc(void)
|
|
||||||
{
|
|
||||||
/* Reset eMMC*/
|
|
||||||
gpio_set_value(EXYNOS4X12_GPIO_K12, 0);
|
|
||||||
mdelay(10);
|
|
||||||
gpio_set_value(EXYNOS4X12_GPIO_K12, 1);
|
|
||||||
}
|
|
||||||
|
|
15
doc/device-tree-bindings/exynos/emmc-reset.txt
Normal file
15
doc/device-tree-bindings/exynos/emmc-reset.txt
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
* Samsung eMMC reset
|
||||||
|
|
||||||
|
Some exynos boards require special handling of nRESET_OUT line for eMMC memory
|
||||||
|
to perform complete reboot.
|
||||||
|
|
||||||
|
Required properties:
|
||||||
|
- compatible: should be "samsung,emmc-reset"
|
||||||
|
- reset-gpio: gpio chip for eMMC reset.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
emmc-reset {
|
||||||
|
compatible = "samsung,emmc-reset";
|
||||||
|
reset-gpio = <&gpk1 2 0>;
|
||||||
|
};
|
Loading…
Add table
Reference in a new issue