Skip to content
This repository was archived by the owner on Aug 14, 2023. It is now read-only.

Commit 8ead71b

Browse files
committed
Merge pull request #2 from umiddelb/master
Initial ODROID-C2 support
2 parents 579eca4 + f876bfa commit 8ead71b

File tree

3 files changed

+75
-61
lines changed

3 files changed

+75
-61
lines changed

builder/boot.ini

Lines changed: 67 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,85 @@
1-
ODROIDC-UBOOT-CONFIG
1+
ODROIDC2-UBOOT-CONFIG
22

33
# Possible screen resolutions
44
# Uncomment only a single Line! The line with setenv written.
55
# At least one mode must be selected.
66

7-
# setenv m "vga" # 640x480
8-
# setenv m "480p" # 720x480
9-
# setenv m "576p" # 720x576
10-
# setenv m "800x480p60hz" # 800x480
11-
# setenv m "800x600p60hz" # 800x600
12-
# setenv m "1024x600p60hz" # 1024x600
13-
# setenv m "1024x768p60hz" # 1024x768
14-
# setenv m "1360x768p60hz" # 1360x768
15-
# setenv m "1440x900p60hz" # 1440x900
16-
# setenv m "1600x900p60hz" # 1600x900
17-
# setenv m "1680x1050p60hz" # 1680x1050
18-
# setenv m "720p" # 720p 1280x720
19-
# setenv m "800p" # 1280x800
20-
# setenv m "sxga" # 1280x1024
21-
# setenv m "1080i50hz" # 1080I@50Hz
22-
# setenv m "1080p24hz" # 1080P@24Hz
23-
# setenv m "1080p50hz" # 1080P@50Hz
24-
setenv m "1080p" # 1080P@60Hz
25-
# setenv m "1920x1200" # 1920x1200
26-
27-
# HDMI DVI Mode Configuration
28-
setenv vout_mode "hdmi"
29-
# setenv vout_mode "dvi"
7+
# 480 Lines (720x480)
8+
# setenv m "480i60hz" # Interlaced 60Hz
9+
# setenv m "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
10+
# setenv m "480p60hz" # 480 Progressive 60Hz
11+
# setenv m "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
12+
13+
# 576 Lines (720x576)
14+
# setenv m "576i50hz" # Interlaced 50Hz
15+
# setenv m "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
16+
# setenv m "576p50hz" # Progressive 50Hz
17+
# setenv m "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
18+
19+
# 720 Lines (1280x720)
20+
# setenv m "720p50hz" # 50Hz
21+
# setenv m "720p60hz" # 60Hz
22+
23+
# 1080 Lines (1920x1080)
24+
# setenv m "1080i60hz" # Interlaced 60Hz
25+
setenv m "1080p60hz" # Progressive 60Hz
26+
# setenv m "1080i50hz" # Interlaced 50Hz
27+
# setenv m "1080p50hz" # Progressive 50Hz
28+
# setenv m "1080p24hz" # Progressive 24Hz
29+
30+
# 4K (3840x2160)
31+
# setenv m "2160p30hz" # Progressive 30Hz
32+
# setenv m "2160p25hz" # Progressive 25Hz
33+
# setenv m "2160p24hz" # Progressive 24Hz
34+
# setenv m "smpte24hz" # Progressive 24Hz SMPTE
35+
# setenv m "2160p50hz" # Progressive 50Hz
36+
# setenv m "2160p60hz" # Progressive 60Hz
37+
# setenv m "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
38+
# setenv m "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
39+
40+
### VESA modes ###
41+
# setenv m "640x480p60hz"
42+
# setenv m "800x480p60hz"
43+
# setenv m "800x600p60hz"
44+
# setenv m "1024x600p60hz"
45+
# setenv m "1024x768p60hz"
46+
# setenv m "1280x800p60hz"
47+
# setenv m "1280x1024p60hz"
48+
# setenv m "1360x768p60hz"
49+
# setenv m "1366x768p60hz"
50+
# setenv m "1440x900p60hz"
51+
# setenv m "1600x900p60hz"
52+
# setenv m "1680x1050p60hz"
53+
# setenv m "1920x1200p60hz"
54+
3055

3156
# HDMI BPP Mode
3257
setenv m_bpp "32"
3358
# setenv m_bpp "24"
3459
# setenv m_bpp "16"
3560

36-
# HDMI Hotplug Force (HPD)
37-
# 1 = Enables HOTPlug Detection
38-
# 0 = Disables HOTPlug Detection and force the connected status
39-
setenv hpd "0"
40-
41-
# CEC Enable/Disable (Requires Hardware Modification)
42-
# 1 = Enables HDMI CEC
43-
# 0 = Disables HDMI CEC
44-
setenv cec "0"
45-
46-
# UHS Card Configuration
47-
# Uncomment the line below to __DISABLE__ UHS-1 MicroSD support
48-
# This might break boot for some brand models of cards.
49-
setenv disableuhs "disableuhs"
61+
# HDMI DVI/VGA modes
62+
# Uncomment only a single Line! The line with setenv written.
63+
# At least one mode must be selected.
64+
# setenv vout "dvi"
65+
# setenv vout "vga"
5066

