summaryrefslogtreecommitdiffstats
path: root/meta-netboot/README.renesas-gen3
blob: 496141eef2e4f389f82df13f387a8b57dbfabe34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Below are the environment variables that can be set in the u-boot console to boot the Renesas Gen3 ULCB boards.

Adjust board type with the following identifiers:

* 'm3ulcb' for Renesas Gen3 Starter Kit Pro
* 'h3ulcb' for Renesas Gen3 Starter Kit Premium

################## Common options #####################
# these options are common to all configurations:

##### board info

# choose board
setenv board m3ulcb
setenv soc r8a7796
# or
setenv board h3ulcb
setenv soc r8a7795

##### boot mode
# choose bootmode:
# netboot
setenv bootmode net
# or sdcard
setenv bootmode sd
# or sdcard with initrd
setenv bootmode sdi

##### sdcard options
# which sdcard slot to use
setenv bootmmc '0:1'

##### netboot options
# replace <IP> and <NUM> by appropriate addresses
setenv ipaddr '<board_IP>'
setenv serverip '<server_IP>'
setenv ethact ravb
setenv ethaddr DE:AD:C0:FF:EE:<NUM>

################## Internal variables #####################

# kernel file
setenv set_bootkfile 'setenv bootkfile Image'
setenv bootkaddr 0x48080000

# dtb file
setenv set_bootdfile 'setenv bootdfile Image-${soc}-${board}.dtb'
setenv bootdaddr 0x48000000

# initrd
setenv set_bootifile 'setenv bootifile initramfs-netboot-image-${board}.ext4.gz'
setenv bootiaddr 0x5C3F9520
setenv bootisize 3A6AB6

# kernel args
setenv bootargs_console 'console=ttySC0,115200 ignore_loglevel'
setenv bootargs_video 'vmalloc=384M video=HDMI-A-1:1920x1080-32@60'
setenv bootargs_extra 'rw rootfstype=ext4 rootwait rootdelay=2'

# final boot command
setenv bootcmd 'run bootcmd_${bootmode}'

################ Boot on MMC (SDcard) #################

setenv bootkload_sd 'ext4load mmc ${bootmmc} ${bootkaddr} boot/${bootkfile}'
setenv bootiload_sd 'ext4load mmc ${bootmmc} ${bootiaddr} boot/${bootifile}'
setenv bootdload_sd 'ext4load mmc ${bootmmc} ${bootdaddr} boot/${bootdfile}'

# without initrd
setenv bootargs_root_sd 'root=/dev/mmcblk1p1'
setenv bootload_sd 'run set_bootkfile; run bootkload_sd; run set_bootdfile; run bootdload_sd'
setenv bootcmd_sd 'setenv bootargs ${bootargs_console} ${bootargs_video} ${bootargs_root_sd} ${bootargs_extra}; run bootload_sd; booti ${bootkaddr} - ${bootdaddr}'

# with initrd
setenv bootargs_root_sdi 'root=/dev/ram0 ramdisk_size=16384'
setenv bootload_sdi 'run set_bootkfile; run bootkload_sd; run set_bootdfile; run bootdload_sd; run set_bootifile; run bootiload_sd'
setenv bootcmd_sdi 'setenv bootargs ${bootargs_console} ${bootargs_video} ${bootargs_root_sdi} ${bootargs_extra}; run bootload_sdi; booti ${bootkaddr} ${bootiaddr}:${bootisize} ${bootdaddr}'

################ Netboot through TFTP+NBD ##################

setenv bootkload_net 'tftp ${bootkaddr} ${board}/${bootkfile}'
setenv bootdload_net 'tftp ${bootdaddr} ${board}/${bootdfile}'
setenv bootiload_net 'tftp ${bootiaddr} ${board}/${bootifile}'

setenv bootargs_root_net 'root=/dev/ram0 ramdisk_size=16384 ip=dhcp'
setenv bootload_net 'run set_bootkfile; run bootkload_net; run set_bootdfile; run bootdload_net; run set_bootifile; run bootiload_net'

setenv bootcmd_net 'setenv bootargs ${bootargs_console} ${bootargs_video} ${bootargs_root_net} ${bootargs_extra} nbd.server=${serverip}; run bootload_net; booti ${bootkaddr} ${bootiaddr}:${bootisize} ${bootdaddr}'
>cl = NULL; g_variant_get(properties, "a{sv}", &iter); while (g_variant_iter_loop(iter, "{sv}", &key, &value)) { if (!strcmp(key, "State")) { state = g_variant_get_string(value, NULL); } else if (!strcmp(key, "LineIdentification")) { cl = g_variant_get_string(value, NULL); } } if (!strcmp(state, "incoming")) { g_signal_emit_by_name(manager, "incoming-call", op, cl ? cl : ""); } else if (!strcmp(state, "dialing")) { g_signal_emit_by_name(manager, "dialing-call", op, cl ? cl : ""); } } static void call_removed(OrgOfonoVoiceCallManager *manager, gchar *op, GVariant *properties) { g_signal_emit_by_name(manager, "terminated-call", op); } const OrgOfonoVoiceCallManager *ofono_voicecallmanager_init(const gchar *op, void (*incoming_call)(OrgOfonoVoiceCallManager *manager,gchar *,gchar *), void (*dialing_call)(OrgOfonoVoiceCallManager *manager,gchar *,gchar *), void (*terminated_call)(OrgOfonoVoiceCallManager *manager,gchar *)) { OrgOfonoVoiceCallManager *manager = org_ofono_voice_call_manager_proxy_new_for_bus_sync( G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, "org.ofono", op, NULL, NULL); g_signal_new("incoming-call", G_TYPE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); g_signal_new("dialing-call", G_TYPE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); g_signal_new("terminated-call", G_TYPE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, G_TYPE_STRING); if (g_signal_connect(G_OBJECT(manager), "incoming-call", G_CALLBACK(incoming_call), NULL) <= 0) { AFB_ERROR("Failed to connect to signal incoming-call\n"); } if (g_signal_connect(G_OBJECT(manager), "dialing-call", G_CALLBACK(dialing_call), NULL) <= 0) { AFB_ERROR("Failed to connect to signal dialing-call\n"); } if (g_signal_connect(G_OBJECT(manager), "terminated-call", G_CALLBACK(terminated_call), NULL) <= 0) { AFB_ERROR("Failed to connect to signal terminated-call\n"); } if (g_signal_connect(manager, "call-added", G_CALLBACK(call_added), NULL) <= 0) { AFB_ERROR("Failed to connect to signal call-added\n"); } if (g_signal_connect(manager, "call-removed", G_CALLBACK(call_removed), NULL) <= 0) { AFB_ERROR("Failed to connect to signal call-removed\n"); } return manager; } void ofono_voicecallmanager_free(OrgOfonoVoiceCallManager *vcm) { g_object_unref(G_OBJECT(vcm)); } gchar *ofono_voicecallmanager_dial(OrgOfonoVoiceCallManager *manager, const gchar *number, const gchar *cid) { gchar *out = NULL; GError *error = NULL; if (!manager) { AFB_ERROR("Ofono VoiceCallmanager uninitialized\n"); return NULL; } org_ofono_voice_call_manager_call_dial_sync(manager, number, cid, &out, NULL, &error); if (error != NULL) out = NULL; return out; } void ofono_voicecallmanager_hangup_all(OrgOfonoVoiceCallManager *manager) { GError *error = NULL; if (!manager) { AFB_ERROR("Ofono VoiceCallmanager uninitialized\n"); return; } org_ofono_voice_call_manager_call_hangup_all_sync(manager, NULL, &error); }