mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +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;
|
||||
}
|
||||
#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);
|
||||
}
|
||||
#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…
Reference in a new issue