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

Reply via email to