您尚未登录。

楼主 #1 2019-10-25 15:06:53

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

求助F1c100s声卡问题

Nano板子开机没有识别出硬件声卡,这个问题该如何下手解决?
[ 3.626561] ALSA device list:
[ 3.629602] #0: Loopback 1

# ls -lh /sys/firmware/devicetree/base/
total 0
-r--r--r--    1 root     root           4 Jan  1 00:00 #address-cells
-r--r--r--    1 root     root           4 Jan  1 00:00 #size-cells
drwxr-xr-x    2 root     root           0 Jan  1 00:00 aliases
drwxr-xr-x    2 root     root           0 Jan  1 00:00 chosen
drwxr-xr-x    5 root     root           0 Jan  1 00:00 clocks
-r--r--r--    1 root     root          63 Jan  1 00:00 compatible
drwxr-xr-x    3 root     root           0 Jan  1 00:00 cpus
drwxr-xr-x    2 root     root           0 Jan  1 00:00 display-engine
-r--r--r--    1 root     root           4 Jan  1 00:00 interrupt-parent
drwxr-xr-x    2 root     root           0 Jan  1 00:00 memory
-r--r--r--    1 root     root          15 Jan  1 00:00 model
-r--r--r--    1 root     root           1 Jan  1 00:00 name
drwxr-xr-x    3 root     root           0 Jan  1 00:00 panel
drwxr-xr-x   24 root     root           0 Jan  1 00:00 soc
drwxr-xr-x    2 root     root           0 Jan  1 00:00 vcc3v3
# 
# ls /dev/snd -l
total 0
crw-rw----    1 root     audio     116,   0 Jan  1 00:00 controlC0
crw-rw----    1 root     audio     116,  24 Jan  1 00:00 pcmC0D0c
crw-rw----    1 root     audio     116,  16 Jan  1 00:00 pcmC0D0p
crw-rw----    1 root     audio     116,  25 Jan  1 00:00 pcmC0D1c
crw-rw----    1 root     audio     116,  17 Jan  1 00:00 pcmC0D1p
crw-rw----    1 root     audio     116,  33 Jan  1 00:00 timer
# 
# cat /proc/asound/cards
 0 [Loopback       ]: Loopback - Loopback
                      Loopback 1
# 
# cat /proc/asound/devices
  0: [ 0]   : control
 16: [ 0- 0]: digital audio playback
 17: [ 0- 1]: digital audio playback
 24: [ 0- 0]: digital audio capture
 25: [ 0- 1]: digital audio capture
 33:        : timer
# 
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
# 

开机日志:
==========================================================================

