orangepi-xunlong / linux-orangepi

Other
196 stars 171 forks source link

orange-pi-5.13-sunxi64 kernel on zeropi2: audio has only left channel #18

Open warpme opened 2 years ago

warpme commented 2 years ago

Hi,

I build e5d69c78425 from orange-pi-5.13-sunxi64 repo and see audio works - but has only left channel. Issue is seen in my media player app and also i.e. by issuing: speaker-test -c2

I have this issue also on: orange-pi-5.16-sunxi64 kernel and also on: orangepizero2-2.1.6-ubuntu-bionic-linux5.13 downloaded from Xulong website - so it looks to me like issue is h616 audio driver...

alsamixer seems to be set correctly:

is this known issue?

state.sndahub {
        control.1 {
                iface MIXER
                name 'I2S0IN Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.2 {
                iface MIXER
                name 'I2S0OUT Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.3 {
                iface MIXER
                name 'I2S1IN Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.4 {
                iface MIXER
                name 'I2S1OUT Switch'
                value true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.5 {
                iface MIXER
                name 'I2S2IN Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.6 {
                iface MIXER
                name 'I2S2OUT Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.7 {
                iface MIXER
                name 'I2S3IN Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.8 {
                iface MIXER
                name 'I2S3OUT Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.9 {
                iface MIXER
                name 'DAM0IN Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.10 {
                iface MIXER
                name 'DAM1IN Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.11 {
                iface MIXER
                name 'DAM0OUT Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.12 {
                iface MIXER
                name 'DAM1OUT Switch'
                value false
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.13 {
                iface MIXER
                name 'APBIF0 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.14 {
                iface MIXER
                name 'APBIF1 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.15 {
                iface MIXER
                name 'APBIF2 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.16 {
                iface MIXER
                name 'I2S0 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.17 {
                iface MIXER
                name 'I2S1 Src Select'
                value APBIF_TXDIF0
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.18 {
                iface MIXER
                name 'I2S2 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.19 {
                iface MIXER
                name 'I2S3 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.20 {
                iface MIXER
                name 'DAM0Chan0 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.21 {
                iface MIXER
                name 'DAM0Chan1 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.22 {
                iface MIXER
                name 'DAM0Chan2 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.23 {
                iface MIXER
                name 'DAM1Chan0 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.24 {
                iface MIXER
                name 'DAM1Chan1 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
        control.25 {
                iface MIXER
                name 'DAM1Chan2 Src Select'
                value NONE
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 NONE
                        item.1 APBIF_TXDIF0
                        item.2 APBIF_TXDIF1
                        item.3 APBIF_TXDIF2
                        item.4 I2S0_TXDIF
                        item.5 I2S1_TXDIF
                        item.6 I2S2_TXDIF
                        item.7 I2S3_TXDIF
                        item.8 DAM0_TXDIF
                        item.9 DAM1_TXDIF
                }
        }
}
state.allwinnerhdmi {
        control.1 {
                iface PCM
                name 'Playback Channel Map'
                value.0 3
                value.1 4
                value.2 0
                value.3 0
                value.4 0
                value.5 0
                value.6 0
                value.7 0
                comment {
                        access read
                        type INTEGER
                        count 8
                        range '0 - 36'
                }
        }
        control.2 {
                iface PCM
                name ELD
                value '100009006930004f00000000000000004e8b1a5353322d54454b205456090707150750570700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
                comment {
                        access 'read volatile'
                        type BYTES
                        count 128
                }
        }
}
state.Codec {
        control.1 {
                iface MIXER
                name 'digital volume'
                value 0
                comment {
                        access 'read write'
                        type INTEGER
                        count 1
                        range '0 - 63'
                        dbmin -9999999
                        dbmax 4121460
                        dbvalue.0 -9999999
                }
        }
        control.2 {
                iface MIXER
                name 'LINEOUT volume'
                value 26
                comment {
                        access 'read write'
                        type INTEGER
                        count 1
                        range '0 - 31'
                        dbmin -9999999
                        dbmax 150
                        dbvalue.0 -600
                }
        }
        control.3 {
                iface MIXER
                name 'LINEOUT Switch'
                value true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.4 {
                iface MIXER
                name 'Left Output Mixer DACL Switch'
                value true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.5 {
                iface MIXER
                name 'Left Output Mixer DACR Switch'
                value true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.6 {
                iface MIXER
                name 'Right Output Mixer DACL Switch'
                value true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.7 {
                iface MIXER
                name 'Right Output Mixer DACR Switch'
                value true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 1
                }
        }
        control.8 {
                iface MIXER
                name 'Left LINEOUT Mux'
                value LOMixer
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 LOMixer
                        item.1 LROMixer
                }
        }
        control.9 {
                iface MIXER
                name 'Right LINEOUT Mux'
                value ROMixer
                comment {
                        access 'read write'
                        type ENUMERATED
                        count 1
                        item.0 ROMixer
                        item.1 LROMixer
                }
        }
}