Danke für eure Antworten ich hab mich etwas dumm ausgedrückt. Aber ja ich habe gemeint, dass alle I/Os immer als Eingang gesetzt sind nach einem Reset, bzw. die entsprechenden Register auf 1111 1111. Das mit dem Mikrocontroller behalte ich mal im Hinterkopf, falls die Zustände vor dem Reset doch noch gespeichert werden sollen macht das auf jeden Fall Sinn aber ich glaube ich werde erstmal bei dem I/O Expander bleiben. Ich denke die Wahl wird auf den PCA9538 fallen, den hatte ich mir auch schon angeschaut.
Mit dem I/O Expander sollen Spannungsversorgungen für andere Geräte geschaltet werden. Da ist momentan auch noch die Frage ob ich ein externes Netzteil mit einem Relais schalte oder direkt auf der Platine eigene DC/DC Wandler mit ON/OFF Eingang verwende.
Ich wollte ursprünglich die Relais direkt über den I/O Expander schalten und bin deswegen gar nicht auf die Idee mit den Pullup/down-Widerständen gekommen. Wenn ich jetzt aber noch einen passenden Treiber Baustein für das Relais finde oder einen Transistor zum ansteuern verwende sollte ja eure Vorgeschlagene Lösung mit den Pullup/-down Widerständen funktionieren.