# dmesg
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.15.0-licheepi-nano+ (root@ubuntu) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #42 Sat Aug 24 10:33:10 EDT 2019
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Lichee Pi Nano
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 8192
[    0.000000]   Normal zone: 64 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 8192 pages, LIFO batch:0
[    0.000000] random: fast init done
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2  vt.global_cursor_default=0
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Memory: 22672K/32768K available (6144K kernel code, 236K rwdata, 1412K rodata, 1024K init, 245K bss, 10096K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc2800000 - 0xff800000   ( 976 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (7136 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (1024 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 237 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 246 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000047] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000109] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000636] Console: colour dummy device 80x30
[    0.000734] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[    0.070236] pid_max: default: 32768 minimum: 301
[    0.070566] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070620] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.072227] CPU: Testing write buffer coherency: ok
[    0.073955] Setting up static identity map for 0x80100000 - 0x80100058
[    0.076584] devtmpfs: initialized
[    0.084820] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.084896] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.085175] pinctrl core: initialized pinctrl subsystem
[    0.087484] NET: Registered protocol family 16
[    0.088935] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.091036] cpuidle: using governor menu
[    0.120649] SCSI subsystem initialized
[    0.121052] usbcore: registered new interface driver usbfs
[    0.121213] usbcore: registered new interface driver hub
[    0.121457] usbcore: registered new device driver usb
[    0.121985] pps_core: LinuxPPS API ver. 1 registered
[    0.122015] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.122093] PTP clock support registered
[    0.122693] Advanced Linux Sound Architecture Driver Initialized.
[    0.124967] clocksource: Switched to clocksource timer
[    0.153741] NET: Registered protocol family 2
[    0.155448] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.155541] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.155606] TCP: Hash tables configured (established 1024 bind 1024)
[    0.155968] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.156047] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.156591] NET: Registered protocol family 1
[    0.157910] RPC: Registered named UNIX socket transport module.
[    0.157956] RPC: Registered udp transport module.
[    0.157974] RPC: Registered tcp transport module.
[    0.157990] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.160374] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.162305] Initialise system trusted keyrings
[    0.162842] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.181402] NFS: Registering the id_resolver key type
[    0.181505] Key type id_resolver registered
[    0.181526] Key type id_legacy registered
[    0.181657] jffs2: version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
[    0.197288] Key type asymmetric registered
[    0.197333] Asymmetric key parser 'x509' registered
[    0.197560] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.197596] io scheduler noop registered
[    0.197617] io scheduler deadline registered
[    0.198467] io scheduler cfq registered (default)
[    0.198505] io scheduler mq-deadline registered
[    0.198526] io scheduler kyber registered
[    0.199909] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[    0.210220] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.395428] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.402690] console [ttyS0] disabled
[    0.422975] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 27, base_baud = 6250000) is a 16550A
[    0.905055] console [ttyS0] enabled
[    0.931427] 1c25800.serial: ttyS2 at MMIO 0x1c25800 (irq = 28, base_baud = 6250000) is a 16550A
[    0.948607] panel-simple panel: panel supply power not found, using dummy regulator
[    0.958138] SCSI Media Changer driver v0.25 
[    0.966575] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.972330] 4 ofpart partitions found on MTD device spi0.0
[    0.977959] Creating 4 MTD partitions on "spi0.0":
[    0.982777] 0x000000000000-0x000000100000 : "u-boot"
[    0.990467] 0x000000100000-0x000000110000 : "dtb"
[    0.997997] 0x000000110000-0x000000510000 : "kernel"
[    1.005613] 0x000000510000-0x000001000000 : "rootfs"
[    1.013867] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.020544] ehci-platform: EHCI generic platform driver
[    1.026193] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.032428] ohci-platform: OHCI generic platform driver
[    1.038194] usbcore: registered new interface driver usb-storage
[    1.046467] input: 1c23400.lradc as /devices/platform/soc/1c23400.lradc/input/input0
[    1.056980] input: 1c24800.rtp as /devices/platform/soc/1c24800.rtp/input/input1
[    1.065461] i2c /dev entries driver
[    3.125051] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[    3.131614] rtc-pcf8563 0-0051: pcf8563_write_block_data: err=-110 addr=0e, data=03
[    3.139325] rtc-pcf8563 0-0051: pcf8563_probe: write error
[    3.144934] rtc-pcf8563: probe of 0-0051 failed with error -5
[    3.153188] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    3.215112] sunxi-mmc 1c0f000.mmc: base:0xcffafbc9 irq:20
[    3.222947] usbcore: registered new interface driver usbhid
[    3.228666] usbhid: USB HID core driver
[    3.251896] NET: Registered protocol family 17
[    3.256750] Key type dns_resolver registered
[    3.263278] Loading compiled-in X.509 certificates
[    3.280221] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0739cb8)
[    3.289139] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc0738f9c)
[    3.296925] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    3.303536] [drm] No driver support for vblank timestamp query.
[    3.502927] Console: switching to colour frame buffer device 100x30
[    3.541741] sun4i-drm display-engine: fb0:  frame buffer device
[    3.548986] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[    3.558294] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    3.570331] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    3.576273] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[    3.586688] hub 1-0:1.0: USB hub found
[    3.590637] hub 1-0:1.0: 1 port detected
[    3.596699] hctosys: unable to open rtc device (rtc0)
[    3.602256] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.619720] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.626561] ALSA device list:
[    3.629602]   #0: Loopback 1
[    3.633417] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.642148] cfg80211: failed to load regulatory.db
[    3.736825] random: crng init done
[    5.307121] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[    5.316115] devtmpfs: mounted
[    5.326284] Freeing unused kernel memory: 1024K
[   14.927256] file system registered
[   15.229620] uart closed, irq=27 ..................... 
[   16.252087] read descriptors
[   16.255210] read strings
[   16.258031] g_ffs gadget: g_ffs ready
# 
# 

离线

#2 2019-10-25 15:30:42

晕哥
管理员
所在地: wechat: whycan_cn
注册时间: 2017-09-06
已发帖子: 9,473
积分: 9207

Re: 求助F1c100s声卡问题

司徒的miyoo kernel 可以播放声音: https://github.com/qq516333132/f1c500s_kernel

前面 @傅伟清 已经放弃治疗了, 改用 tina3.x





离线

楼主 #3 2019-10-25 15:47:56

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

晕哥 wrote:

司徒的miyoo kernel 可以播放声音: https://github.com/qq516333132/f1c500s_kernel

前面 @傅伟清 已经放弃治疗了, 改用 tina3.x

  1. 这个问题是出在哪里了?内核么?

  2. @傅伟清 已经放弃了,用tinyalsa可以了么,意思是alsa在这个nano上不行,还是哪里不对?

离线

#4 2019-10-25 16:05:35

晕哥
管理员
所在地: wechat: whycan_cn
注册时间: 2017-09-06
已发帖子: 9,473
积分: 9207

Re: 求助F1c100s声卡问题

  1. 不知道,你对你一下代码吧, 只要花点时间应该可以搞定

  2. 应该是驱动没怼好





离线

楼主 #5 2019-10-25 17:45:06

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

晕哥 wrote:

  1. 不知道,你对你一下代码吧, 只要花点时间应该可以搞定

  2. 应该是驱动没怼好

我发现他的设备树里有codec相关的,suniv-f1c500s-miyoo.dts
&codec {
status = "okay";
};

而我当前板子里的dtb里面没有codec相关,可能是这个原因么?

离线

#6 2019-10-25 17:48:41

晕哥
管理员
所在地: wechat: whycan_cn
注册时间: 2017-09-06
已发帖子: 9,473
积分: 9207

Re: 求助F1c100s声卡问题

可能在包涵的 dtsi 文件里面





离线

楼主 #7 2019-10-25 17:52:08

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

晕哥 wrote:

可能在包涵的 dtsi 文件里面

