* remove simple cases
* more simple
* serial
* s
* more
* try memory
* easy
* mmc acc
* that's how much memory
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* gpios: isBrainPinValid helper
* LCD HD44780: do not touch pins if DM_NONE or invalid gpio
* Fix isEnabled checks for GPS and Joystick
* LCD HD44780: writePad use this method wider
* fix unregister api for gpio
* consumers
* guard with a critical section
* index
* guard less
* unregister under lock
* fix reinit
* dead flag
* fix most tests
* initialize properly
* initialize properly
* assertions in tests
* fix message
* move gpio mocking
* test gpios
* we must lock earlier to be truly safe
* this was using huge memory
* devirtualize
* test deinit
* change acSwitch name, add mode
* fix
* remove some adc stuff
* remove some adc stuff
* semicolon stupid
* left behind
* add readpinstate
* wrong var name
* add functions back
* fix name
* bool, not void, plus fix name
* move
* not sure what I broke
* try setMockValue
* namespace
* whoops missed one
* switch values because adc was set up for pullup
* try 5
* comment for now
* comment for now
* uncomment tests, add function to mock, add mock to efiReadPin
* fixes
* for F's sake
* if
* add defy
* pass params
* use ASSERT_TRUE/FALSE
* advance time
* remove ifdef from readPin
* try moving if
* move to separate func
* move extern
* move include
* try engine_test_helper
* am confuse
* move func to else
* include hal
* add efi prod check
* remove include
* try extern
* move include
* semicolon stupid
* move extern again
* include
* move mockPinStates
* size
* add if
* add comment
* clean on instantiation
* 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.
* 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 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