FreeCalypso > hg > freecalypso-sw
diff gsm-fw/cfgmagic/post-target @ 143:afceeeb2cba1
Our nuc-fw is destined to become gsm-fw, so I went ahead and did the big hg mv
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Tue, 12 Nov 2013 05:35:48 +0000 |
parents | nuc-fw/cfgmagic/post-target@1e41550feec5 |
children | 47754cdb6248 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/cfgmagic/post-target Tue Nov 12 05:35:48 2013 +0000 @@ -0,0 +1,119 @@ +# 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*) + # This chip is Calypso C035 with DSP version 36 in the ROM + CHIPSET=10 + DSP=36 + # Thanks to the Sotovik find, we now have authoritative + # knowledge that these numbers are correct. + ;; + *) + echo "Error: unknown DBB_type=$DBB_type" 1>&2 + exit 1 + ;; +esac +export_to_c CHIPSET +export_to_c DSP + +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