我把dtb转为dts,dtsi会全部展开,里面并没有codec,

suniv-f1c100s-licheepi-nano-800480.dtb ---> suniv-f1c100s-licheepi-nano-800480.dts
<code>
/dts-v1/;

/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
model = "Lichee Pi Nano";
compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s", "allwinner,suniv";

clocks {
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

clk-24M {
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x16e3600>;
clock-output-names = "osc24M";
phandle = <0x6>;
};

clk-32k {
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x8000>;
clock-output-names = "osc32k";
phandle = <0xb>;
};

clk-100M {
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x5f5e100>;
clock-output-names = "fake-100M";
};
};

cpus {
#address-cells = <0x0>;
#size-cells = <0x0>;

cpu {
compatible = "arm,arm926ej-s";
device_type = "cpu";
};
};

display-engine {
compatible = "allwinner,suniv-display-engine";
allwinner,pipelines = <0x2>;
status = "okay";
};

soc {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

sram-controller@1c00000 {
compatible = "allwinner,sun4i-a10-sram-controller";
reg = <0x1c00000 0x30>;
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

sram@10000 {
compatible = "mmio-sram";
reg = <0x10000 0x1000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges = <0x0 0x10000 0x1000>;

sram-section@0 {
compatible = "allwinner,sun4i-a10-sram-d";
reg = <0x0 0x1000>;
status = "okay";
phandle = <0x13>;
};
};
};

lradc@1c23400 {
compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x1c23400 0x400>;
interrupts = <0x16>;
status = "okay";
vref-supply = <0x3>;

button@200 {
label = "Volume Up";
linux,code = <0x73>;
channel = <0x0>;
voltage = <0x30d40>;
};

button@400 {
label = "Volume Down";
linux,code = <0x72>;
channel = <0x0>;
voltage = <0x61a80>;
};

button@600 {
label = "Select";
linux,code = <0x161>;
channel = <0x0>;
voltage = <0x927c0>;
};

button@800 {
label = "Start";
linux,code = <0x160>;
channel = <0x0>;
voltage = <0xc3500>;
};
};

spi@1c05000 {
compatible = "allwinner,suniv-spi", "allwinner,sun8i-h3-spi";
reg = <0x1c05000 0x1000>;
interrupts = <0xa>;
clocks = <0x4 0x11 0x4 0x11>;
clock-names = "ahb", "mod";
resets = <0x4 0x4>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;
pinctrl-names = "default";
pinctrl-0 = <0x5>;

flash@0 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0x0>;
spi-max-frequency = <0x2625a00>;

partitions {
compatible = "fixed-partitions";
#address-cells = <0x1>;
#size-cells = <0x1>;

partition@0 {
label = "u-boot";
reg = <0x0 0x100000>;
read-only;
};

partition@100000 {
label = "dtb";
reg = <0x100000 0x10000>;
read-only;
};

partition@110000 {
label = "kernel";
reg = <0x110000 0x400000>;
read-only;
};

partition@510000 {
label = "rootfs";
reg = <0x510000 0xaf0000>;
};
};
};
};

spi@1c06000 {
compatible = "allwinner,suniv-spi", "allwinner,sun8i-h3-spi";
reg = <0x1c06000 0x1000>;
interrupts = <0xb>;
clocks = <0x4 0x12 0x4 0x12>;
clock-names = "ahb", "mod";
resets = <0x4 0x5>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};

lcd-controller@1c0c000 {
compatible = "allwinner,suniv-tcon";
reg = <0x1c0c000 0x1000>;
interrupts = <0x1d>;
clocks = <0x4 0x15 0x4 0x39 0x6>;
clock-names = "ahb", "tcon-ch0", "tcon-ch1";
clock-output-names = "tcon-pixel-clock";
resets = <0x4 0x8>;
reset-names = "lcd";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x7>;

ports {
#address-cells = <0x1>;
#size-cells = <0x0>;

port@0 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x8>;
phandle = <0x16>;
};
};

port@1 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x9>;
phandle = <0x17>;
};
};
};
};

mmc@1c0f000 {
compatible = "allwinner,suniv-mmc", "allwinner,sun7i-a20-mmc";
reg = <0x1c0f000 0x1000>;
clocks = <0x4 0xe 0x4 0x28 0x4 0x2a 0x4 0x29>;
clock-names = "ahb", "mmc", "output", "sample";
resets = <0x4 0x1>;
reset-names = "ahb";
interrupts = <0x17>;
pinctrl-names = "default";
pinctrl-0 = <0xa>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;
vmmc-supply = <0x3>;
bus-width = <0x4>;
broken-cd;
};

mmc@1c10000 {
compatible = "allwinner,suniv-mmc", "allwinner,sun7i-a20-mmc";
reg = <0x1c10000 0x1000>;
clocks = <0x4 0xf 0x4 0x2b 0x4 0x2d 0x4 0x2c>;
clock-names = "ahb", "mmc", "output", "sample";
resets = <0x4 0x2>;
reset-names = "ahb";
interrupts = <0x18>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};

clock@1c20000 {
compatible = "allwinner,suniv-ccu";
reg = <0x1c20000 0x400>;
clocks = <0x6 0xb>;
clock-names = "hosc", "losc";
#clock-cells = <0x1>;
#reset-cells = <0x1>;
phandle = <0x4>;
};