51-
# Disable VPU (Video decoding engine, Saves RAM!!!)
52-
# 0 = disabled
53-
# 1 = enabled
54-
setenv vpu "1"
67+
# Default Console Device Setting
68+
setenv condev "console=ttyS0,115200n8 console=tty0" # on both
5569

56-
# Disable HDMI Output (Again, saves ram!)
57-
# 0 = disabled
58-
# 1 = enabled
59-
setenv hdmioutput "1"
70+
###########################################
6071

61-
if test "${hpd}" = "0"; then setenv hdmi_hpd "disablehpd=true"; fi
62-
if test "${cec}" = "1"; then setenv hdmi_cec "hdmitx=cecf"; fi
72+
# Boot Arguments
73+
setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait rw ${condev} no_console_suspend hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.fix=yes"
6374

64-
setenv bootargs "console=ttyS0,115200n8 console=tty0 root=/dev/mmcblk0p1 rootwait rw no_console_suspend vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs} ${hdmi_hpd} ${hdmi_cec}"
65-
ext4load mmc 0:1 0x21000000 /boot/uImage
66-
ext4load mmc 0:1 0x21800000 /boot/meson8b_odroidc.dtb
67-
fdt addr 21800000
75+
# Booting
6876

69-
if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi
77+
setenv loadaddr "0x11000000"
78+
setenv dtb_loadaddr "0x1000000"
79+
setenv initrd_loadaddr "0x13000000"
7080

71-
if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi
81+
fatload mmc 0:1 ${initrd_loadaddr} uInitrd
82+
fatload mmc 0:1 ${loadaddr} Image
83+
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
7284

73-
bootm 0x21000000 - 0x21800000
85+
booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}

builder/build.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ROOT_PARTITION_SIZE="800M"
2424
HYPRIOT_IMAGE_VERSION=${VERSION:="dirty"}
2525
HYPRIOT_IMAGE_NAME="sd-card-odroid-c2-${HYPRIOT_IMAGE_VERSION}.img"
2626
IMAGE_ROOTFS_PATH="/image-rootfs.tar.gz"
27-
QEMU_ARCH="arm"
27+
QEMU_ARCH="aarch64"
2828
export HYPRIOT_IMAGE_VERSION
2929

3030
# specific versions of kernel/firmware and docker tools
@@ -82,8 +82,10 @@ tar -czf $IMAGE_ROOTFS_PATH -C $BUILD_PATH .
8282

8383
#FIXME: use latest upstream u-boot files from hardkernel
8484
# download current bootloader/u-boot images from hardkernel
85-
wget -q https://raw.githubusercontent.com/mdrjr/c2_uboot_binaries/master/bl1.bin.hardkernel
86-
wget -q https://raw.githubusercontent.com/mdrjr/c2_uboot_binaries/master/u-boot.bin
85+
curl -sSL http://dn.odroid.com/S905/BootLoader/ODROID-C2/c2_bootloader.tar.gz | tar -C /tmp -xzvf -
86+
cp /tmp/c2_bootloader/bl1.bin.hardkernel .
87+
cp /tmp/c2_bootloader/u-boot.bin .
88+
rm -rf /tmp/c2_bootloader/
8789

8890
guestfish <<EOF
8991
# create new image disk

builder/chroot-script.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ echo "nameserver 8.8.8.8" > /etc/resolv.conf
99

1010
# set up ODROID repository
1111
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AB19BAC9
12-
echo "deb http://deb.odroid.in/c2/ trusty main" > /etc/apt/sources.list.d/odroid.list
13-
echo "deb http://deb.odroid.in/ trusty main" >> /etc/apt/sources.list.d/odroid.list
12+
echo "deb http://deb.odroid.in/c2/ xenial main" > /etc/apt/sources.list.d/odroid.list
13+
echo "deb http://deb.odroid.in/ xenial main" >> /etc/apt/sources.list.d/odroid.list
1414

1515
# set up Hypriot Schatzkiste repository
1616
wget -q https://packagecloud.io/gpg.key -O - | apt-key add -
@@ -48,7 +48,7 @@ apt-get install -y u-boot-tools initramfs-tools
4848

4949
# make the kernel package create a copy of the current kernel here
5050
touch /boot/uImage
51-
apt-get install -y linux-image-c2
51+
apt-get install -y linux-image-c2 bootini
5252

5353
# set device label and version number
5454
echo "HYPRIOT_DEVICE=\"$HYPRIOT_DEVICE\"" >> /etc/os-release

0 commit comments

Comments
 (0)