view nuc-fw/cfgmagic/post-target @ 113:3b2e941043d8

nuc-fw/bsp: niq32.c compiles
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 20 Oct 2013 21:12:41 +0000
parents 45911ad957fd
children 1e41550feec5
line wrap: on
line source

# This shell script fragment is sourced after the selected target.
# Here we'll put code that logically goes with the target hw-related
# stuff, but which we wish to avoid duplicating in every target.*
# fragment.

# The per-target fragment must have defined CONFIG_IRAM_SIZE, CONFIG_XRAM_SIZE
# and CONFIG_FWFLASH_SIZE.
if [ -z "$CONFIG_IRAM_SIZE" ]
then
	echo "Error: target.$TARGET failed to define CONFIG_IRAM_SIZE" 1>&2
	exit 1
fi

if [ -z "$CONFIG_XRAM_SIZE" ]
then
	echo "Error: target.$TARGET failed to define CONFIG_XRAM_SIZE" 1>&2
	exit 1
fi

if [ -z "$CONFIG_FWFLASH_SIZE" ]
then
	echo "Error: target.$TARGET failed to define CONFIG_FWFLASH_SIZE" 1>&2
	exit 1
fi

# export them to C and to the m4-based ld script generation logic
export_to_c	CONFIG_IRAM_SIZE
export_to_m4	CONFIG_IRAM_SIZE
export_to_c	CONFIG_XRAM_SIZE
export_to_m4	CONFIG_XRAM_SIZE
export_to_c	CONFIG_FWFLASH_SIZE
export_to_m4	CONFIG_FWFLASH_SIZE

# Because we'll be using a lot of TI's code that is very liberally sprinkled
# with conditionals on their voodoo numbers for CHIPSET etc, we really have
# no choice but to continue using these nasty numbers, at least where
# possible.

if [ -z "$DBB_type" ]
then
	echo "Error: target.$TARGET failed to define DBB_type" 1>&2
	exit 1
fi

case "$DBB_type" in
	751992*)
		CHIPSET=10
		# Thanks to the Sotovik find, we now have authoritative
		# knowledge that this number is correct.
		;;
	*)
		echo "Error: unknown DBB_type=$DBB_type" 1>&2
		exit 1
		;;
esac
export_to_c	CHIPSET

if [ -z "$ABB_type" ]
then
	echo "Error: target.$TARGET failed to define ABB_type" 1>&2
	exit 1
fi

case "$ABB_type" in
	Iota*)
		ANALOG=2
		;;
	Syren*)
		ANALOG=3
		;;
	*)
		echo "Error: unknown ABB_type=$ABB_type" 1>&2
		exit 1
		;;
esac
export_to_c	ANALOG

if [ -z "$RF_type" ]
then
	echo "Error: target.$TARGET failed to define RF_type" 1>&2
	exit 1
fi

case "$RF_type" in
	Rita*)
		RF_FAM=12
		;;
	*)
		echo "Error: unknown RF_type=$RF_type" 1>&2
		exit 1
		;;
esac
export_to_c	RF_FAM

# !!! Dirty hack !!!
#
# All targets which we currently support or have realistic prospects of
# supporting are derived from TI's D-sample and/or Leonardo reference designs.
# TI's voodoo BOARD number for D-sample is 41, and Leonardo apparently
# shared D-sample's number instead of having its own.
# My initial hope was to keep those BOARD conditionals out of our code,
# but they are sprinkled so liberally throughout TI's code that it's
# too much extra work to reshape them into something cleaner.
# So for now let's export a #define BOARD 41 for all targets
# and leave it be.

BOARD=41
export_to_c	BOARD

# Ensure that device_class is set - various feature configurations
# will certainly depend on it.
if [ -z "$device_class" ]
then
	echo "Error: target.$TARGET failed to define device_class" 1>&2
	exit 1
fi