interrupt-controller@1c20400 {
compatible = "allwinner,suniv-ic";
reg = <0x1c20400 0x400>;
interrupt-controller;
#interrupt-cells = <0x1>;
phandle = <0x1>;
};

pinctrl@1c20800 {
compatible = "allwinner,suniv-pinctrl";
reg = <0x1c20800 0x400>;
interrupts = <0x26 0x27 0x28>;
clocks = <0x4 0x24 0x6 0xb>;
clock-names = "apb", "hosc", "losc";
gpio-controller;
interrupt-controller;
#interrupt-cells = <0x3>;
#gpio-cells = <0x3>;
phandle = <0xd>;

spi0-pins-pc {
pins = "PC0", "PC1", "PC2", "PC3";
function = "spi0";
phandle = <0x5>;
};

lcd-rgb666-pins {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21";
function = "lcd";
phandle = <0x7>;
};

rtp-pins {
pins = "PA0", "PA1", "PA2", "PA3";
function = "rtp";
phandle = <0xe>;
};

uart-pins-pe {
pins = "PE0", "PE1";
function = "uart0";
phandle = <0x10>;
};

uart-pins-pe78 {
pins = "PE7", "PE8";
function = "uart2";
phandle = <0x11>;
};

i2c0 {
pins = "PE11", "PE12";
function = "i2c0";
phandle = <0xc>;
};

mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
function = "mmc0";
phandle = <0xa>;
};

pwm0 {
pins = "PE12";
function = "pwm0";
};

pwm1 {
pins = "PE6";
function = "pwm1";
phandle = <0xf>;
};
};

i2c@1C27000 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x1c27000 0x400>;
interrupts = <0x7>;
clocks = <0x4 0x21>;
resets = <0x4 0x14>;
pinctrl-names = "default";
pinctrl-0 = <0xc>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;

rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};

touchscreen@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <0xd>;
interrupts = <0x4 0x3 0x2>;
pinctrl-names = "default";
irq-gpios = <0xd 0x4 0x3 0x0>;
reset-gpios = <0xd 0x4 0x9 0x0>;
touchscreen-swapped-x-y;
};

touchscreen@14 {
compatible = "goodix,gt911";
reg = <0x14>;
interrupt-parent = <0xd>;
interrupts = <0x4 0x3 0x2>;
pinctrl-names = "default";
irq-gpios = <0xd 0x4 0x3 0x0>;
reset-gpios = <0xd 0x4 0x9 0x0>;
touchscreen-swapped-x-y;
};
};

rtp@1c24800 {
compatible = "allwinner,sun4i-a10-ts";
reg = <0x1c24800 0x100>;
interrupts = <0x14>;
allwinner,ts-attached;
#thermal-sensor-cells = <0x0>;
pinctrl-names = "default";
pinctrl-0 = <0xe>;
status = "okay";
};

pwm@1c21000 {
compatible = "allwinner,sun7i-a20-pwm";
reg = <0x1c21000 0xc>;
clocks = <0x6>;
#pwm-cells = <0x3>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0xf>;
};

timer@1c20c00 {
compatible = "allwinner,suniv-timer";
reg = <0x1c20c00 0x90>;
interrupts = <0xd>;
clocks = <0x6>;
};

watchdog@1c20ca0 {
compatible = "allwinner,sun6i-a31-wdt";
reg = <0x1c20ca0 0x20>;
interrupts = <0x10>;
status = "okay";
};

serial@1c25000 {
compatible = "snps,dw-apb-uart";
reg = <0x1c25000 0x400>;
interrupts = <0x1>;
reg-shift = <0x2>;
reg-io-width = <0x4>;
clocks = <0x4 0x25>;
resets = <0x4 0x17>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x10>;
rts-gpio = <0xd 0x4 0x9 0x0>;
rs485-rts-active-high;
rs485-rts-delay = <0x0 0x0>;
linux,rs485-enabled-at-boot-time;
};

serial@1c25400 {
compatible = "snps,dw-apb-uart";
reg = <0x1c25400 0x400>;
interrupts = <0x2>;
reg-shift = <0x2>;
reg-io-width = <0x4>;
clocks = <0x4 0x26>;
resets = <0x4 0x18>;
status = "disabled";
};

serial@1c25800 {
compatible = "snps,dw-apb-uart";
reg = <0x1c25800 0x400>;
interrupts = <0x3>;
reg-shift = <0x2>;
reg-io-width = <0x4>;
clocks = <0x4 0x27>;
resets = <0x4 0x19>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x11>;
rts-gpio = <0xd 0x4 0xa 0x0>;
rs485-rts-active-high;
rs485-rts-delay = <0x0 0x0>;
linux,rs485-enabled-at-boot-time;
};

usb@1c13000 {
compatible = "allwinner,suniv-musb";
reg = <0x1c13000 0x400>;
clocks = <0x4 0x13>;
resets = <0x4 0x6>;
interrupts = <0x1a>;
interrupt-names = "mc";
phys = <0x12 0x0>;
phy-names = "usb";
extcon = <0x12 0x0>;
allwinner,sram = <0x13 0x1>;
status = "okay";
dr_mode = "otg";
};

