Yeah, put the validation code in the file that uses the variable.  Someone changing the actual functionality is more likely to notice they need to update the validation.

If the variable is used by many included (or recursed) files then put the validation at the top level.

The FTDI variable is only used in the tools.mk makefile so that bit should move there.