imx6: add support for UDOO Dual and Quad boards
[openwrt/staging/stintel.git] / target / linux / imx6 / base-files / lib / imx6.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2010-2013 OpenWrt.org
4 #
5
6 IMX6_BOARD_NAME=
7 IMX6_MODEL=
8
9 rootpartuuid() {
10 local cmdline=$(cat /proc/cmdline)
11 local bootpart=${cmdline##*root=}
12 bootpart=${bootpart%% *}
13 local uuid=${bootpart#PARTUUID=}
14 echo ${uuid%-02}
15 }
16
17 bootdev_from_uuid() {
18 blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1
19 }
20
21 bootpart_from_uuid() {
22 blkid | grep $(rootpartuuid)-01 | cut -d : -f1
23 }
24
25 rootpart_from_uuid() {
26 blkid | grep $(rootpartuuid)-02 | cut -d : -f1
27 }
28
29 apalis_mount_boot() {
30 mkdir -p /boot
31 [ -f /boot/uImage ] || {
32 mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null
33 }
34 }
35
36 imx6_board_detect() {
37 local machine
38 local name
39
40 machine=$(cat /proc/device-tree/model)
41
42 case "$machine" in
43 "Gateworks Ventana i.MX6 DualLite/Solo GW51XX" |\
44 "Gateworks Ventana i.MX6 Dual/Quad GW51XX")
45 name="gw51xx"
46 ;;
47
48 "Gateworks Ventana i.MX6 DualLite/Solo GW52XX" |\
49 "Gateworks Ventana i.MX6 Dual/Quad GW52XX")
50 name="gw52xx"
51 ;;
52
53 "Gateworks Ventana i.MX6 DualLite/Solo GW53XX" |\
54 "Gateworks Ventana i.MX6 Dual/Quad GW53XX")
55 name="gw53xx"
56 ;;
57
58 "Gateworks Ventana i.MX6 DualLite/Solo GW54XX" |\
59 "Gateworks Ventana i.MX6 Dual/Quad GW54XX" |\
60 "Gateworks Ventana GW5400-A")
61 name="gw54xx"
62 ;;
63
64 "Gateworks Ventana i.MX6 Dual/Quad GW551X" |\
65 "Gateworks Ventana i.MX6 DualLite/Solo GW551X")
66 name="gw551x"
67 ;;
68
69 "Gateworks Ventana i.MX6 DualLite/Solo GW552X" |\
70 "Gateworks Ventana i.MX6 Dual/Quad GW552X")
71 name="gw552x"
72 ;;
73
74 "Gateworks Ventana i.MX6 DualLite/Solo GW553X" |\
75 "Gateworks Ventana i.MX6 Dual/Quad GW553X")
76 name="gw553x"
77 ;;
78
79 "Gateworks Ventana i.MX6 DualLite/Solo GW5904" |\
80 "Gateworks Ventana i.MX6 Dual/Quad GW5904")
81 name="gw5904"
82 ;;
83
84 "SolidRun Cubox-i Solo/DualLite" |\
85 "SolidRun Cubox-i Dual/Quad")
86 name="cubox-i"
87 ;;
88
89 "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board" |\
90 "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1")
91 name="apalis,ixora"
92 ;;
93
94 "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board")
95 name="apalis,eval"
96 ;;
97
98 "Udoo i.MX6 Dual Board" |\
99 "Udoo i.MX6 Quad Board")
100 name="udoo"
101 ;;
102
103 "Wandboard i.MX6 Dual Lite Board")
104 name="wandboard"
105 ;;
106
107 *)
108 name="generic"
109 ;;
110 esac
111
112 [ -z "$IMX6_BOARD_NAME" ] && IMX6_BOARD_NAME="$name"
113 [ -z "$IMX6_MODEL" ] && IMX6_MODEL="$machine"
114
115 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
116
117 echo "$IMX6_BOARD_NAME" > /tmp/sysinfo/board_name
118 echo "$IMX6_MODEL" > /tmp/sysinfo/model
119 }