phy@1c13400 {
compatible = "allwinner,suniv-usb-phy";
reg = <0x1c13400 0x10>;
reg-names = "phy_ctrl";
clocks = <0x4 0x30>;
clock-names = "usb0_phy";
resets = <0x4 0x0>;
reset-names = "usb0_reset";
#phy-cells = <0x1>;
status = "okay";
usb0_id_det-gpio = <0xd 0x4 0x2 0x0>;
phandle = <0x12>;
};

display-frontend@1e00000 {
compatible = "allwinner,suniv-display-frontend";
reg = <0x1e00000 0x20000>;
interrupts = <0x1e>;
clocks = <0x4 0x1b 0x4 0x38 0x4 0x35>;
clock-names = "ahb", "mod", "ram";
resets = <0x4 0xe>;
status = "disabled";
phandle = <0x2>;

ports {
#address-cells = <0x1>;
#size-cells = <0x0>;

port@1 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x14>;
phandle = <0x15>;
};
};
};
};

display-backend@1e60000 {
compatible = "allwinner,suniv-display-backend";
reg = <0x1e60000 0x10000>;
reg-names = "be";
interrupts = <0x1f>;
clocks = <0x4 0x1a 0x4 0x37 0x4 0x36>;
clock-names = "ahb", "mod", "ram";
resets = <0x4 0xd>;
reset-names = "be";
assigned-clocks = <0x4 0x37>;
assigned-clock-rates = <0x11e1a300>;

ports {
#address-cells = <0x1>;
#size-cells = <0x0>;

port@0 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x15>;
phandle = <0x14>;
};
};

port@1 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x16>;
phandle = <0x8>;
};
};
};
};
};

aliases {
serial0 = "/soc/serial@1c25000";
serial2 = "/soc/serial@1c25800";
spi0 = "/soc/spi@1c05000";
};

chosen {
stdout-path = "serial0:115200n8";
};

panel {
compatible = "okaya,rs800480t-7x0gp", "simple-panel";
#address-cells = <0x1>;
#size-cells = <0x0>;

port@0 {
reg = <0x0>;
#address-cells = <0x1>;
#size-cells = <0x0>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x17>;
phandle = <0x9>;
};
};
};

vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <0x325aa0>;
regulator-max-microvolt = <0x325aa0>;
phandle = <0x3>;
};
};

</code>

离线

楼主 #8 2019-10-25 17:59:10

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

晕哥 wrote:

可能在包涵的 dtsi 文件里面

在\f1c500s_kernel\sound\soc\里面发现suniv文件夹,好像是他自己增加的,官方的名字是sunxi,

\f1c500s_kernel\sound\soc\suniv\下面,他自己写了几个文件:
miyoo.c
Makefile
Kconfig

好像这才是F1c100s的codec驱动,目前不懂,推测的。

离线

#9 2019-10-25 18:36:59

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 856
积分: 697

Re: 求助F1c100s声卡问题

大帅 wrote:

晕哥 wrote:

可能在包涵的 dtsi 文件里面

在\f1c500s_kernel\sound\soc\里面发现suniv文件夹,好像是他自己增加的,官方的名字是sunxi,

\f1c500s_kernel\sound\soc\suniv\下面,他自己写了几个文件:
miyoo.c
Makefile
Kconfig

好像这才是F1c100s的codec驱动,目前不懂,推测的。

对就是这个,不过得研究一下源码,我编译成ko后,安装老是出错

离线

#10 2019-10-25 18:45:47

傅伟清
会员
注册时间: 2019-07-17
已发帖子: 39
积分: 39

Re: 求助F1c100s声卡问题

nano的sdk里和bsp比较是少音频驱动的,那个loopback无用,要不就移植,要不就只能换方案了,这是我之前比较的情况

离线

#11 2019-10-25 19:02:07

傅伟清
会员
注册时间: 2019-07-17
已发帖子: 39
积分: 39

Re: 求助F1c100s声卡问题


这是tina的声卡开机日志,司徒的手撸的,没深入研究过,而且没法直接上100s的

离线

楼主 #12 2019-10-25 21:29:37

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

傅伟清 wrote:

/files/members/1833/QQ图片20191025190053.png
这是tina的声卡开机日志,司徒的手撸的,没深入研究过,而且没法直接上100s的

  1. 我看的miyoo.c作者是不是司徒大佬?

  2. 你不是弄好了么?

  3. 没法直接上100s,意思是这个驱动是f1c500的,需要修改驱动源码才能在f1c100上用是么?

  4. tina声卡,是指tinyalsa吧, 不明白tinyalsa和alsa的区别,是不是如果底层硬件驱动好了话,这两都可以用没有啥区别?

刚未入门的小白,一下问得有点多,先谢谢大佬们的耐心解答!

离线

楼主 #13 2019-10-25 21:40:43

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

\f1c500s_kernel\sound\soc\suniv\下面,他自己写了几个文件:

好像这才是F1c100s的codec驱动,目前不懂,推测的。

对就是这个,不过得研究一下源码,我编译成ko后,安装老是出错

感觉只是编译ko不行吧,我猜测的,
你也是用在f1c100上么?
是不是500s和100s的codec的寄存器不一样,miyoo.c代码需要修改呢?

离线

