You have two requirements:-
- Control motor speed with 1.8V PWM.
If the motor only needs to run one direction then you just need a transistor that can efficiently switch 100mA when driven from 1.8V (eg. Si1012CR), and a high speed flyback diode across the motor (eg. BAT42W).
- Some way to boost the power supply from 2.8V to 5.6V.
The simplest way is to charge a capacitor up to the supply voltage, then reconnect it in series with Vcc to double the voltage. The LM2662 is a switched capacitor voltage doubler which can supply up to 200mA. However it has 3.5Ω output resistance, so you can expect about 0.35V loss at 100mA (dropping the output voltage to about 5.2V).
Alternatively you could make an inductor based booster configured to regulate at 5.6V, using eg. an LM2704. This should maintain a constant motor supply voltage at high current, even if the input voltage drops.
It may even be possible to combine the functions of inductive voltage boosting and motor PWM control into a single circuit with fewer components. However you would then have to apply negative feedback (varying PWM according to motor voltage) in order to regulate the output - otherwise motor voltage and speed will drop with increased load. It may be easier to keep the voltage boosting and PWM functions separate.