The reason I ask this is because this is an issue with the Raspberry Pi, and I need to know how your board handles this situation. With the Pi, if I set the GPIO pins in the state I want in software, for example OUTPUT and in a HIGH condition, the state may or may not be retained after a reboot of the device depending on how the processor sets the default of each GPIO port at boot; I have no control over this. To make matters worse, after a reboot, some pins will be HIGH, some LOW, some INPUTS and some OUTPUTS, and this occurs before I can change it back in software in a start-up script. Even worse than that, updating the firmware can change the default state of the pins at boot without any warning. So my way around this is to only use GPIO pins that are always in a LOW and OUTPUT state at boot, severely limiting the amount of GPIO ports I can use. However, I am still at the mercy of a firmware update change. For my project it is imperative that at an absolute minimum that the state of all GPIO outputs are in a LOW condition at boot, and preferably set to be OUTPUTS if possible. Therefore I would need for the pins to either default to that state at boot or retain the setting I make in software before the reboot.