blob: b064557d5241e50436222c4ae2b49f1ca4fabd08 [file] [log] [blame]
Jerome Forissier64abd782024-10-16 12:04:00 +02001// SPDX-License-Identifier: GPL-2.0
Jerome Forissier8b4d10b2025-06-25 15:19:18 +02002
3#include <dm/uclass.h>
Adriano Cordova929a5542024-11-11 18:08:57 -03004#include <net-common.h>
Jerome Forissier8b4d10b2025-06-25 15:19:18 +02005#include <linux/time.h>
6#include <rtc.h>
Jerome Forissier64abd782024-10-16 12:04:00 +02007
8void copy_filename(char *dst, const char *src, int size)
9{
10 if (src && *src && (*src == '"')) {
11 ++src;
12 --size;
13 }
14
15 while ((--size > 0) && src && *src && (*src != '"'))
16 *dst++ = *src++;
17 *dst = '\0';
18}
Adriano Cordova929a5542024-11-11 18:08:57 -030019
20struct wget_http_info default_wget_info = {
21 .method = WGET_HTTP_METHOD_GET,
22 .set_bootdev = true,
23};
24
25struct wget_http_info *wget_info;
26
27int wget_request(ulong dst_addr, char *uri, struct wget_http_info *info)
28{
29 wget_info = info ? info : &default_wget_info;
Adriano Cordovab479fc42024-12-04 00:05:16 -030030 return wget_do_request(dst_addr, uri);
Adriano Cordova929a5542024-11-11 18:08:57 -030031}
Jerome Forissier8b4d10b2025-06-25 15:19:18 +020032
33void net_sntp_set_rtc(u32 seconds)
34{
35 struct rtc_time tm;
36 struct udevice *dev;
37 int ret;
38
39 rtc_to_tm(seconds, &tm);
40
41 ret = uclass_get_device(UCLASS_RTC, 0, &dev);
42 if (ret)
43 printf("SNTP: cannot find RTC: err=%d\n", ret);
44 else
45 dm_rtc_set(dev, &tm);
46
47 printf("Date: %4d-%02d-%02d Time: %2d:%02d:%02d\n",
48 tm.tm_year, tm.tm_mon, tm.tm_mday,
49 tm.tm_hour, tm.tm_min, tm.tm_sec);
50}