]>
Commit | Line | Data |
---|---|---|
a3774c1c SA |
1 | /* |
2 | * (C) Copyright 2016 Toradex | |
3 | * Author: Stefan Agner <stefan.agner@toradex.com> | |
4 | * | |
5 | * SPDX-License-Identifier: GPL-2.0+ | |
6 | */ | |
7 | ||
8 | #include <common.h> | |
9 | #include <spl.h> | |
10 | #include <usb.h> | |
11 | #include <g_dnl.h> | |
12 | #include <sdp.h> | |
13 | ||
14 | DECLARE_GLOBAL_DATA_PTR; | |
15 | ||
16 | static int spl_sdp_load_image(struct spl_image_info *spl_image, | |
17 | struct spl_boot_device *bootdev) | |
18 | { | |
19 | int ret; | |
20 | const int controller_index = 0; | |
21 | ||
22 | g_dnl_clear_detach(); | |
23 | g_dnl_register("usb_dnl_sdp"); | |
24 | ||
25 | ret = sdp_init(controller_index); | |
26 | if (ret) { | |
24ccd0c8 | 27 | pr_err("SDP init failed: %d\n", ret); |
a3774c1c SA |
28 | return -ENODEV; |
29 | } | |
30 | ||
31 | /* This command typically does not return but jumps to an image */ | |
32 | sdp_handle(controller_index); | |
24ccd0c8 | 33 | pr_err("SDP ended\n"); |
a3774c1c SA |
34 | |
35 | return -EINVAL; | |
36 | } | |
37 | SPL_LOAD_IMAGE_METHOD("USB SDP", 0, BOOT_DEVICE_BOARD, spl_sdp_load_image); |