[PATCH v6 3/3] arm: dts: Add support for ES8388 to the Radxa Rock 2
Romain Perier
romain.perier at collabora.com
Tue Jan 31 06:19:31 PST 2017
Hi Heiko,
Le 31/01/2017 à 14:23, Heiko Stuebner a écrit :
> Hi Romain,
>
> Am Donnerstag, 26. Januar 2017, 14:23:15 CET schrieb Romain Perier:
>> This commit adds the DT definition of the es8388 i2c device
>> found at address 0x10. It also adds the definition for connecting
>> the Rockchip I2S to the es8388 analog output.
>>
>> This commit is based on the initial work that was done by Sjoerd Simons
>> <sjoerd.simons at collabora.com> with some improvements.
>>
>> Signed-off-by: Romain Perier <romain.perier at collabora.com>
>> ---
>>
>> Changes in v6: None
>> Changes in v5: None
>> Changes in v4:
>> - Updated to the new DT binding
>> - Added the property 'rockchip,routing'
>> - Renamed the node sound_es8388 to sound_i2s
>> Changes in v3: None
>> Changes in v2: None
>>
>> arch/arm/boot/dts/rk3288-rock2-square.dts | 39
>> +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts
>> b/arch/arm/boot/dts/rk3288-rock2-square.dts index dd3ad2e..6b176b8 100644
>> --- a/arch/arm/boot/dts/rk3288-rock2-square.dts
>> +++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
>> @@ -86,6 +86,19 @@
>> #sound-dai-cells = <0>;
>> };
>>
>> + sound_i2s {
>> + compatible = "rockchip,rk3288-hdmi-analog";
>> + rockchip,model = "I2S";
> Are you sure "I2S" is not to generic? Don't know enough about sound, but
> remember this somehow matching against possible alsa ucm profiles.
>
> So this could maybe produce conflicts with such a generic name?
>From what I understood this is the name of the card that will be shown
by Alsa, including these displayed by aplay -L . The problem is this
driver will connect a cpu dai to multicodecs, one of these is an analog
output while the other one is a digital output... I am not sure that we
can really expose a different name.
>
>
>> + rockchip,i2s-controller = <&i2s>;
>> + rockchip,audio-codec = <&es8388>;
>> + rockchip,routing = "Analog", "LOUT2",
>> + "Analog", "ROUT2";
>> + rockchip,hp-en-gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>;
>> + rockchip,hp-det-gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&headphone>;
>> + };
>> +
>> sdio_pwrseq: sdio-pwrseq {
>> compatible = "mmc-pwrseq-simple";
>> clocks = <&hym8563>;
>> @@ -173,10 +186,29 @@
>> };
>> };
>>
>> +&i2c2 {
>> + status = "okay";
>> +
>> + es8388: es8388 at 10 {
>> + compatible = "everest,es8388", "everest,es8328";
>> + reg = <0x10>;
>> + AVDD-supply = <&vcca_codec>;
>> + DVDD-supply = <&vcca_codec>;
> According to the schematics I have, this comes from
> vccio_codec
> and thus from vcc_io
>
> So please give the regulator node simply a second phandle, like
> vcc_io: vccio_codec: REG2 {
Ok.
>
> and reference the correct regulator here.
> See DCDC_REG4 in rk3288-veyron.dtsi for reference.
>
>
>> + HPVDD-supply = <&vcca_codec>;
>> + PVDD-supply = <&vcca_codec>;
> vccio_codec as well
OK
>
>
>> + clocks = <&cru SCLK_I2S0_OUT>;
>> + clock-names = "i2s_clk_out";
>> + };
>> +};
>> +
>> &i2c5 {
>> status = "okay";
>> };
>>
>> +&i2s {
>> + status = "okay";
>> +};
>> +
>> &pinctrl {
>> ir {
>> ir_int: ir-int {
>> @@ -190,6 +222,13 @@
>> };
>> };
>>
>> + sound {
>> + headphone: headphone {
>> + rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_up>,
>> + <7 7 RK_FUNC_GPIO &pcfg_pull_none>;
> please use real pin names from schematics fro pinctrl entries when they are
> known. This makes greping for things easier.
>
> So please two separate definitions, "hp_det" and "phone_ctl".
Ok, I will change that.
Thanks,
Romain
More information about the Linux-rockchip
mailing list