#14 2019-10-25 21:51:10

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 856
积分: 697

Re: 求助F1c100s声卡问题

大帅 wrote:

晕哥 wrote:

可能在包涵的 dtsi 文件里面

我把dtb转为dts,dtsi会全部展开,里面并没有codec,

suniv-f1c100s-licheepi-nano-800480.dtb ---> suniv-f1c100s-licheepi-nano-800480.dts
<code>
/dts-v1/;

/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
interrupt-parent = <0x1>;
model = "Lichee Pi Nano";
compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s", "allwinner,suniv";

clocks {
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

clk-24M {
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x16e3600>;
clock-output-names = "osc24M";
phandle = <0x6>;
};

clk-32k {
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x8000>;
clock-output-names = "osc32k";
phandle = <0xb>;
};

clk-100M {
#clock-cells = <0x0>;
compatible = "fixed-clock";
clock-frequency = <0x5f5e100>;
clock-output-names = "fake-100M";
};
};

cpus {
#address-cells = <0x0>;
#size-cells = <0x0>;

cpu {
compatible = "arm,arm926ej-s";
device_type = "cpu";
};
};

display-engine {
compatible = "allwinner,suniv-display-engine";
allwinner,pipelines = <0x2>;
status = "okay";
};

soc {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

sram-controller@1c00000 {
compatible = "allwinner,sun4i-a10-sram-controller";
reg = <0x1c00000 0x30>;
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

sram@10000 {
compatible = "mmio-sram";
reg = <0x10000 0x1000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges = <0x0 0x10000 0x1000>;

sram-section@0 {
compatible = "allwinner,sun4i-a10-sram-d";
reg = <0x0 0x1000>;
status = "okay";
phandle = <0x13>;
};
};
};

lradc@1c23400 {
compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x1c23400 0x400>;
interrupts = <0x16>;
status = "okay";
vref-supply = <0x3>;

button@200 {
label = "Volume Up";
linux,code = <0x73>;
channel = <0x0>;
voltage = <0x30d40>;
};

button@400 {
label = "Volume Down";
linux,code = <0x72>;
channel = <0x0>;
voltage = <0x61a80>;
};

button@600 {
label = "Select";
linux,code = <0x161>;
channel = <0x0>;
voltage = <0x927c0>;
};

button@800 {
label = "Start";
linux,code = <0x160>;
channel = <0x0>;
voltage = <0xc3500>;
};
};

spi@1c05000 {
compatible = "allwinner,suniv-spi", "allwinner,sun8i-h3-spi";
reg = <0x1c05000 0x1000>;
interrupts = <0xa>;
clocks = <0x4 0x11 0x4 0x11>;
clock-names = "ahb", "mod";
resets = <0x4 0x4>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;
pinctrl-names = "default";
pinctrl-0 = <0x5>;

flash@0 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0x0>;
spi-max-frequency = <0x2625a00>;

partitions {
compatible = "fixed-partitions";
#address-cells = <0x1>;
#size-cells = <0x1>;

partition@0 {
label = "u-boot";
reg = <0x0 0x100000>;
read-only;
};

partition@100000 {
label = "dtb";
reg = <0x100000 0x10000>;
read-only;
};

partition@110000 {
label = "kernel";
reg = <0x110000 0x400000>;
read-only;
};

partition@510000 {
label = "rootfs";
reg = <0x510000 0xaf0000>;
};
};
};
};

spi@1c06000 {
compatible = "allwinner,suniv-spi", "allwinner,sun8i-h3-spi";
reg = <0x1c06000 0x1000>;
interrupts = <0xb>;
clocks = <0x4 0x12 0x4 0x12>;
clock-names = "ahb", "mod";
resets = <0x4 0x5>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};

lcd-controller@1c0c000 {
compatible = "allwinner,suniv-tcon";
reg = <0x1c0c000 0x1000>;
interrupts = <0x1d>;
clocks = <0x4 0x15 0x4 0x39 0x6>;
clock-names = "ahb", "tcon-ch0", "tcon-ch1";
clock-output-names = "tcon-pixel-clock";
resets = <0x4 0x8>;
reset-names = "lcd";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x7>;

ports {
#address-cells = <0x1>;
#size-cells = <0x0>;

port@0 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x8>;
phandle = <0x16>;
};
};

port@1 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x9>;
phandle = <0x17>;
};
};
};
};

mmc@1c0f000 {
compatible = "allwinner,suniv-mmc", "allwinner,sun7i-a20-mmc";
reg = <0x1c0f000 0x1000>;
clocks = <0x4 0xe 0x4 0x28 0x4 0x2a 0x4 0x29>;
clock-names = "ahb", "mmc", "output", "sample";
resets = <0x4 0x1>;
reset-names = "ahb";
interrupts = <0x17>;
pinctrl-names = "default";
pinctrl-0 = <0xa>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;
vmmc-supply = <0x3>;
bus-width = <0x4>;
broken-cd;
};

mmc@1c10000 {
compatible = "allwinner,suniv-mmc", "allwinner,sun7i-a20-mmc";
reg = <0x1c10000 0x1000>;
clocks = <0x4 0xf 0x4 0x2b 0x4 0x2d 0x4 0x2c>;
clock-names = "ahb", "mmc", "output", "sample";
resets = <0x4 0x2>;
reset-names = "ahb";
interrupts = <0x18>;
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
};

