Firefly Open Source Community

   Login   |   Register   |
New_Topic
Print Previous Topic Next Topic

Enable The I2S MCLK

147

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
147
Posted at 10/27/2015 04:56:57      1#
The naming is incorrect in the device tree. Look at the reg = <>. The one with the higher address is named I2S0. It just appears to be named wrong. The eight channel I2S is what makes HDMI audio,  8-channel I2S is not accessible on the external pins.

The device tree names can be anything, they are just strings. So this is confusing to a human but the computer doesn't care. The computer does not understand this "i2s1: i2s1@10200000" except as a collection of unique strings. You could name it "blue:rabbit@hat" and the DTC won't care.
Reply

Use props Report

147

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
147
Posted at 10/27/2015 05:06:00      2#
A likely cause for MCLK turning off is that there is default code somewhere turning unused pins into input GPIOs to save power. I have not looked, but you probably need to write a clock driver for the MCLK pin and support it in PINCTRL.  In the DTS IS1 would then depend on this MCLK. Which would trigger the clock driver to turn it on.  Implementing the clock driver marks the pin as in-use and will block the default GPIO behavior.  This is not a lot of code, maybe 30-40 lines.
Reply

Use props Report

147

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
147
Posted at 10/27/2015 05:07:58      3#
The I2S section is also missing support for enabling an external I2S clock.
Reply

Use props Report

147

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
147
Posted at 11/5/2015 08:09:06      4#
This is way better than most other Chinese SOCs.

Allwinner only has support because volunteers are doing it, Allwinner pays them nothing.
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list