页次: 1
有没有v3s sd卡squashfs+overlay的配置和启动说明?
楼主 这个可以播放h264的mp4视频吗 有没有demo可以测试?
之前因为要用的921600的波特率所以修改了分频,分频后串口为120M。然后有时候会出现如下报错
https://whycan.com/files/members/6914/QQ截图20211026145940.png
请问您的问题解决了吗 921600是否可以正常通信了?
@yuleniwo
我也遇到同样的问题 不到您有没有解决rtc的问题
以下由 @哇酷小二 2020-07-21 添加:
----------------------------------------------
楼主的问题已解决, 关于v3s关机后,使用后备电池时钟不跑的解决方法:
https://whycan.cn/t_4909.html
测试并不能断电走时 而且hwclock -w保存的时候报错 如下:
# hwclock -w
[ 36.460462] sun6i-rtc 1c20400.rtc: rtc is still busy.
hwclock: RTC_SET_TIME: Device or resource busy
不知道大牛有没有解决
1.内核中usb相关配置:
USB support │ │
│ │ <*> Support for Host-side USB
│ │ <*> EHCI HCD (USB 2.0) support
│ │ <*> Generic EHCI driver for a platform device │ │
│ │ <*> OXU210HP HCD support │ │
│ │ <*> ISP116X HCD support │ │
│ │ <*> FOTG210 HCD support │ │
│ │ < > MAX3421 HCD (USB-over-SPI) support │ │
│ │ <*> OHCI HCD (USB 1.1) support │ │
│ │ <*> Generic OHCI driver for a platform device │ │
│ │ <*> SL811HS HCD support
│ │ <*> USB Mass Storage support
2.USB热插拔配置:
> Device Drivers > Generic Driver Options >Generic Driver Options
│ │ [ * ] Support for uevent helper
打开之后会出现/proc/sys/kernel/hotplug设备,可解决hotplug不存在的问题 ;
3.buildroot中busybox有关mdev配置
buildroot中执行如下命令
#make busybox-menuconfig
选择
Linux System Utilities --->
[ * ]mdev
[ * ] Support /etc/mdev.conf
[ * ] Support subdirs/symlinks
[ * ] Support regular expressions substitutions when renaming device
[ * ] Support command execution at device addition/removal
[ * ] Support loading of firmwares
4. /etc/init.d/rcS中增加如下配置
echo /sbin/mdev > /proc/sys/kernel/hotplug
5.在/etc/下建立mdev.conf的文件,添加如下配置:
sd[a-z][0-9] 0:0 666 @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)
sd[a-z] 0:0 666 $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)
ub[a-z][0-9] 0:0 666 @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)
ub[a-z] 0:0 666 $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)
mmcblk[0-9]p[0-9] 0:0 666 @(/etc/hotplug/insert.sh $MDEV $SUBSYSTEM)
mmcblk[0-9] 0:0 666 $(/etc/hotplug/remove.sh $MDEV $SUBSYSTEM)
6.在/etc/下建立以下文件夹hotplug,并在hotplug目录下建立insert.sh和remove.sh文件,并填下如下脚本文件:
insert.sh:
if [ -n "$1" ] ; then
if [ -b /dev/$1 ]; then
if [ ! -d /media ]; then
mkdir -p /media
fi
if [ ! -d /media/$1 ]; then
mkdir -p /media/$1
fi
mount /dev/$1 /media/$1
if [ $? -ne 0 ]; then
rm -rf /media/$1
fi
fi
fi
remove.sh:
MOUNTS=$(mount | grep $1 | cut -d' ' -f3)
umount $MOUNTS
rm -rf $MOUNTS
重启设备,插入U盘可以自动挂载到/media目录,亲测可正常挂载和卸载;
挂载:
卸载:
自己编译的kernel,没有/proc/sys/kernel/hotplug文件,搜索内核的.config文件,也没有CONFIG_HOTPLUG选项,看到有人说新内核已经取消了这个CONFIG_HOTPLUG选项,默认已经开启了。
有哪位大神能指导一下?
/proc/sys/kernel/hotplug不存在的问题您解决了吗啊 Linux5.2中没有usb hotplug的设置啊
感谢各位,此贴已收录到精华帖合集: https://whycan.cn/t_3019.html
没有/proc/sys/kernel/hotplug文件,内核中也找不到usb热插拔的配置;内核是5.2的;晕哥有解决办法吗;
地址能再发一下吗 已经失效了 另外在uboot中将logo.bmp中加载到内存了 怎么在uboot中进行显示啊 望不吝赐教 谢谢
hanzixi_angel 说:经过多次对比测试推测定位已经是中断没有触发的原因 推测应该是中断配置的问题 对比测试linux5.2.y是可以正常使用的 对比查看linux/drivers/pinctrl/sunxi/pinctrl-sun8i-v3s.c中有关中断的配置跟Linux4.10.y是不一样的
5.2.y中如下:
static const struct sunxi_pinctrl_desc sun8i_v3s_pinctrl_data = {
.pins = sun8i_v3s_pins,
.npins = ARRAY_SIZE(sun8i_v3s_pins),
.irq_banks = 2,
.irq_bank_map = sun8i_v3s_pinctrl_irq_bank_map,
.irq_read_needs_mux = true
};4.10.y中如下:
static const struct sunxi_pinctrl_desc sun8i_v3s_pinctrl_data = {
.pins = sun8i_v3s_pins,
.npins = ARRAY_SIZE(sun8i_v3s_pins),
.irq_banks = 2,
.irq_read_needs_mux = true
};在4.10.y中增加.irq_bank_base = 1即可正常触发中断
更改过后如下:
static const struct sunxi_pinctrl_desc sun8i_v3s_pinctrl_data = {
.pins = sun8i_v3s_pins,
.npins = ARRAY_SIZE(sun8i_v3s_pins),
.irq_banks = 2,
.irq_bank_base = 1,
.irq_read_needs_mux = true
};至此4.10.y可以正常触发触摸中断了,gt911可以正常读取坐标点数据; 鉴于4.10.y的一些坑 本人目前已经切到5.2.y系统 也顺应解决了usb otg不能自动切换的问题 大家有需要的可以参考下 此坑已填
楼主你最终自己写的驱动嘛,没有使用内核自带的驱动?我最近也在弄V3S+GT911这块东西,望不吝赐教
我使用的就是内核自带的gt911驱动 设备树是用的licheepi的 可以正常使用
之前也遇到过几次 不过一次发现是进入了uboot 原因是手碰到了串口的tx和rx 可能导致短接进入了uboot rtx晶振不起振这是真的 我也发现了 难道用的是内部时钟?
启动速度可以达到1S内吗?
我觉得肯定不止1s 不支持sd nand 启动速度快不了
这个好像可以直接硬解视频了
这个支持sd卡启动吗 是不是不支持啊
有烧写SD Nand的软件吗 楼主
不错不错 相当给力
@hanzixi_angel 重新上传, 可以下载了, 您再试一试。
可以了 非常感谢
hanzixi_angel 说:晕哥 说:https://whycan.cn/files/members/3/QQ20190512224150.png
借用华嵌的转接板, 明天应该可以收到空板
晕哥 这个空板从哪领啊 能发个链接吗 谢谢了
电脑找不到了, 在JLC下载下来的: HQ_CTOUCH_FT_Gerber.rar
您好 下载之后打开提示文件损坏 文件大小为0 是不是上传有问题? 从JLC哪个地方下载起来的 没有找到 是开源样板吗 能发个链接吗 或者重新上传一下文件也行 谢了
https://whycan.cn/files/members/3/QQ20190512224150.png
借用华嵌的转接板, 明天应该可以收到空板
晕哥 这个空板从哪领啊 能发个链接吗 谢谢了
看来是焊接的问题了,换另一个板子就好很多,看看效果
https://whycan.com/files/members/3824/3da205dca3ebe2ed9914bc5c921a5ea3.mp4
视频播放CPU占用率90%以上的问题能不能解决下?
坐等新年礼物
hanzixi_angel 说:ocean 说:因为 我需要驱动一款网卡,这款的网卡的驱动,目前最高只能在4.10上运行,更高版本的kernel,一部分无线接口换了,需要移植,但是网卡驱动这种东西,看了下,要移植到4.14需要动一堆东西,不敢随便动。
目前的问题是 4.10 下这个网卡可以驱动,但是有线跑不起来,很蛋疼你是无线网卡吗? 有些接口确实变了 编译会报错 自带的以太网驱动我用的是5.2.y 可以直接用
老兄,能发一下长支持版本的连接吗?或者5.2.y 也行,我也遇到同样的问题呀!!!!先谢谢了
https://github.com/Lichee-Pi/linux/tree/zero-5.2.y
这个网口是可以正常使用的
厉害厉害
TF卡固件下载: sysimage-sdcard.7z
直接通过 USB RNDIS 联网,
装好RNDIS驱动之后,USB线插入电脑, 电脑自动生成RNDIS网卡,自动获取IP地址.
网页打开 http://192.168.7.1:8080/ 即可。
(无需网线插入RJ45口,只要插入USB就行口)
真实网口插入网线之后USB RNDIS虚拟网卡就ping不通了 有没有遇到过这样的问题
hanzixi_angel 说:晕哥 说:这个问题我以前也纳闷过,
后来发现 u-boot的 common/fdt_support.c 里面有 fdt_setup_simplefb_node()这个函数,
他居然会自己创建设备树, 然后传递给Linux用,赶脚好神奇!晕哥 如何使用de功能 在Linux设备树中更改lcd屏幕的参数 现在都是更改linux/drivers/gpu/drm/panel/panel-simple.c源码 然后编译镜像之后烧写 以后会有多种屏幕 这样不太方便 最好只修改设备树 在设备树配置参数 只更换设备树即可 这样最好
你的de功能正常了吗?
de功能正常啊 修改了linux/drivers/gpu/drm/panel/panel-simple.c源码 适配了屏幕 但是这样修改不太好 想只修改设备树 在设备树增加屏幕参数
这个问题我以前也纳闷过,
后来发现 u-boot的 common/fdt_support.c 里面有 fdt_setup_simplefb_node()这个函数,
他居然会自己创建设备树, 然后传递给Linux用,赶脚好神奇!
晕哥 如何使用de功能 在Linux设备树中更改lcd屏幕的参数 现在都是更改linux/drivers/gpu/drm/panel/panel-simple.c源码 然后编译镜像之后烧写 以后会有多种屏幕 这样不太方便 最好只修改设备树 在设备树配置参数 只更换设备树即可 这样最好
不想换内核的话。修改/drivers/gpu/drm/sun4i/sun4i_tcon.c
-tcon->dclk_min_div = 6;
+tcon->dclk_min_div = 1;
这个就是分频设置了吧
我使用5,2的内核
我使用的也是5.2的内核 您是从那个地址clone的?
echo 0 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 1 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 7 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 6 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 5 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 4 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 3 > /sys/devices/platform/backlight/backlight/backlight/brightness
echo 0 > /sys/class/backlight/backlight/brightness echo 1 > /sys/class/backlight/backlight/brightness echo 2 > /sys/class/backlight/backlight/brightness echo 3 > /sys/class/backlight/backlight/brightness echo 4 > /sys/class/backlight/backlight/brightness echo 5 > /sys/class/backlight/backlight/brightness echo 6 > /sys/class/backlight/backlight/brightness echo 7 > /sys/class/backlight/backlight/brightness echo 8 > /sys/class/backlight/backlight/brightness echo 9 > /sys/class/backlight/backlight/brightness
刚刚试了一下, V3s linux4.13-y 背光有反应
我昨晚测试了一下荔枝派zero 他们使用的是pb4作为背光 测试确实是可以调节背光的 但是我使用的pb5就死活不行 不知道是不是还需要哪里配置 另外必须在uboot中指定背光为pb4 如果不指定的话也是不行的 您帮忙测试下pb5作为背光的调节吗 是不是哪里还需要配置 我目前没有找到配置点 谢谢
不用搞了,直接换新的内核,虽然我知道是那里问题,根本问题不在设备树
根本问题在哪 能指点一二吗 使用哪个内核?
关键文件加密就行了,没必要整个文件系统加密
怎么个加密方法呢? 能不能做到这个sd nand的数据拷贝到另一个sd nand之后无法启动? 就是换一个cpu芯片不让系统或者app运行? 可以做到吗?
楼主研究精神可嘉
踩坑嘛 没有办法
经过多次对比测试推测定位已经是中断没有触发的原因 推测应该是中断配置的问题 对比测试linux5.2.y是可以正常使用的 对比查看linux/drivers/pinctrl/sunxi/pinctrl-sun8i-v3s.c中有关中断的配置跟Linux4.10.y是不一样的
5.2.y中如下:
static const struct sunxi_pinctrl_desc sun8i_v3s_pinctrl_data = {
.pins = sun8i_v3s_pins,
.npins = ARRAY_SIZE(sun8i_v3s_pins),
.irq_banks = 2,
.irq_bank_map = sun8i_v3s_pinctrl_irq_bank_map,
.irq_read_needs_mux = true
};
4.10.y中如下:
static const struct sunxi_pinctrl_desc sun8i_v3s_pinctrl_data = {
.pins = sun8i_v3s_pins,
.npins = ARRAY_SIZE(sun8i_v3s_pins),
.irq_banks = 2,
.irq_read_needs_mux = true
};
在4.10.y中增加.irq_bank_base = 1即可正常触发中断
更改过后如下:
static const struct sunxi_pinctrl_desc sun8i_v3s_pinctrl_data = {
.pins = sun8i_v3s_pins,
.npins = ARRAY_SIZE(sun8i_v3s_pins),
.irq_banks = 2,
.irq_bank_base = 1,
.irq_read_needs_mux = true
};
至此4.10.y可以正常触发触摸中断了,gt911可以正常读取坐标点数据; 鉴于4.10.y的一些坑 本人目前已经切到5.2.y系统 也顺应解决了usb otg不能自动切换的问题 大家有需要的可以参考下 此坑已填
mixer0: mixer@1100000 {
compatible = "allwinner,sun8i-v3s-de2-mixer";
reg = <0x01100000 0x100000>;
clocks = <&display_clocks 0>,
<&display_clocks 6>;
clock-names = "bus",
"mod";
resets = <&display_clocks 0>;
assigned-clocks = <&display_clocks 6>;
//assigned-clock-rates = <150000000>;
assigned-clock-rates = <200000000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
mixer0_out: port@1 {
reg = <1>;
mixer0_out_tcon0: endpoint {
remote-endpoint = <&tcon0_in_mixer0>;
};
};
};
};
经过查看设备树以及对比测试发现 lcd的时钟被降到25Mhz 发现正好是mixer0中时钟频率150M的6分频 然后将assigned-clock-rates的150M改为200M之后解决 测量发现时钟正好是33.3M 正好符合7寸屏的时钟需求 大家如果使用de驱动液晶屏的话如果出现屏幕抖动的问题可以参考下
echo 0 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 1 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 7 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 6 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 5 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 4 > /sys/devices/platform/backlight/backlight/backlight/brightness echo 3 > /sys/devices/platform/backlight/backlight/backlight/brightness
echo 0 > /sys/class/backlight/backlight/brightness echo 1 > /sys/class/backlight/backlight/brightness echo 2 > /sys/class/backlight/backlight/brightness echo 3 > /sys/class/backlight/backlight/brightness echo 4 > /sys/class/backlight/backlight/brightness echo 5 > /sys/class/backlight/backlight/brightness echo 6 > /sys/class/backlight/backlight/brightness echo 7 > /sys/class/backlight/backlight/brightness echo 8 > /sys/class/backlight/backlight/brightness echo 9 > /sys/class/backlight/backlight/brightness
刚刚试了一下, V3s linux4.13-y 背光有反应
打开了 跟pwm的设置都打开了 单独控制pwm没有问题
CONFIG_BACKLIGHT_CLASS_DEVICE=y
ONFIG_BACKLIGHT_GENERIC=y
CONFIG_BACKLIGHT_PWM=y
回头测下zero开发板 开发板用的是pb4 我用的是pb5 pwm可以单独控制 那背光应该也是可以的
0 4 8 16 32 64 128 255
这几组数字呢?
这几组也不行 没有任何效果 不i知道是不是又其他地方需要使能啊 单独使用pwm是可以的
我的配置如下:
backlight: backlight {
compatible = "pwm-backlight";
//pwms = <&pwm 0 1000000 0>;
pwms = <&pwm 0 5000000 0>;
//brightness-levels = <0 30 40 50 60 70 100>;
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;
status = "okay";
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm1_pins>;
status = "okay";
};
pwm1_pins: pwm1 {
pins = "PB5";
function = "pwm1";
};
backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 5000000>;brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;power-supply = <&vdd_bl_reg>;
enable-gpios = <&gpio 58 0>;
post-pwm-on-delay-ms = <10>;
pwm-off-delay-ms = <10>;
};凭感觉 /sys/class/backlight/pwm-backlight/bl_power 应该对应是 enable-gpios
晕哥 power-supply = <&vdd_bl_reg>;
enable-gpios = <&gpio 58 0>;
post-pwm-on-delay-ms = <10>;
pwm-off-delay-ms = <10>;
这些参数配置是从哪来的 在v3s上没有这些参数 内核是5.2.y 该如何配置呢 按照默认配置背光控制不起任何作用
但是单独控制pwm是可以调光的
echo 1 > /sys/class/pwm/pwmchip0/export
echo 1000000 > /sys/class/pwm/pwmchip0/pwm1/period
echo 200000 > /sys/class/pwm/pwmchip0/pwm1/duty_cycle
echo 1 > /sys/class/pwm/pwmchip0/pwm1/enable
使用echo 1 > brightness不起任何作用 是设备树中缺少某些配置吗
用 sun8i-v3s-licheepi-zero.dts 这个dts呢?
你上面的dts可能用drm驱动的,而不是simplefb
使用simplefb也一样 时钟被降低到25M 我测试发现屏蔽sun8i-v3s.dtsi中de相关的配置就可以了 不会被降低时钟了 去掉了display_clocks /mixer0和tcon0的配置 但是如果使用de改如何配置时钟呢?
最近更换了一块高亮屏 其实参数都一样 但是运行起来屏幕出现抖动的现象 很明显 uboot中显示正常 一旦进入内核就会出现画面抖动; 换了其他的屏幕就正常 推测应该是参数不匹配的问题 然后修改设备树和驱动 使用sun8i-v3s-licheepi-zero-with-800x480-lcd.dts的设备树 启用了display-engine功能 但是测试发现仍然抖动 根据设备树找到了内核的屏幕参数 更改参数仍然抖动 最终没有办法用示波器测量时钟 发现屏幕的时钟变成了24M-25M 跟晶振频率基本一致 在uboot中的频率是33M 这就导致屏幕出现抖动 在驱动中修改屏幕的之中频率 时钟无法超过24M 推测就是设备树时钟的限制 但是参看设备树 找不到如何修改设备树时钟相关的参数 设备树文件内容如下
sun8i-v3s.tdsi
/*
* Copyright (C) 2016 Icenowy Zheng <icenowy@aosc.xyz>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/sun8i-v3s-ccu.h>
#include <dt-bindings/reset/sun8i-v3s-ccu.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&gic>;
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
simplefb_lcd: framebuffer@0 {
compatible = "allwinner,simple-framebuffer",
"simple-framebuffer";
allwinner,pipeline = "de0-lcd0";
clocks = <&ccu CLK_BUS_TCON0>, <&display_clocks 0>,
<&display_clocks 6>, <&ccu CLK_TCON0>;
status = "disabled";
};
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu@0 {
compatible = "arm,cortex-a7";
device_type = "cpu";
reg = <0>;
clocks = <&ccu CLK_CPU>;
};
};
de: display-engine {
compatible = "allwinner,sun8i-v3s-display-engine";
allwinner,pipelines = <&mixer0>;
status = "disabled";
};
timer {
compatible = "arm,armv7-timer";
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
};
clocks {
#address-cells = <1>;
#size-cells = <1>;
ranges;
osc24M: osc24M_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <24000000>;
clock-output-names = "osc24M";
};
osc32k: osc32k_clk {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <32768>;
clock-output-names = "osc32k";
};
};
soc {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
display_clocks: clock@1000000 {
compatible = "allwinner,sun8i-v3s-de2-clk";
reg = <0x01000000 0x100000>;
clocks = <&ccu CLK_DE>,
<&ccu CLK_BUS_DE>;
clock-names = "mod",
"bus";
resets = <&ccu RST_BUS_DE>;
#clock-cells = <1>;
#reset-cells = <1>;
};
mixer0: mixer@1100000 {
compatible = "allwinner,sun8i-v3s-de2-mixer";
reg = <0x01100000 0x100000>;
clocks = <&display_clocks 0>,
<&display_clocks 6>;
clock-names = "bus",
"mod";
resets = <&display_clocks 0>;
assigned-clocks = <&display_clocks 6>;
assigned-clock-rates = <150000000>;
ports {
#address-cells = <1>;
#size-cells = <0>;
mixer0_out: port@1 {
reg = <1>;
mixer0_out_tcon0: endpoint {
remote-endpoint = <&tcon0_in_mixer0>;
};
};
};
};
/*
syscon: syscon@1c00000 {
compatible = "allwinner,sun8i-v3s-system-controller",
"syscon";
reg = <0x01c00000 0x1000>;
};
*/
syscon: syscon@1c00000 {
compatible = "allwinner,sun8i-v3s-system-controller", "allwinner,sun8i-h3-system-control", "syscon";
reg = <0x01c00000 0xd0>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
sram_c: sram@1d00000 {
compatible = "mmio-sram";
reg = <0x01d00000 0x80000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x01d00000 0x80000>;
ve_sram: sram-section@0 {
compatible = "allwinner,sun8i-v3s-sram-c", "allwinner,sun4i-a10-sram-c1";
reg = <0x000000 0x80000>;
};
};
};
cedarx: video-codec@1c0e000 {
compatible = "allwinner,sun8i-v3-cedar";
reg = <0x01c0e000 0x1000>;
clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, <&ccu CLK_DRAM_VE>;
clock-names = "ahb", "mod", "ram";
resets = <&ccu RST_BUS_VE>;
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
allwinner,sram = <&ve_sram 1>;
//status = "disabled";
status = "okay";
};
ion: ion {
compatible = "allwinner,sunxi-ion";
//status = "disabled";
status = "okay";
heap_cma@0{
compatible = "allwinner,cma";
heap-name = "cma";
heap-id = <0x4>;
heap-base = <0x0>;
heap-size = <0x0>;
heap-type = "ion_cma";
};
};
tcon0: lcd-controller@1c0c000 {
compatible = "allwinner,sun8i-v3s-tcon";
reg = <0x01c0c000 0x1000>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_TCON0>,
<&ccu CLK_TCON0>;
clock-names = "ahb",
"tcon-ch0";
clock-output-names = "tcon-pixel-clock";
#clock-cells = <0>;
resets = <&ccu RST_BUS_TCON0>;
reset-names = "lcd";
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
tcon0_in: port@0 {
reg = <0>;
tcon0_in_mixer0: endpoint {
remote-endpoint = <&mixer0_out_tcon0>;
};
};
tcon0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
};
};
dma: dma-controller@01c02000 {
compatible = "allwinner,sun8i-v3s-dma";
reg = <0x01c02000 0x1000>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_DMA>;
resets = <&ccu RST_BUS_DMA>;
#dma-cells = <1>;
};
mmc0: mmc@1c0f000 {
compatible = "allwinner,sun7i-a20-mmc";
reg = <0x01c0f000 0x1000>;
clocks = <&ccu CLK_BUS_MMC0>,
<&ccu CLK_MMC0>,
<&ccu CLK_MMC0_OUTPUT>,
<&ccu CLK_MMC0_SAMPLE>;
clock-names = "ahb",
"mmc",
"output",
"sample";
resets = <&ccu RST_BUS_MMC0>;
reset-names = "ahb";
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmc1: mmc@1c10000 {
compatible = "allwinner,sun7i-a20-mmc";
reg = <0x01c10000 0x1000>;
clocks = <&ccu CLK_BUS_MMC1>,
<&ccu CLK_MMC1>,
<&ccu CLK_MMC1_OUTPUT>,
<&ccu CLK_MMC1_SAMPLE>;
clock-names = "ahb",
"mmc",
"output",
"sample";
resets = <&ccu RST_BUS_MMC1>;
reset-names = "ahb";
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmc2: mmc@1c11000 {
compatible = "allwinner,sun7i-a20-mmc";
reg = <0x01c11000 0x1000>;
clocks = <&ccu CLK_BUS_MMC2>,
<&ccu CLK_MMC2>,
<&ccu CLK_MMC2_OUTPUT>,
<&ccu CLK_MMC2_SAMPLE>;
clock-names = "ahb",
"mmc",
"output",
"sample";
resets = <&ccu RST_BUS_MMC2>;
reset-names = "ahb";
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
usb_otg: usb@1c19000 {
compatible = "allwinner,sun8i-h3-musb";
reg = <0x01c19000 0x0400>;
clocks = <&ccu CLK_BUS_OTG>;
resets = <&ccu RST_BUS_OTG>;
interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "mc";
phys = <&usbphy 0>;
phy-names = "usb";
extcon = <&usbphy 0>;
status = "disabled";
};
usbphy: phy@1c19400 {
compatible = "allwinner,sun8i-v3s-usb-phy";
reg = <0x01c19400 0x2c>,
<0x01c1a800 0x4>;
reg-names = "phy_ctrl",
"pmu0";
clocks = <&ccu CLK_USB_PHY0>;
clock-names = "usb0_phy";
resets = <&ccu RST_USB_PHY0>;
reset-names = "usb0_reset";
status = "disabled";
#phy-cells = <1>;
};
ehci0: usb@01c1a000 {
compatible = "allwinner,sun8i-v3s-ehci", "generic-ehci";
reg = <0x01c1a000 0x100>;
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_EHCI0>, <&ccu CLK_BUS_OHCI0>;
resets = <&ccu RST_BUS_EHCI0>, <&ccu RST_BUS_OHCI0>;
status = "disabled";
};
ohci0: usb@01c1a400 {
compatible = "allwinner,sun8i-v3s-ohci", "generic-ohci";
reg = <0x01c1a400 0x100>;
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_EHCI0>, <&ccu CLK_BUS_OHCI0>,
<&ccu CLK_USB_OHCI0>;
resets = <&ccu RST_BUS_EHCI0>, <&ccu RST_BUS_OHCI0>;
status = "disabled";
};
ccu: clock@1c20000 {
compatible = "allwinner,sun8i-v3s-ccu";
reg = <0x01c20000 0x400>;
clocks = <&osc24M>, <&osc32k>;
clock-names = "hosc", "losc";
#clock-cells = <1>;
#reset-cells = <1>;
};
rtc: rtc@1c20400 {
compatible = "allwinner,sun6i-a31-rtc";
reg = <0x01c20400 0x54>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
};
pio: pinctrl@1c20800 {
compatible = "allwinner,sun8i-v3s-pinctrl";
reg = <0x01c20800 0x400>;
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
clock-names = "apb", "hosc", "losc";
gpio-controller;
#gpio-cells = <3>;
interrupt-controller;
#interrupt-cells = <3>;
emac_rgmii_pins: emac-rgmii-pins {
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
"PD5", "PD7", "PD8", "PD9", "PD10",
"PD12", "PD13", "PD15", "PD16", "PD17";
function = "emac";
drive-strength = <40>;
};
i2c0_pins: i2c0-pins {
pins = "PB6", "PB7";
function = "i2c0";
};
pwm0_pins: pwm0 {
pins = "PB4";
function = "pwm0";
};
uart0_pb_pins: uart0-pb-pins {
pins = "PB8", "PB9";
function = "uart0";
};
lcd_rgb666_pins_a: lcd-rgb666-pe {
pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5",
"PE6", "PE7", "PE8", "PE9", "PE10", "PE11",
"PE12", "PE13", "PE14", "PE15", "PE16", "PE17",
"PE18", "PE19", "PE23", "PE24";
function = "lcd";
};
mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3",
"PF4", "PF5";
function = "mmc0";
drive-strength = <30>;
bias-pull-up;
};
mmc1_pins: mmc1-pins {
pins = "PG0", "PG1", "PG2", "PG3",
"PG4", "PG5";
function = "mmc1";
drive-strength = <30>;
bias-pull-up;
};
spi0_pins: spi0-pins {
pins = "PC0", "PC1", "PC2", "PC3";
function = "spi0";
};
};
timer@1c20c00 {
compatible = "allwinner,sun4i-a10-timer";
reg = <0x01c20c00 0xa0>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&osc24M>;
};
wdt0: watchdog@1c20ca0 {
compatible = "allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
};
pwm: pwm@1c21400 {
compatible = "allwinner,sun8i-v3s-pwm",
"allwinner,sun7i-a20-pwm";
reg = <0x01c21400 0x400>;
clocks = <&osc24M>;
#pwm-cells = <3>;
status = "disabled";
};
lradc: lradc@1c22800 {
compatible = "allwinner,sun4i-a10-lradc-keys";
reg = <0x01c22800 0x400>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
codec: codec@01c22c00 {
#sound-dai-cells = <0>;
compatible = "allwinner,sun8i-v3s-codec";
reg = <0x01c22c00 0x400>;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
clock-names = "apb", "codec";
resets = <&ccu RST_BUS_CODEC>;
dmas = <&dma 15>, <&dma 15>;
dma-names = "rx", "tx";
allwinner,codec-analog-controls = <&codec_analog>;
status = "disabled";
};
codec_analog: codec-analog@01c23000 {
compatible = "allwinner,sun8i-v3s-codec-analog";
reg = <0x01c23000 0x4>;
};
uart0: serial@1c28000 {
compatible = "snps,dw-apb-uart";
reg = <0x01c28000 0x400>;
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART0>;
resets = <&ccu RST_BUS_UART0>;
status = "disabled";
};
uart1: serial@1c28400 {
compatible = "snps,dw-apb-uart";
reg = <0x01c28400 0x400>;
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART1>;
resets = <&ccu RST_BUS_UART1>;
status = "disabled";
};
uart2: serial@1c28800 {
compatible = "snps,dw-apb-uart";
reg = <0x01c28800 0x400>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART2>;
resets = <&ccu RST_BUS_UART2>;
status = "disabled";
};
i2c0: i2c@1c2ac00 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x01c2ac00 0x400>;
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C0>;
resets = <&ccu RST_BUS_I2C0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
i2c1: i2c@1c2b000 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x01c2b000 0x400>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_I2C1>;
resets = <&ccu RST_BUS_I2C1>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
emac: ethernet@1c30000 {
compatible = "allwinner,sun8i-h3-emac";
syscon = <&syscon>;
reg = <0x01c30000 0x10000>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
resets = <&ccu RST_BUS_EMAC>;
reset-names = "stmmaceth";
clocks = <&ccu CLK_BUS_EMAC>;
clock-names = "stmmaceth";
status = "disabled";
mdio: mdio {
#address-cells = <1>;
#size-cells = <0>;
compatible = "snps,dwmac-mdio";
};
mdio-mux {
compatible = "allwinner,sun8i-h3-mdio-mux";
#address-cells = <1>;
#size-cells = <0>;
mdio-parent-bus = <&mdio>;
/* Only one MDIO is usable at the time */
internal_mdio: mdio@1 {
compatible = "allwinner,sun8i-h3-mdio-internal";
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
int_mii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
clocks = <&ccu CLK_BUS_EPHY>;
resets = <&ccu RST_BUS_EPHY>;
};
};
external_mdio: mdio@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
};
};
};
spi0: spi@1c68000 {
compatible = "allwinner,sun8i-h3-spi";
reg = <0x01c68000 0x1000>;
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
clock-names = "ahb", "mod";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>;
resets = <&ccu RST_BUS_SPI0>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
gic: interrupt-controller@1c81000 {
compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>,
<0x01c82000 0x1000>,
<0x01c84000 0x2000>,
<0x01c86000 0x2000>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
};
};
};
sun8i-v3s-licheepi-zero-with-lcd.tdsi
/*
* Copyright (C) 2018 Icenowy Zheng <icenowy@aosc.io>
*
* SPDX-License-Identifier: (GPL-2.0+ OR X11)
*/
#include "sun8i-v3s-licheepi-zero.dts"
/ {
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 1000000 0>;
brightness-levels = <0 30 40 50 60 70 100>;
default-brightness-level = <6>;
};
panel: panel {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
backlight = <&backlight>;
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_lcd>;
};
};
};
};
&de {
status = "okay";
};
&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pins>;
status = "okay";
};
&tcon0 {
pinctrl-names = "default";
pinctrl-0 = <&lcd_rgb666_pins_a>;
status = "okay";
};
&tcon0_out {
tcon0_out_lcd: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
sun8i-v3s-licheepi-zero-with-800x480-lcd.dts
/*
* Copyright (C) 2018 Icenowy Zheng <icenowy@aosc.io>
*
* SPDX-License-Identifier: (GPL-2.0+ OR X11)
*/
#include "sun8i-v3s-licheepi-zero-with-lcd.dtsi"
&panel {
compatible = "urt,umsh-8596md-t", "simple-panel";
};
本人是新手 关于时钟配置不是很精通 希望各位大牛不吝赐教
转自另一帖:
启动时PLL_VIDEO时钟只有198MHZ,而全志要求和pixel时钟的倍数必须大于等于4,实际我发现大于等于6才行。所以33Mhz以上TCON时钟工作不正常
需要把PLL video时钟设高一点
把sys_clock.c中
write32(F1C100S_CCU_BASE + CCU_PLL_VIDEO_CTRL, 0x81004107);
时钟输出=24000000*(0x41+1)/(0x07+1)=198Mhz
改为
write32(F1C100S_CCU_BASE + CCU_PLL_VIDEO_CTRL, 0x81004103);
时钟输出=24000000*(0x41+1)/(0x03+1)=396Mhz
这时候pixel_clock_hz能设置成更高时钟了
您这个改的是uboot的还是内核啊
hanzixi_angel 说:ocean 说:1.在4.14 内核中,v3s的有线网口能工作。
2.因为 驱动关系,v3s 外接了一个 无线网卡,该无线网卡 的驱动只能在4.10 下编译通过,所以就限制了我只能用4.10的内核。
3. 但是找了很多资料,发现驱动licheepi网口都是在4.14下使用,或者4.12下有没有在4.10下的驱动licheepi网口的资料或者方法,谢谢各位。
5.2.y打开配置就可以使用以太网了 4.10还是不建议用了 我踩到不少坑
因为 我需要驱动一款网卡,这款的网卡的驱动,目前最高只能在4.10上运行,更高版本的kernel,一部分无线接口换了,需要移植,但是网卡驱动这种东西,看了下,要移植到4.14需要动一堆东西,不敢随便动。
目前的问题是 4.10 下这个网卡可以驱动,但是有线跑不起来,很蛋疼
你是无线网卡吗? 有些接口确实变了 编译会报错 自带的以太网驱动我用的是5.2.y 可以直接用
1.在4.14 内核中,v3s的有线网口能工作。
2.因为 驱动关系,v3s 外接了一个 无线网卡,该无线网卡 的驱动只能在4.10 下编译通过,所以就限制了我只能用4.10的内核。
3. 但是找了很多资料,发现驱动licheepi网口都是在4.14下使用,或者4.12下有没有在4.10下的驱动licheepi网口的资料或者方法,谢谢各位。
5.2.y打开配置就可以使用以太网了 4.10还是不建议用了 我踩到不少坑
由于本人需要将sd卡作为从设备使得pc能够识别为U盘,即Mass Storage设备,在论坛得到的都是现成的,需要下载,我懒得下载,就查资料得到以下方法:
首先内核需要进行以下设置:
Device Driver ---->
USB support---->
* USB Mass Storage supportDevice Driver ---->
USB support---->
USB Gadget Support--->
<M> USB Gadget functions configurable through configfs
* Generic serial bulk in/out
* Mass storage
* Function filesystem
[M] USB Gadget precomposed configurations
[M] Mass storage Gadget然后编译内核会生成以下三个ko文件:
drivers/usb/gadget/libcomposite.ko,
drivers/usb/gadget/legacy/g_mass_storage.ko,
drivers/usb/gadget/function/usb_f_mass_storage.ko,
需要將此三个文件复制到到rootfs或是系统可以存取到的地方。rootfs根文件系统设置:
在etc/init.d/rcS 添加以下内容(我将三个文件存到了自己建的目录/ts下):
insmod /ts/libcomposite.ko
insmod /ts/usb_f_mass_storage.ko
insmod /ts/g_mass_storage.ko file=/dev/mmcblk0p1 stall=0 removable=1启动后打印如下:
[ 5.794850] Mass Storage Function, version: 2009/09/11
[ 5.800062] LUN: removable file: (no medium)
[ 5.804536] LUN: file: /dev/mmcblk0p1
[ 5.808198] Number of LUNs=1
[ 5.812871] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[ 5.819987] g_mass_storage gadget: userspace failed to provide iSerialNumber
[ 5.827029] g_mass_storage gadget: g_mass_storage ready启动后电脑也识别到了U盘,打开U盘正是我在板子上的SD卡
能实现挂载分区下的目录吗 就是挂载目录
# gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! h264parse ! omxh264d
ec ! autovideoconvert ! fbdevsink
WARNING: erroneous pipeline: no element "omxh264dec"
报错 no element "omxh264dec" 无法播放视频 软解是可以播放的
查看/usr/lib目录并没有/usr/lib/libOmxCore.so这个文件 请问这个文件是如何生成的 是buildroot编译生成的吗
tianjjff 说:我直接在sysroot目录里OMX_IVCommon.h增加了这个OMX_COLOR_FormatYVU420Planar,可以编译通过了,不知道这样行不行
这个东西是定义在全志提供的omx接口里的 你看看你的buildroot是不是没正确添加libcedar
大佬 我也遇到同样缺少定义的问题 请问这个定义在哪 望指教 谢谢
逸俊晨晖 说:前置要求:
基于aodzip的cedar:
.....楼主,请问下,添加case OMX_COLOR_FormatYVU420Planar:的时候,重新编译提示OMX_COLOR_FormatYVU420Planar没有定义,要怎么操作?
缺少定义的你解决了吗 怎么解决的 我这也遇到了相同的问题 亲赐教吗 谢谢
白嫖: https://github.com/aodzip/cedar/
配套的ion驱动: https://github.com/aodzip/cedar-ion/想尝鲜的可以冲了
Allwinner S3 YUV to H264编码测试已经通过
第二个链接失效了 能发下文件吗 谢谢
hanzixi_angel 说:晕哥 说:tinyalsa默认编译成可执行程序 + so文件,也可以静态链接成 tinyplay tinymix 等
晕哥 使用tinyplay播放wav音频是快进播放的状态 播放速度非常快 有没有遇到这种情况 怎么解决
首先在电脑确认文件是否正常?
电脑上播放是正常的 使用tinyalsa播放音频是快进的状态也不是所有的音频都是快进状态 有些还是可以正常播放的
可以接HUB, host & device 通过 microusb / typec 的 usb id 引脚切换 otg 状态.
最好再加一个usb专用的双刀双掷的模拟开关芯片, 根据usb id引脚切换开关.
otg驱动是如何切换的 是内核根据id自动切换还是需要自己编写程序或者脚本自己实现
各位大神,请教下v3s dts里面iic配置,驱动触摸屏,io口和中断的配置,研究半天没有搞明白
gt9xx: gt9xx@0x14 {
compatible = "goodix,gt911";
status = "okay";
reg = <0x14>;
interrupt-parent = <&pio>;
interrupts = <1 3>;
//interrupts = <GIC_SPI 15 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_LOW)>;
//interrupt-parent = <&pio>;
//interrupts = <1 3 IRQ_TYPE_LEVEL_LOW>
//reset = <&pio 6 5 GPIO_ACTIVE_LOW>;
//irq = <&pio 1 3 GPIO_ACTIVE_LOW>;
goodix,rst-gpio = <&pio 6 5 GPIO_ACTIVE_LOW>;
goodix,irq-gpio = <&pio 1 3 GPIO_ACTIVE_LOW>;
};PG5是reset,PB3是int
驱动代码里有这个定义,是不是对应dts里面io的名称呢?
#define GOODIX_GPIO_INT_NAME "irq"
#define GOODIX_GPIO_RST_NAME "reset"
有没有搞定啊 我这能识别到 但是读取不到任何触摸数据 中断引脚一直是低电平
Linux版本使用的是4.10.y; 因为设备树里面没有关于gt911的io配置;发现5.2.y的设备树里面有,将其移植过来,如下:
&i2c0 {
status = "okay";
gt911: touchscreen@14 {
compatible = "goodix,gt911";
reg = <0x14>;
interrupt-parent = <&pio>;
interrupts = <1 3 IRQ_TYPE_EDGE_FALLING>; /* (PB3) */
pinctrl-names = "default";
//pinctrl-0 = <&i2c0_pins>;
irq-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* (PB3) */
reset-gpios = <&pio 4 20 GPIO_ACTIVE_HIGH>; /* RST (PE20) */
/* touchscreen-swapped-x-y */
};
};
在内核中勾选goodix的电容屏驱动,去除ns2009的电阻屏驱动
--- Touchscreens │ │
│ │ < > ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens │ │
│ │ < > AD7877 based touchscreens │ │
│ │ < > Analog Devices AD7879-1/AD7889-1 touchscreen interface │ │
│ │ < > Microchip AR1021 i2c touchscreen │ │
│ │ < > Atmel mXT I2C Touchscreen │ │
│ │ < > AUO in-cell touchscreen using Pixcir ICs │ │
│ │ < > BU21013 based touch panel controllers │ │
│ │ < > chipone icn8318 touchscreen controller │ │
│ │ < > cy8ctmg110 touchscreen │ │
│ │ < > Cypress TTSP touchscreen │ │
│ │ < > Cypress TrueTouch Gen4 Touchscreen Driver │ │
│ │ < > Dynapro serial touchscreen │ │
│ │ < > Hampshire serial touchscreen │ │
│ │ < > EETI touchscreen panel support │ │
│ │ < > EETI eGalax multi-touch panel support │ │
│ │ < > EETI eGalax serial touchscreen │ │
│ │ < > Fujitsu serial touchscreen │ │
│ │ <*> Goodix I2C touchscreen │ │
│ │ < > Ilitek ILI210X based touchscreen
| | < > Penmount serial touchscreen │ │
│ │ < > EDT FocalTech FT5x06 I2C Touchscreen support │ │
│ │ < > Nsiway NS2009 touchscreen
然后编译内核和设备树 更新之后启动可以成功识别gt911电容屏 但是使用tslib和hexdump都不能获取到触摸数据; 没有任何数据;
然后测试电路,发现中断管脚一直都是低电平,测试其他正常能用的电容屏有触摸是才是低电平,平常是高电平,说明io这块应该是有问题的;
测试别人提供的内核镜像是正常的,说明触摸屏是没有问题;应该还是io配置或者驱动的问题;io配置我是使用的5.2.y内核的设备树配置,
驱动使用的是4.10.y自带的驱动;加载驱动的时候可以识别出电容屏,可以正常读取id;如下:
[ 0.832410] usbcore: registered new interface driver lvs
[ 0.837920] musb-sunxi 1c19000.usb: Invalid or missing 'dr_mode' property
[ 0.844771] musb-sunxi: probe of 1c19000.usb failed with error -22
[ 0.851842] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 0.858719] sun6i-rtc 1c20400.rtc: RTC enabled
[ 0.863261] i2c /dev entries driver
[ 0.867897] Goodix-TS 0-0014: I2C Address: 0x14
[ 0.872471] Goodix-TS 0-0014: irq get irq GPIO: 0
[ 0.877323] Goodix-TS 0-0014: rst get reset GPIO: 0
[ 0.995912] Goodix-TS 0-0014: ID-> 911, version: 1060
[ 1.001681] Goodix-TS 0-0014: Direct firmware load for goodix_911_cfg.bin failed with error -2
[ 1.010886] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.036206] input: Goodix Capacitive TouchScreen as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0014/input/input0
[ 1.074451] sunxi-mmc 1c0f000.mmc: base:0xc4061000 irq:23
[ 1.082760] sun4i-codec 1c22c00.codec: ASoC: /soc/codec-analog@01c23000 not registered
[ 1.090833] sun4i-codec 1c22c00.codec: Failed to register our card
[ 1.098291] NET: Registered protocol family 17
[ 1.102858] Key type dns_resolver registered
其中有一个报错,提示加载固件goodix_911_cfg.bin失败,有人说这个不影响.
各位大牛有没有搞成功的,我基本上寻遍了整个论坛,没有找到明确搞定gt911驱动的分享,希望各位大牛不吝赐教;
希望晕哥能指点一二,谢谢各位!
dxxxx 说:晕哥,在buildroot里tinyalsa不是个库吗?我缺的是那个执行的程序,我板子上能有alsa的库
tinyalsa默认编译成可执行程序 + so文件,也可以静态链接成 tinyplay tinymix 等
晕哥 使用tinyplay播放wav音频是快进播放的状态 播放速度非常快 有没有遇到这种情况 怎么解决
目前已经好了,我把原来USB参数全部复原后,在原来的基础上只多加了打开一个:usb mass storage 的选项,其他的没有再多加,现在已经OK了。
我也遇到同样的问题, 您是在哪增加的这个选项,能告知一下嘛; 谢谢您
U-Boot SPL 2017.01-rc2-00057-g32ab180-dirty (Sep 22 2020 - 17:16:15)
DRAM: 64 MiB
Trying to boot from MMC1
U-Boot 2017.01-rc2-00057-g32ab180-dirty (Sep 22 2020 - 17:16:15 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
U-Boot 2017.01-rc2-00057-g32ab180-dirty (Sep 22 2020 - 17:16:15 +0800) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment
Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
Net: phy interface0
eth0: ethernet@1c30000
starting USB...
No controllers found
Hit any key to stop autoboot: 0
reading zImage
3692752 bytes read in 234 ms (15 MiB/s)
reading sun8i-v3s-licheepi-zero.dtb
8039 bytes read in 25 ms (313.5 KiB/s)
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Device Tree to 42dfb000, end 42dfff66 ... OK
Cannot setup simplefb: node not found
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.12.0-rc1-00089-g19e52b7 (root@eason-virtual-machine) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #2 SMP Wed Sep 23 10:10:14 CST 2020
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Zero
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] percpu: Embedded 16 pages/cpu @c3f62000 s33484 r8192 d23860 u65536
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw vt.global_cursor_default=0
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 54964K/65536K available (6144K kernel code, 363K rwdata, 1368K rodata, 1024K init, 253K bss, 10572K 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 : 0xc4800000 - 0xff800000 ( 944 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0700000 (7136 kB)
[ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB)
[ 0.000000] .data : 0xc0a00000 - 0xc0a5ac80 ( 364 kB)
[ 0.000000] .bss : 0xc0a61298 - 0xc0aa07a4 ( 254 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000018] Switching to timer-based delay loop, resolution 41ns
[ 0.000154] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000378] Console: colour dummy device 80x30
[ 0.000414] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000429] pid_max: default: 32768 minimum: 301
[ 0.000562] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000573] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001185] CPU: Testing write buffer coherency: ok
[ 0.001555] /cpus/cpu@0 missing clock-frequency property
[ 0.001575] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002017] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.002648] smp: Bringing up secondary CPUs ...
[ 0.002664] smp: Brought up 1 node, 1 CPU
[ 0.002673] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.002680] CPU: All CPU(s) started in SVC mode.
[ 0.003423] devtmpfs: initialized
[ 0.005833] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.006094] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.006124] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.006279] pinctrl core: initialized pinctrl subsystem
[ 0.007302] NET: Registered protocol family 16
[ 0.007774] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.008851] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.008867] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.019896] SCSI subsystem initialized
[ 0.020639] usbcore: registered new interface driver usbfs
[ 0.020707] usbcore: registered new interface driver hub
[ 0.020794] usbcore: registered new device driver usb
[ 0.021019] pps_core: LinuxPPS API ver. 1 registered
[ 0.021029] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.021051] PTP clock support registered
[ 0.021303] Advanced Linux Sound Architecture Driver Initialized.
[ 0.022441] clocksource: Switched to clocksource arch_sys_counter
[ 0.033603] NET: Registered protocol family 2
[ 0.034178] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.034219] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.034243] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.034376] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.034428] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.034651] NET: Registered protocol family 1
[ 0.035324] RPC: Registered named UNIX socket transport module.
[ 0.035344] RPC: Registered udp transport module.
[ 0.035350] RPC: Registered tcp transport module.
[ 0.035355] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.037370] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.046932] NFS: Registering the id_resolver key type
[ 0.046980] Key type id_resolver registered
[ 0.046988] Key type id_legacy registered
[ 0.048271] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.048292] io scheduler noop registered
[ 0.048299] io scheduler deadline registered
[ 0.048344] io scheduler cfq registered (default)
[ 0.048352] io scheduler mq-deadline registered
[ 0.048358] io scheduler kyber registered
[ 0.053240] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.121630] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.125070] console [ttyS0] disabled
[ 0.145335] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 30, base_baud = 1500000) is a U6_16550A
[ 0.702576] console [ttyS0] enabled
[ 0.708050] libphy: Fixed MDIO Bus: probed
[ 0.712162] CAN device driver interface
[ 0.717513] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.724134] ehci-platform: EHCI generic platform driver
[ 0.729454] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.735686] ohci-platform: OHCI generic platform driver
[ 0.742137] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 0.749015] sun6i-rtc 1c20400.rtc: RTC enabled
[ 0.753667] i2c /dev entries driver
[ 0.757377] IR NEC protocol handler initialized
[ 0.761905] IR RC5(x/sz) protocol handler initialized
[ 0.766995] IR RC6 protocol handler initialized
[ 0.771520] IR JVC protocol handler initialized
[ 0.776061] IR Sony protocol handler initialized
[ 0.780672] IR SANYO protocol handler initialized
[ 0.785379] IR Sharp protocol handler initialized
[ 0.790076] IR MCE Keyboard/mouse protocol handler initialized
[ 0.795909] IR XMP protocol handler initialized
[ 0.801174] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 0.862494] sunxi-mmc 1c0f000.mmc: base:0xc485d000 irq:22
[ 0.869472] usbcore: registered new interface driver usbhid
[ 0.875140] usbhid: USB HID core driver
[ 0.880453] NET: Registered protocol family 17
[ 0.885044] can: controller area network core (rev 20170425 abi 9)
[ 0.891319] NET: Registered protocol family 29
[ 0.895809] can: raw protocol (rev 20170425)
[ 0.900078] can: broadcast manager protocol (rev 20170425 t)
[ 0.905760] can: netlink gateway (rev 20170425) max_hops=1
[ 0.911544] Key type dns_resolver registered
[ 0.915994] Registering SWP/SWPB emulation handler
[ 0.927358] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 0.938788] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 0.944642] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 0.955825] hub 1-0:1.0: USB hub found
[ 0.959700] hub 1-0:1.0: 1 port detected
[ 0.964587] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 00:24:14 UTC (1454)
[ 0.973039] vcc3v0: disabling
[ 0.976012] vcc5v0: disabling
[ 0.978976] ALSA device list:
[ 0.981930] No soundcards found.
[ 0.986418] Waiting for root device /dev/mmcblk0p2...
[ 1.034200] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.044062] mmc0: new high speed SD card at address 21b7
[ 1.050129] mmcblk0: mmc0:21b7 XTSDA 122 MiB
[ 1.055873] mmcblk0: p1 p2
[ 1.073460] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[ 1.082362] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
[ 1.096825] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 1.105120] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 1.113356] devtmpfs: mounted
[ 1.117500] Freeing unused kernel memory: 1024K
[ 1.239606] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Starting logging: OK
Starting mdev...
modprobe: can't change directory to '/lib/modules': No such file or directory
Initializing random number generator... [ 2.275630] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: OK
Welcome to Buildroot
buildroot login: root
# cd /
# ifconfig [ 11.203565] random: fast init done
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 02:01:3F:A9:80:1C
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ifup eth0
ifup: ignoring unknown interface eth0
#
#
#
# ifup eth0
ifup: ignoring unknown interface eth0
#
# ifconfig eth0 up
[ 45.091683] sun8i-emac 1c30000.ethernet: EMAC reset timeout
ifconfig: SIOCSIFFLAGS: Bad address
#
#
# ifconfig eth0 up
[ 48.242901] libphy: 1c30000.ethernet: probed
[ 48.257117] Generic PHY 1c30000.ethernet-0:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1c30000.ethernet-0:01, irq=-1)
[ 48.268898] sun8i-emac 1c30000.ethernet: device MAC address slot 0 02:01:3f:a9:80:1c
[ 48.277097] sun8i-emac 1c30000.ethernet: device MAC address slot 1 01:00:5e:00:00:01
#
#
# ifconfig
eth0 Link encap:Ethernet HWaddr 02:01:3F:A9:80:1C
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
#
#
# ifconfig eth0 192.168.1.111 netmask 255.255.255.0
[ 70.620278] sun8i-emac 1c30000.ethernet: device MAC address slot 1 01:00:5e:00:00:01
# route add default gw 192.168.1.1
#
#
# ifconfig
eth0 Link encap:Ethernet HWaddr 02:01:3F:A9:80:1C
inet addr:192.168.1.111 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ifdown eth0
ifdown: interface eth0 not configured
#
#
# ifconfig eth0 down
[ 154.235700] sun8i-emac 1c30000.ethernet: device MAC address slot 1 01:00:5e:00:00:01
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 02:01:3F:A9:80:1C
inet addr:192.168.1.111 Bcast:192.168.1.255 Mask:255.255.255.0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# ifup eth0
ifup: ignoring unknown interface eth0
# ifconfig eth0 up
[ 177.118765] libphy: 1c30000.ethernet: probed
[ 177.137264] Generic PHY 1c30000.ethernet-0:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1c30000.ethernet-0:01, irq=-1)
[ 177.149049] sun8i-emac 1c30000.ethernet: device MAC address slot 0 02:01:3f:a9:80:1c
[ 177.157236] sun8i-emac 1c30000.ethernet: device MAC address slot 1 01:00:5e:00:00:01
#
晕哥 能帮忙看下是哪的问题吗 网卡启动不了 使用ifup eth0命令后返回ifup: ignoring unknown interface eth0; 无法启动网卡 ; 使用ifconfig eth0 up可以启动 但是需要启动两次才行,如下:
# ifconfig eth0 up
[ 115.841536] sun8i-emac 1c30000.ethernet: EMAC reset timeout
ifconfig: SIOCSIFFLAGS: Bad address
# ifconfig eth0 up
[ 117.653642] libphy: 1c30000.ethernet: probed
[ 117.667119] Generic PHY 1c30000.ethernet-0:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1c30000.ethernet-0:01, irq=-1)
[ 117.678902] sun8i-emac 1c30000.ethernet: device MAC address slot 0 02:01:3f:a9:80:1c
[ 117.687114] sun8i-emac 1c30000.ethernet: device MAC address slot 1 01:00:5e:00:00:01
#
设置好ip也不能ping通 电脑网口也识别不出插入网线,估计还是网卡没有启动;使用的内核是荔枝派官方适配好的,版本是4.12;
关闭网卡也有问题,如下:
# ifdown eth0
ifdown: interface eth0 not configured
#
使用ifconfig eth0 down是可以关闭:
# ifconfig eth0 down
[ 267.065531] sun8i-emac 1c30000.ethernet: device MAC address slot 1 01:00:5e:00:00:01
#
晕哥帮忙分析一下,应该跟文件系统没有关系吧; 各位大佬有没有遇到过的,希望不吝指教; 谢谢各位;
启动之后无法挂载sd nand到pc 看不到是哪的问题 能帮忙分析一下嘛 信息
usb id引脚在dts是怎么配置的?
晕哥 我不是很明白 我使用的是您提供的sun8i-v3s-licheepi-zero-dock.dtb.PF6 这个跟dts啥关系 是跟我是设备树dts文件有关系嘛 这个不是从usb启动的嘛 如果是要修改我的dts该如何修改? 谢谢
U-Boot SPL 2019.04-00743-g7d99406 (Apr 26 2019 - 02:24:09 -0400)
DRAM: 64 MiB
Trying to boot from FEL
U-Boot 2019.04-00743-g7d99406 (Apr 26 2019 - 02:24:09 -0400) Allwinner Technology
CPU: Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM: 64 MiB
MMC: mmc@01c0f000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment
In: serial@01c28000
Out: serial@01c28000
Err: serial@01c28000
Net: No ethernet found.
starting USB...
No working controllers found
Hit any key to stop autoboot: 0
(FEL boot)
## Executing script at 41900000
## Loading init Ramdisk from Legacy Image at 41a00000 ...
Image Name: uInitrd
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 10271913 Bytes = 9.8 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 41800000
Booting using the fdt blob at 0x41800000
Loading Ramdisk to 42434000, end 42dffca9 ... OK
Loading Device Tree to 4242e000, end 42433e4f ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.13.16-licheepi-zero+ (root@ubuntu) (gcc version 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1)) #15 SMP Wed May 1 09:22:33 EDT 2019
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: Using PSCI v0.1 Function IDs from DT
[ 0.000000] percpu: Embedded 16 pages/cpu @c3fdf000 s33920 r8192 d23424 u65536
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/ram0 rdinit=/linuxrc earlyprintk rw
[ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Memory: 45028K/65536K available (6144K kernel code, 236K rwdata, 1580K rodata, 1024K init, 253K bss, 20508K 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 : 0xc4800000 - 0xff800000 ( 944 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc0700000 (7136 kB)
[ 0.000000] .init : 0xc0900000 - 0xc0a00000 (1024 kB)
[ 0.000000] .data : 0xc0a00000 - 0xc0a3b360 ( 237 kB)
[ 0.000000] .bss : 0xc0a42808 - 0xc0a81dcc ( 254 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU event tracing is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000008] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000019] Switching to timer-based delay loop, resolution 41ns
[ 0.000205] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000420] Console: colour dummy device 80x30
[ 0.000454] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000469] pid_max: default: 32768 minimum: 301
[ 0.000588] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000604] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001179] CPU: Testing write buffer coherency: ok
[ 0.001543] /cpus/cpu@0 missing clock-frequency property
[ 0.001566] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002008] Setting up static identity map for 0x40100000 - 0x40100060
[ 0.002176] Hierarchical SRCU implementation.
[ 0.002656] smp: Bringing up secondary CPUs ...
[ 0.002669] smp: Brought up 1 node, 1 CPU
[ 0.002677] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.002684] CPU: All CPU(s) started in HYP mode.
[ 0.002689] CPU: Virtualization extensions available.
[ 0.003418] devtmpfs: initialized
[ 0.006419] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.006708] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.006730] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.006891] pinctrl core: initialized pinctrl subsystem
[ 0.007733] random: get_random_u32 called from bucket_table_alloc+0xf0/0x250 with crng_init=0
[ 0.007868] NET: Registered protocol family 16
[ 0.008290] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.009329] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.009347] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.021548] SCSI subsystem initialized
[ 0.021829] usbcore: registered new interface driver usbfs
[ 0.021895] usbcore: registered new interface driver hub
[ 0.021990] usbcore: registered new device driver usb
[ 0.022239] Linux video capture interface: v2.00
[ 0.022285] pps_core: LinuxPPS API ver. 1 registered
[ 0.022293] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.022315] PTP clock support registered
[ 0.022523] Advanced Linux Sound Architecture Driver Initialized.
[ 0.024328] clocksource: Switched to clocksource arch_sys_counter
[ 0.034075] NET: Registered protocol family 2
[ 0.034748] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.034784] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.034806] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.034927] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.034973] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.035180] NET: Registered protocol family 1
[ 0.035597] Unpacking initramfs...
[ 0.753755] Freeing initrd memory: 10032K
[ 0.755756] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.763530] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.765256] random: fast init done
[ 0.768088] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.768111] io scheduler noop registered
[ 0.768119] io scheduler deadline registered
[ 0.768353] io scheduler cfq registered (default)
[ 0.768367] io scheduler mq-deadline registered
[ 0.768373] io scheduler kyber registered
[ 0.772638] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.836762] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.840096] console [ttyS0] disabled
[ 0.860365] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A
[ 1.437484] console [ttyS0] enabled
[ 1.443675] libphy: Fixed MDIO Bus: probed
[ 1.448359] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[ 1.454148] dwmac-sun8i 1c30000.ethernet: No regulator found
[ 1.459917] dwmac-sun8i 1c30000.ethernet: Will use internal PHY
[ 1.466091] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[ 1.471755] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[ 1.478997] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[ 1.484663] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[ 1.491876] dwmac-sun8i 1c30000.ethernet: COE Type 2
[ 1.496846] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[ 1.503815] libphy: stmmac: probed
[ 1.515103] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.521644] ehci-platform: EHCI generic platform driver
[ 1.527226] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 1.532839] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 1.540832] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000
[ 1.574355] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 1.581540] hub 1-0:1.0: USB hub found
[ 1.585485] hub 1-0:1.0: 1 port detected
[ 1.589954] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.596248] ohci-platform: OHCI generic platform driver
[ 1.601790] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 1.608508] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 1.616454] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[ 1.689409] hub 2-0:1.0: USB hub found
[ 1.693234] hub 2-0:1.0: 1 port detected
[ 1.698540] usbcore: registered new interface driver cdc_acm
[ 1.704204] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.712411] usbcore: registered new interface driver usb-storage
[ 1.718605] usbcore: registered new interface driver usbserial
[ 1.724523] usbcore: registered new interface driver usbserial_generic
[ 1.731080] usbserial: USB Serial support registered for generic
[ 1.737146] usbcore: registered new interface driver ch341
[ 1.742657] usbserial: USB Serial support registered for ch341-uart
[ 1.748975] usbcore: registered new interface driver cp210x
[ 1.754590] usbserial: USB Serial support registered for cp210x
[ 1.760567] usbcore: registered new interface driver ftdi_sio
[ 1.766367] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 1.773783] usbcore: registered new interface driver pl2303
[ 1.779426] usbserial: USB Serial support registered for pl2303
[ 1.785402] usbcore: registered new interface driver usb_serial_simple
[ 1.791973] usbserial: USB Serial support registered for carelink
[ 1.798124] usbserial: USB Serial support registered for zio
[ 1.803807] usbserial: USB Serial support registered for funsoft
[ 1.809881] usbserial: USB Serial support registered for flashloader
[ 1.816276] usbserial: USB Serial support registered for google
[ 1.822217] usbserial: USB Serial support registered for vivopay
[ 1.828259] usbserial: USB Serial support registered for moto_modem
[ 1.834561] usbserial: USB Serial support registered for novatel_gps
[ 1.840935] usbserial: USB Serial support registered for hp4x
[ 1.846715] usbserial: USB Serial support registered for suunto
[ 1.852672] usbserial: USB Serial support registered for siemens_mpi
[ 1.860275] mousedev: PS/2 mouse device common for all mice
[ 1.866733] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[ 1.875647] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 1.882440] sun6i-rtc 1c20400.rtc: RTC enabled
[ 1.887069] i2c /dev entries driver
[ 1.891995] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input1
[ 1.901183] usbcore: registered new interface driver uvcvideo
[ 1.906999] USB Video Class driver (1.1.1)
[ 1.911775] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.974376] sunxi-mmc 1c0f000.mmc: base:0xc48d5000 irq:23
[ 2.021770] mmc0: host does not support reading read-only switch, assuming write-enable
[ 2.031964] mmc0: new high speed SDHC card at address 59b4
[ 2.037951] sunxi-mmc 1c10000.mmc: base:0xc48d9000 irq:24
[ 2.044408] usbcore: registered new interface driver usbhid
[ 2.049986] usbhid: USB HID core driver
[ 2.054630] mmcblk0: mmc0:59b4 USD 960 MiB
[ 2.060967] sun4i-codec 1c22c00.codec: ASoC: /soc/codec-analog@01c23000 not registered
[ 2.069017] sun4i-codec 1c22c00.codec: Failed to register our card
[ 2.075486] mmcblk0:
[ 2.082424] NET: Registered protocol family 17
[ 2.087143] Registering SWP/SWPB emulation handler
[ 2.097417] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 2.108792] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 2.114633] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[ 2.123702] hub 3-0:1.0: USB hub found
[ 2.127726] hub 3-0:1.0: 1 port detected
[ 2.135387] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[ 2.143931] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 00:53:48 UTC (3228)
[ 2.152449] vcc5v0: disabling
[ 2.155484] ALSA device list:
[ 2.158452] #0: V3s Audio Codec
[ 2.164719] Freeing unused kernel memory: 1024K
mount: mounting tmpfs on /dev/shm failed: Invalid argument
mount: mounting tmpfs on /tmp failed: Invalid argument
mount: mounting tmpfs on /run failed: Invalid argument
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
Starting logging: OK
Starting mdev...
Initializing random number generator... done.
Starting network: OK
[ 3.390126] Mass Storage Function, version: 2009/09/11
[ 3.395429] LUN: removable file: (no medium)
[ 3.399915] LUN: removable file: /dev/mmcblk0
[ 3.404274] Number of LUNs=1
[ 3.439440] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[ 3.446555] g_mass_storage gadget: userspace failed to provide iSerialNumber
[ 3.453601] g_mass_storage gadget: g_mass_storage ready
# [ 215.284394] random: crng init done
晕哥 启动之后无法挂载sd nand到pc 看不到是哪的问题 能帮忙分析一下嘛 信息
页次: 1