Corazon0513 / VoodooI2CTAS2770

36 stars 2 forks source link

十分感谢大佬 #1

Open xingye1673 opened 4 years ago

xingye1673 commented 4 years ago

请问大佬有后续开发计划么,y9000x应该就这个最难解决了,同i9款本来都打算割肉出掉了,看到了这个仓库突然想等等了。。

Corazon0513 commented 4 years ago

你好 @xingye1673

目前的情况大概是这样: 之前认为, TAS2770采用I2C作为通信方式,应该是挂在PCH Serial IO I2C Controller下的。

PciRoot(0x0)/Pci(0x15,0x0)  0xA368  /PCI0@0/I2C0@15
PciRoot(0x0)/Pci(0x15,0x1)  0xA369  /PCI0@0/I2C1@15,1

但在之后的开发中发现并不是这样,TAS2770似乎是接在这个位置的:

PciRoot(0x0)/Pci(0x??,0x?) 0xA348 /PCI0@0/HDAS@0

在Windows下,该设备名为 英特尔智音技术音频控制器 ,目前看来Intel并没有打算对OEM之外的用户提供该设备的驱动方法。

如果之后有进展,会及时更新 🐦。

ihipop commented 4 years ago

0xA348

我编译的驱动加载后没显示到 0xA348 也是因为这个原因吗?

lspci -nnk |grep A348 -i -A 3
00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
    Subsystem: Lenovo Cannon Lake PCH cAVS [17aa:3824]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel, snd_soc_skl, sof_pci_dev

实际上我是加载了模块的

snd_soc_core          266240  5 snd_soc_tas2770,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
ihipop commented 4 years ago

我给那个向Linux内核提交TAS2770驱动的朋友写了封邮件,对方答复说,那个补丁初衷也只是为了兼容安卓上的TAS2770 :(

Corazon0513 commented 4 years ago

我给那个向Linux内核提交TAS2770驱动的朋友写了封邮件,对方答复说,那个补丁初衷也只是为了兼容安卓上的TAS2770

:(

能看得出来,Linux下TAS2770的源码是在soc目录下的。

但是能从这个源码里参考各个功能的指令序列。

现在的问题就是intel这个智能音频怎么搞:(

ihipop commented 4 years ago

我给那个向Linux内核提交TAS2770驱动的朋友写了封邮件,对方答复说,那个补丁初衷也只是为了兼容安卓上的TAS2770 :(

能看得出来,Linux下TAS2770的源码是在soc目录下的。

但是能从这个源码里参考各个功能的指令序列。

现在的问题就是intel这个智能音频怎么搞:(

0xA348 本身我看到是加载了一些内核模块的?应该是正确识别了?现在的问题是通过0xA348操控TAS2770吗?

另外,snd_hda_intel本身是有一些模块选项的 可以指定型号。 modprobe snd-hda-intel model=型号

hx2nn commented 4 years ago

不说别的,感谢你们的研究,让我们这样的小白有所期待!加油

kangseung commented 4 years ago

同楼上,感谢大佬的研究。昨天自己作死以为是驱动没有 自己去翻了翻文档寻思自己研究如何开发驱动(不自量力) 后来发现还不是这么简单的问题 -。-

WangRicky commented 3 years ago

我给那个向Linux内核提交TAS2770驱动的朋友写了封邮件,对方答复说,那个补丁初衷也只是为了兼容安卓上的TAS2770 :(

能看得出来,Linux下TAS2770的源码是在soc目录下的。 但是能从这个源码里参考各个功能的指令序列。 现在的问题就是intel这个智能音频怎么搞:(

0xA348 本身我看到是加载了一些内核模块的?应该是正确识别了?现在的问题是通过0xA348操控TAS2770吗?

另外,snd_hda_intel本身是有一些模块选项的 可以指定型号。 modprobe snd-hda-intel model=型号

https://www.linuxuprising.com/2018/06/fix-no-sound-dummy-output-issue-in.html 看看这个帖子,有没有帮助

ihipop commented 3 years ago

我给那个向Linux内核提交TAS2770驱动的朋友写了封邮件,对方答复说,那个补丁初衷也只是为了兼容安卓上的TAS2770 :(

能看得出来,Linux下TAS2770的源码是在soc目录下的。 但是能从这个源码里参考各个功能的指令序列。 现在的问题就是intel这个智能音频怎么搞:(

0xA348 本身我看到是加载了一些内核模块的?应该是正确识别了?现在的问题是通过0xA348操控TAS2770吗? 另外,snd_hda_intel本身是有一些模块选项的 可以指定型号。 modprobe snd-hda-intel model=型号

https://www.linuxuprising.com/2018/06/fix-no-sound-dummy-output-issue-in.html 看看这个帖子,有没有帮助

我这并没有显示 dummy-output 不是同一个问题可能