My goal is to programmatically switch between supply voltages (3.3V and ~2.6V) for a load. The 2.6V level doesn't need to be exact, +/- 0.2V is OK.
I created the following circuit, which uses my MCU's GPIO to control an NPN BJT / P-channel MOSFET pair that drives a load (tens of milliamps). The parallel diode drops the voltage down to ~2.6V by default. When the MOSFET is on, it conducts between source and drain and essentially sets the supply voltage to 3.3V.
Are there any red flags in this circuit or any other minor issues I may have overlooked?
Additionally, if the first circuit works, could I remove the the parallel diode and use the body diode of the MOSFET instead? This would involve letting current flow from drain to source when the MOSFET is on though so I'm not sure.