[cm3/sync] Add mutex_trylock()

Allows non-blocking use in user code.
[cm3/sync] mutex_lock now calls mutex_trylock repeatedly
ethernet: corrected typo in ethernet/phy_ksz8051mll.c to include setting the speed to 100M in case of 100M Half Duplex
Rename rcc_ppre1_frequency and rcc_ppre2_frequency

Rename rcc_ppre1_frequency and rcc_ppre2_frequency to rcc_apb1_frequency and rcc_apb2_frequency
Also add rcc_ahb_frequency (although it is not set correctly in all cases) which will be fixed by
the rcc commits later. Also fixup the only use in the library of these variables, the USART code.

And fix the typos that resulted
Make l1 generic too
Refactoring the PHY, adding support for other devices
Updated style for the mac file
Add drivers for ethernet/phy.h STE100, LAN8710 and KSZ8051