This adds userspace support for the Exegin Q5x family of boards. Signed-off-by: Owen Kirby <o...@exegin.com>
Index: target/linux/at91/base-files/lib/at91.sh =================================================================== --- target/linux/at91/base-files/lib/at91.sh (revision 0) +++ target/linux/at91/base-files/lib/at91.sh (revision 0) @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Copyright (C) 2009-2011 OpenWrt.org +# + +AT91_BOARD_NAME= +AT91_MODEL= + +at91_board_detect() { + local hardware + local name + + hardware=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /Hardware/ {print $2}' /proc/cpuinfo) + + case "$hardware" in + "Exegin Q5x (rev5)") + name="q5xr5" + ;; + *) + name="unknown" + ;; + esac + + echo $name + + [ -z "$name" ] && name="unknown" + + [ -z "$AT91_BOARD_NAME" ] && AT91_BOARD_NAME="$name" + [ -z "$AT91_MODEL" ] && AT91_MODEL="$hardware" + + [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" + + echo "$AT91_BOARD_NAME" > /tmp/sysinfo/board_name + echo "$AT91_MODEL" > /tmp/sysinfo/model +} + +at91_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -z "$name" ] && name="unknown" + + echo "$name" +} \ No newline at end of file Property changes on: target/linux/at91/base-files/lib/at91.sh ___________________________________________________________________ Added: svn:executable + * Index: target/linux/at91/base-files/lib/preinit/05_enable_usb_gadget =================================================================== --- target/linux/at91/base-files/lib/preinit/05_enable_usb_gadget (revision 0) +++ target/linux/at91/base-files/lib/preinit/05_enable_usb_gadget (revision 0) @@ -0,0 +1,19 @@ +# +# Copyright (C) 2009 OpenWrt.org +# + +. /lib/at91.sh + + +preinit_enable_usb_gadget() { + case $(at91_board_name) in + q5xr5) + insmod g_serial + ;; + unknown) + insmod g_ether + ;; + esac +} + +boot_hook_add preinit_main preinit_enable_usb_gadget Index: target/linux/at91/base-files/lib/preinit/03_preinit_do_at91.sh =================================================================== --- target/linux/at91/base-files/lib/preinit/03_preinit_do_at91.sh (revision 0) +++ target/linux/at91/base-files/lib/preinit/03_preinit_do_at91.sh (revision 0) @@ -0,0 +1,9 @@ +#!/bin/sh + +do_at91() { + . /lib/at91.sh + + at91_board_detect +} + +boot_hook_add preinit_main do_at91 Index: target/linux/at91/base-files/lib/preinit/05_set_gpio_at91 =================================================================== --- target/linux/at91/base-files/lib/preinit/05_set_gpio_at91 (revision 0) +++ target/linux/at91/base-files/lib/preinit/05_set_gpio_at91 (revision 0) @@ -0,0 +1,30 @@ +# +# Copyright (C) 2009 OpenWrt.org +# + +. /lib/at91.sh + +SYSFS_LEDS=/sys/devices/platform/leds-gpio/leds +SYSFS_GPIO=/sys/class/gpio + +preinit_configure_gpio() { + case $(at91_board_name) in + q5xr5) + # Configure the net LED to blink on ethernet activity. + echo netdev > ${SYSFS_LEDS}/net_grn/trigger + echo eth0 > ${SYSFS_LEDS}/net_grn/device_name + echo link rx tx > ${SYSFS_LEDS}/net_grn/mode + # Export the DIP switches + echo 45 > ${SYSFS_GPIO}/export + echo in > ${SYSFS_GPIO}/gpio45/direction + echo 1 > ${SYSFS_GPIO}/gpio45/active_low + ln -s ${SYSFS_GPIO}/gpio45 /tmp/sysinfo/dipsw0 + echo 43 > ${SYSFS_GPIO}/export + echo in > ${SYSFS_GPIO}/gpio43/direction + echo 1 > ${SYSFS_GPIO}/gpio43/active_low + ln -s ${SYSFS_GPIO}/gpio43 /tmp/sysinfo/dipsw1 + ;; + esac +} + +boot_hook_add preinit_main preinit_configure_gpio Index: target/linux/at91/base-files/etc/defconfig/unknown/network =================================================================== --- target/linux/at91/base-files/etc/defconfig/unknown/network (revision 0) +++ target/linux/at91/base-files/etc/defconfig/unknown/network (revision 0) @@ -0,0 +1,20 @@ +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname eth0 + option type none + option proto static + option ipaddr 192.168.1.1 + option netmask 255.255.255.0 + +config interface debug + option ifname usb0 + option type none + option proto static + option ipaddr 172.18.0.18 + option netmash 255.255.255.0 + Index: target/linux/at91/base-files/etc/defconfig/q5xr5/network =================================================================== --- target/linux/at91/base-files/etc/defconfig/q5xr5/network (revision 0) +++ target/linux/at91/base-files/etc/defconfig/q5xr5/network (revision 0) @@ -0,0 +1,10 @@ +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname eth0 + option proto dhcp + Index: target/linux/at91/base-files/etc/init.d/defconfig =================================================================== --- target/linux/at91/base-files/etc/init.d/defconfig (revision 0) +++ target/linux/at91/base-files/etc/init.d/defconfig (revision 0) @@ -0,0 +1,20 @@ +#!/bin/sh /etc/rc.common +# +# Copyright (C) 2009 OpenWrt.org +# + +START=05 + +start() { + . /lib/at91.sh + + local board=$(at91_board_name) + + [ ! -d /etc/defconfig/$board ] && return 0 + + for f in $( ls /etc/defconfig/$board ); do + if [ ! -e /etc/config/$f ]; then + cp /etc/defconfig/$board/$f /etc/config/ + fi + done +} Property changes on: target/linux/at91/base-files/etc/init.d/defconfig ___________________________________________________________________ Added: svn:executable + * Index: target/linux/at91/base-files/etc/inittab =================================================================== --- target/linux/at91/base-files/etc/inittab (revision 0) +++ target/linux/at91/base-files/etc/inittab (revision 0) @@ -0,0 +1,5 @@ +::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +ttyS0::askfirst:/bin/ash --login +tty1::askfirst:/bin/ash --login +ttyGS0::askfirst:/bin/ash --login \ No newline at end of file _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel