Technically speaking, frequency modulation of light would involve shifting the color since, if you look at the EM spectrum, you basically see a rainbow in the visible part of it from red (lowest frequency) to violet (highest frequency). If you wanted to, you could take the original signal, run it through an analog-to-digital converter, and do the calculations to modulate the different parts of an RGB LED. The receiving side of that wouldn't be trivial, though, but it could be done.
Most light modulation that I've seen has instead been amplitude modulation. The details for the circuit would depend on what you're using for a light source, but it's basically a matter of making the light bright or dim based on the input signal. The receiving side for this could be a simple phototransistor circuit.
One possibility that would combine both would work better for digital signals, and that would be to approach it like the way that RTTY works for radio waves. Use two colors of light, the more distinguishable the better, one for your "high" and one for your "low" frequency. You then shift between the two to transmit, and use 2 phototransistor circuits behind 2 color filters matching what you're sending to receive. You would probably need to use amplitude modulation as well, if only to filter out stray light, just like IR remote controls do.