clock@1c20000 {
compatible = "allwinner,suniv-ccu";
reg = <0x1c20000 0x400>;
clocks = <0x6 0xb>;
clock-names = "hosc", "losc";
#clock-cells = <0x1>;
#reset-cells = <0x1>;
phandle = <0x4>;
};

interrupt-controller@1c20400 {
compatible = "allwinner,suniv-ic";
reg = <0x1c20400 0x400>;
interrupt-controller;
#interrupt-cells = <0x1>;
phandle = <0x1>;
};

pinctrl@1c20800 {
compatible = "allwinner,suniv-pinctrl";
reg = <0x1c20800 0x400>;
interrupts = <0x26 0x27 0x28>;
clocks = <0x4 0x24 0x6 0xb>;
clock-names = "apb", "hosc", "losc";
gpio-controller;
interrupt-controller;
#interrupt-cells = <0x3>;
#gpio-cells = <0x3>;
phandle = <0xd>;

spi0-pins-pc {
pins = "PC0", "PC1", "PC2", "PC3";
function = "spi0";
phandle = <0x5>;
};

lcd-rgb666-pins {
pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21";
function = "lcd";
phandle = <0x7>;
};

rtp-pins {
pins = "PA0", "PA1", "PA2", "PA3";
function = "rtp";
phandle = <0xe>;
};

uart-pins-pe {
pins = "PE0", "PE1";
function = "uart0";
phandle = <0x10>;
};

uart-pins-pe78 {
pins = "PE7", "PE8";
function = "uart2";
phandle = <0x11>;
};

i2c0 {
pins = "PE11", "PE12";
function = "i2c0";
phandle = <0xc>;
};

mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
function = "mmc0";
phandle = <0xa>;
};

pwm0 {
pins = "PE12";
function = "pwm0";
};

pwm1 {
pins = "PE6";
function = "pwm1";
phandle = <0xf>;
};
};

i2c@1C27000 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x1c27000 0x400>;
interrupts = <0x7>;
clocks = <0x4 0x21>;
resets = <0x4 0x14>;
pinctrl-names = "default";
pinctrl-0 = <0xc>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;

rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};

touchscreen@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
interrupt-parent = <0xd>;
interrupts = <0x4 0x3 0x2>;
pinctrl-names = "default";
irq-gpios = <0xd 0x4 0x3 0x0>;
reset-gpios = <0xd 0x4 0x9 0x0>;
touchscreen-swapped-x-y;
};

touchscreen@14 {
compatible = "goodix,gt911";
reg = <0x14>;
interrupt-parent = <0xd>;
interrupts = <0x4 0x3 0x2>;
pinctrl-names = "default";
irq-gpios = <0xd 0x4 0x3 0x0>;
reset-gpios = <0xd 0x4 0x9 0x0>;
touchscreen-swapped-x-y;
};
};

rtp@1c24800 {
compatible = "allwinner,sun4i-a10-ts";
reg = <0x1c24800 0x100>;
interrupts = <0x14>;
allwinner,ts-attached;
#thermal-sensor-cells = <0x0>;
pinctrl-names = "default";
pinctrl-0 = <0xe>;
status = "okay";
};

pwm@1c21000 {
compatible = "allwinner,sun7i-a20-pwm";
reg = <0x1c21000 0xc>;
clocks = <0x6>;
#pwm-cells = <0x3>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0xf>;
};

timer@1c20c00 {
compatible = "allwinner,suniv-timer";
reg = <0x1c20c00 0x90>;
interrupts = <0xd>;
clocks = <0x6>;
};

watchdog@1c20ca0 {
compatible = "allwinner,sun6i-a31-wdt";
reg = <0x1c20ca0 0x20>;
interrupts = <0x10>;
status = "okay";
};

serial@1c25000 {
compatible = "snps,dw-apb-uart";
reg = <0x1c25000 0x400>;
interrupts = <0x1>;
reg-shift = <0x2>;
reg-io-width = <0x4>;
clocks = <0x4 0x25>;
resets = <0x4 0x17>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x10>;
rts-gpio = <0xd 0x4 0x9 0x0>;
rs485-rts-active-high;
rs485-rts-delay = <0x0 0x0>;
linux,rs485-enabled-at-boot-time;
};

serial@1c25400 {
compatible = "snps,dw-apb-uart";
reg = <0x1c25400 0x400>;
interrupts = <0x2>;
reg-shift = <0x2>;
reg-io-width = <0x4>;
clocks = <0x4 0x26>;
resets = <0x4 0x18>;
status = "disabled";
};

serial@1c25800 {
compatible = "snps,dw-apb-uart";
reg = <0x1c25800 0x400>;
interrupts = <0x3>;
reg-shift = <0x2>;
reg-io-width = <0x4>;
clocks = <0x4 0x27>;
resets = <0x4 0x19>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x11>;
rts-gpio = <0xd 0x4 0xa 0x0>;
rs485-rts-active-high;
rs485-rts-delay = <0x0 0x0>;
linux,rs485-enabled-at-boot-time;
};

