This is a just-for-fun project, for which no claims are made that it's optimal. I just drew it up in half an hour a few months ago, and then tweaked the thing until it worked.
The incoming composite signal is filtered into its three components: the mono audio, the suppressed-carrier difference signal, and the 19 KHz pilot tone. The latter needs doubling in frequency to 38 KHz in order to restore the suppressed carrier and demodulate the L-R signal. Here it's done by phase-locking a local VCO to the pilot, producing a stable, constant-amplitude replica. In many phase-locked loop (PLL) applications like this, a divide-by-two counter within the loop makes the VCO run at double frequency. Here a simple squarer and DC block doubles the frequency after the PLL instead.
The remaining circuit synchronously demodulates the L-R audio to build the L and R channels. The ADAU1701MINIZ's pot adjusts stereo separation: fully CCW is mono (L+R), midpoint is stereo, and fully CW is L-R.
I pulled the composite signal from the FM detector in this transistor radio to feed the eval board's A-D input, then listened in stereo at the board's headphone jack. It was that simple! Many years ago I experimented with a LM1800 MPX demodulator IC, which works pretty much the same way as this DSP implementation. Both do a good job, which I attribute to the PLL as it provides a stable carrier with which to demodulate the L-R info. There's nothing like synchronous demodulation, which also should be in every AM radio more sophisticated than a crystal set (but unfortunately finds itself only in high-end shortwave radios).