* pin_repository: provide readable pin names in error cases
* io_pins: remove getBrain_pin_eExt
We have getBrain_pin_eExt in io_pins.cpp and hwPortname in
pin_repository.cpp.
First uses auto-generated enums, second one uses runtime data to
provide name of hw pin.
Removing first saves us about 2K of flash couse big auto-generated
switch with pin names no more used by anyone and gets optimized out.
* gpios: mc33972: CS pin is now requested at smart_gpios.pcc
* getSpiDevice: support SPI4
* smart_gpios.cpp: startSmartCsPins set CSs to inactive state
OutputPin:initPin initializes pin with false value. This is active
state for SPI Chip Selects. Set to 1 to deselect all chips.
* smart_gpio: fix error path
If chip driver disable in FW, disabled in settings or failed to init
we still need to ocupy its gpio range.
* smart_gpio: get tle6240 CS from config
* smart_gpio: fix debug messaging
* io_pins: implement efiSetPadUnused
When pin becomes unused it should be switched to safe mode and
disconnected from any IP block. Assume that gpio input mode with
pull-up is safe enough.
* trigger_input: switch triggers pins to safe mode on stop/reinit
* digital_input_exti: rework
* rename enableExti to efiExtiEnablePin
* add efiExtiDisablePin
* keep track of used exti channels
* trigger_input: use digital_input_exti functions
* gpio chips: relax error checking on _add
Do not halt whole system if wrong or nulled config is passed.
In current smart-gpio implementation this can happen and it is not
as error. Let smart-gpio handle this, kust reurn negative.
* tle8888: return back includes needed for debug
* smar-gpio: -Werror=missing-field-initializers fix
* smart_gpio.cpp: check _add return values
And occupy gpiochip's pin range if disabled of failed. So base will
align with enum.
* TLE8888: cleanup, move high level code to smart_gpio.cpp
* smart_gpio.cpp: fix compilation when BOARD_EXT_GPIOCHIPS == 0
* board-subaru: fix compilation after latest smart_gpio updates
* tle8888: now we have all 28 pins supported
* Add fields to UART/Serial configs
* trigger_input: can be both HAL_USE_PAL and HAL_USE_COMP
* tle6240 config: local temporary solution
* Fix for custom_engine::setFsio
* EFI_ACTIVE_CONFIGURATION_IN_FLASH
* efi_gpio: update cached pin value for ext gpios to
* tle6240: update and fix
* gpiochips_init should be called after all gpio chips are added
or we can lost calls to _init of chips
* smart_gpio.c: fix for tle6240 and mc33972
now config structs are not const. waste of ram...
* gpio-chips core function renames
* efi_gpio, pin_repository: add support for external gpios
* gpio-chips update
* gpio-chips: add api to name each pin of gpiochip
* tle6240: provide individual names for each pin
* Some more include fixes for linux
* Pass cross-compile path through CROSS_COMPILE
* Lower-upper case conversion fixes for linux
* Rename unmarkPin to brain_pin_markUnused
This is part of external gpiochip integration
* Add gpio_pin prefix to markUsed and markUnused
To distinguish from similar functions using brain_pin
* pin_repository: add helpers
this is part of gpio chips integration
* efi_gpio: simplify getHwPin using brain_pin_is_onchip