usb@1c13000 {
compatible = "allwinner,suniv-musb";
reg = <0x1c13000 0x400>;
clocks = <0x4 0x13>;
resets = <0x4 0x6>;
interrupts = <0x1a>;
interrupt-names = "mc";
phys = <0x12 0x0>;
phy-names = "usb";
extcon = <0x12 0x0>;
allwinner,sram = <0x13 0x1>;
status = "okay";
dr_mode = "otg";
};

phy@1c13400 {
compatible = "allwinner,suniv-usb-phy";
reg = <0x1c13400 0x10>;
reg-names = "phy_ctrl";
clocks = <0x4 0x30>;
clock-names = "usb0_phy";
resets = <0x4 0x0>;
reset-names = "usb0_reset";
#phy-cells = <0x1>;
status = "okay";
usb0_id_det-gpio = <0xd 0x4 0x2 0x0>;
phandle = <0x12>;
};

display-frontend@1e00000 {
compatible = "allwinner,suniv-display-frontend";
reg = <0x1e00000 0x20000>;
interrupts = <0x1e>;
clocks = <0x4 0x1b 0x4 0x38 0x4 0x35>;
clock-names = "ahb", "mod", "ram";
resets = <0x4 0xe>;
status = "disabled";
phandle = <0x2>;

ports {
#address-cells = <0x1>;
#size-cells = <0x0>;

port@1 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x14>;
phandle = <0x15>;
};
};
};
};

display-backend@1e60000 {
compatible = "allwinner,suniv-display-backend";
reg = <0x1e60000 0x10000>;
reg-names = "be";
interrupts = <0x1f>;
clocks = <0x4 0x1a 0x4 0x37 0x4 0x36>;
clock-names = "ahb", "mod", "ram";
resets = <0x4 0xd>;
reset-names = "be";
assigned-clocks = <0x4 0x37>;
assigned-clock-rates = <0x11e1a300>;

ports {
#address-cells = <0x1>;
#size-cells = <0x0>;

port@0 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x15>;
phandle = <0x14>;
};
};

port@1 {
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x16>;
phandle = <0x8>;
};
};
};
};
};

aliases {
serial0 = "/soc/serial@1c25000";
serial2 = "/soc/serial@1c25800";
spi0 = "/soc/spi@1c05000";
};

chosen {
stdout-path = "serial0:115200n8";
};

panel {
compatible = "okaya,rs800480t-7x0gp", "simple-panel";
#address-cells = <0x1>;
#size-cells = <0x0>;

port@0 {
reg = <0x0>;
#address-cells = <0x1>;
#size-cells = <0x0>;

endpoint@0 {
reg = <0x0>;
remote-endpoint = <0x17>;
phandle = <0x9>;
};
};
};

vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <0x325aa0>;
regulator-max-microvolt = <0x325aa0>;
phandle = <0x3>;
};
};

</code>

应该是不用设置codec,只要设置好pwm就行。codec只要在linux做好驱动就行了

离线

楼主 #15 2019-10-28 15:18:41

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: 求助F1c100s声卡问题

kekemuyu wrote:

大帅 wrote:

晕哥 wrote:

可能在包涵的 dtsi 文件里面

在\f1c500s_kernel\sound\soc\里面发现suniv文件夹,好像是他自己增加的,官方的名字是sunxi,

\f1c500s_kernel\sound\soc\suniv\下面,他自己写了几个文件:
miyoo.c
Makefile
Kconfig

好像这才是F1c100s的codec驱动,目前不懂,推测的。

对就是这个,不过得研究一下源码,我编译成ko后,安装老是出错

@kekemuyu 老兄,你安装出错,错误是啥? 是不是自动创建设备节点的时候错了?

最近编辑记录 大帅 (2019-10-28 15:19:29)

离线

#16 2019-10-28 16:35:16

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 856
积分: 697

Re: 求助F1c100s声卡问题

大帅 wrote:

kekemuyu wrote:

大帅 wrote:

在\f1c500s_kernel\sound\soc\里面发现suniv文件夹,好像是他自己增加的,官方的名字是sunxi,

\f1c500s_kernel\sound\soc\suniv\下面,他自己写了几个文件:
miyoo.c
Makefile
Kconfig

好像这才是F1c100s的codec驱动,目前不懂,推测的。

对就是这个,不过得研究一下源码,我编译成ko后,安装老是出错

@kekemuyu 老兄,你安装出错,错误是啥? 是不是自动创建设备节点的时候错了?

我是把miyoo得声卡驱动源码在主线4.15内核编译得,由于主线4.15内核得配置和miyoo内核配置不一样,所以安装失败。需要检查miyoo得内核配置和主线内核配置哪里不同。

离线

#17 2020-04-22 18:32:32

wammaw1314
会员
注册时间: 2020-04-22
已发帖子: 7
积分: 7

Re: 求助F1c100s声卡问题

可以看下这个 https://whycan.cn/t_2041.html

离线

#18 2021-10-09 14:03:42

deeyi
会员
注册时间: 2021-10-02
已发帖子: 7
积分: 1.5

Re: 求助F1c100s声卡问题

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

#19 2022-07-01 13:16:49

黑蛋
会员
注册时间: 2022-07-01
已发帖子: 8
积分: 13

Re: 求助F1c100s声卡问题

求一份nes移植教程,为什么我老是报错那个声卡

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发