Allwinner (sunxi) ──────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ There is no help available for this option. │
│ Symbol: USB_MUSB_SUNXI [=y] │
│ Type : tristate │
│ Prompt: Allwinner (sunxi) │
│ Location: │
│ -> Device Drivers │
│ -> USB support (USB_SUPPORT [=y]) │
│ -> Inventra Highspeed Dual Role Controller (TI, ADI, AW, ...) (USB_MUSB_HDRC [=y]) │
│ Defined at drivers/usb/musb/Kconfig:66 │
│ Depends on: USB_SUPPORT [=y] && USB_MUSB_HDRC [=y] && ARCH_SUNXI [=y] && NOP_USB_XCEIV [=y] && PHY_SUN4I_USB [=y] && EXTCON [=y] && GENERIC_PHY [=y] │
│ Selects: SUNXI_SRAM [=y]
仅供参考
--- USB support │ │
│ │ <*> Support for Host-side USB │ │
│ │ [ ] USB announce new devices │ │
│ │ *** Miscellaneous USB options *** │ │
│ │ [*] Enable USB persist by default │ │
│ │ [ ] Dynamic USB minor allocation │ │
│ │ [ ] OTG support │ │
│ │ [ ] Rely on OTG and EH Targeted Peripherals List │ │
│ │ [ ] Disable external hubs │ │
│ │ < > USB port LED trigger │ │
│ │ < > USB Monitor │ │
│ │ < > Support WUSB Cable Based Association (CBA) │ │
│ │ *** USB Host Controller Drivers *** │ │
│ │ < > Cypress C67x00 HCD support │ │
│ │ < > xHCI HCD (USB 3.0) support │ │
│ │ <*> EHCI HCD (USB 2.0) support │ │
│ │ [ ] Root Hub Transaction Translators │ │
│ │ [*] Improved Transaction Translator scheduling │ │
│ │ <*> Generic EHCI driver for a platform device │ │
│ │ < > OXU210HP HCD support │ │
│ │ < > ISP116X HCD support │ │
│ │ < > ISP1362 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 │ │
│ │ < > R8A66597 HCD support │ │
│ │ [ ] HCD test mode support │ │
│ │ *** USB Device Class drivers *** │ │
│ │ < > USB Modem (CDC ACM) support │ │
│ │ < > USB Printer support │ │
│ │ <*> USB Wireless Device Management support │ │
│ │ < > USB Test and Measurement Class support │ │
│ │ *** NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may *** │ │
│ │ *** also be needed; see USB_STORAGE Help for more info ***
<*> USB Mass Storage support │ │
│ │ [ ] USB Mass Storage verbose debug │ │
│ │ < > Realtek Card Reader support │ │
│ │ < > Datafab Compact Flash Reader support │ │
│ │ < > Freecom USB/ATAPI Bridge support │ │
│ │ < > ISD-200 USB/ATA Bridge support │ │
│ │ < > USBAT/USBAT02-based storage support │ │
│ │ < > SanDisk SDDR-09 (and other SmartMedia, including DPCM) support │ │
│ │ < > SanDisk SDDR-55 SmartMedia support │ │
│ │ < > Lexar Jumpshot Compact Flash Reader │ │
│ │ < > Olympus MAUSB-10/Fuji DPC-R1 support │ │
│ │ < > Support OneTouch Button on Maxtor Hard Drives │ │
│ │ < > Support for Rio Karma music player │ │
│ │ < > SAT emulation on Cypress USB/ATA Bridge with ATACB │ │
│ │ < > USB ENE card reader support │ │
│ │ <*> USB Attached SCSI │ │
│ │ *** USB Imaging devices *** │ │
│ │ < > USB Mustek MDC800 Digital Camera support │ │
│ │ < > Microtek X6USB scanner support │ │
│ │ < > USB/IP support │ │
│ │ <*> Inventra Highspeed Dual Role Controller (TI, ADI, AW, ...) │ │
│ │ MUSB Mode Selection (Dual Role mode) ---> │ │
│ │ *** Platform Glue Layer *** │ │
│ │ <*> Allwinner (sunxi) │ │
│ │ *** MUSB DMA mode *** │ │
│ │ [ ] Disable DMA (always use PIO) │ │
│ │ < > DesignWare USB3 DRD Core Support │ │
│ │ < > DesignWare USB2 DRD Core Support │ │
│ │ < > ChipIdea Highspeed Dual Role Controller │ │
│ │ < > NXP ISP 1760/1761 support │ │
│ │ *** USB port drivers *** │ │
│ │ < > USB Serial Converter support ---- │ │
│ │ *** USB Miscellaneous drivers *** │ │
│ │ < > EMI 6|2m USB Audio interface support │ │
│ │ < > EMI 2|6 USB Audio interface support
< > ADU devices from Ontrak Control Systems │ │
│ │ < > USB 7-Segment LED Display │ │
│ │ < > USB Lego Infrared Tower support │ │
│ │ < > USB LCD driver support │ │
│ │ < > Cypress CY7C63xxx USB driver support │ │
│ │ < > Cypress USB thermometer driver support │ │
│ │ < > Siemens ID USB Mouse Fingerprint sensor support │ │
│ │ < > Elan PCMCIA CardBus Adapter USB Client │ │
│ │ < > Apple Cinema Display support │ │
│ │ < > USB 2.0 SVGA dongle support (Net2280/SiS315) │ │
│ │ < > USB LD driver │ │
│ │ < > PlayStation 2 Trance Vibrator driver support │ │
│ │ < > IO Warrior driver support │ │
│ │ < > USB testing driver │ │
│ │ < > USB EHSET Test Fixture driver │ │
│ │ < > iSight firmware loading support │ │
│ │ < > USB YUREX driver support │ │
│ │ < > Functions for loading firmware on EZUSB chips │ │
│ │ < > USB251XB Hub Controller Configuration Driver │ │
│ │ < > USB3503 HSIC to USB20 Driver │ │
│ │ < > USB4604 HSIC to USB20 Driver │ │
│ │ < > USB Link Layer Test driver │ │
│ │ < > ChaosKey random number generator driver support │ │
│ │ USB Physical Layer drivers ---> │ │
│ │ <*> USB Gadget Support ---> │ │
│ │ USB Power Delivery and Type-C drivers ---> │ │
│ │ [ ] USB LED Triggers │ │
│ │ < > USB ULPI PHY interface support
按照官方repo教程,下载了官方的1.0.1版本,然后安装了芒果1216版本patch,按照本网页编译方法选择 d1-mangopi_mq_rgb480x272_rtp
编译报错:
gdbusauth.c: In function '_g_dbus_auth_run_server':
gdbusauth.c:1298:11: error: '%s' directive argument is null [-Werror=format-overflow=]
1298 | debug_print ("SERVER: WaitingForBegin, read '%s'", line);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
解决方法:
find ./ -name "gdbusauth.c"
找到该文件,以及同目录下的gdbusmessage.c,修改以下内容:
gdbusauth.c文件中1299行,
debug_print ("SERVER: WaitingForBegin, read '%s'", line);
前面加上 if(line != NULL )
gdbusmessage.c文件第2699行,在
tupled_signature_str = g_strdup_printf("(%s)",signature_str);
前加上 if(signature_str != NULL )
重新make
首先在openwrt镜像站下载镜像,这里我选择了清华的openwrt镜像站,Openwrt版本是19.07.3-x86。其他版本可以自行查找。链接如下[openwrt-19.07.3-x86-generic-combined-ext4.img.gz](https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/19.07.3/targets/x86/generic/openwrt-19.07.3-x86-generic-combined-ext4.img.gz) ,镜像很小,只有8M。
下载下来之后,使用7z解压到我们需要的目录,解压之后文件为 openwrt-19.07.3-x86-generic-combined-ext4.img
我们开始制作Vmware系统镜像。这里要用到的软件如下:
StarWind V2V Converter
Vmware Workstation
以及第一步下载的openwrt img镜像
以下操作假设你已经安装好了Vmware和StarWind V2V软件,安装教程网上都有。
打开StarWind V2V软件,按照如下步骤
1. 选择Local file
2. 这里的File name选择你之前解压出来的img文件。选择Next
3. 选择Next
4. 选择VMDK,点击Next
5. 这里我喜欢选择预分配的镜像,而不是增长的镜像,是因为可增长的镜像删除文件后,并不会归还空间。导致镜像越来越大。具体如何增加镜像大小,后面讲,这里原始的官方镜像空间是273M.
点击Next
6. 这里选择你vmdk文件存放的位置。然后点击Convert
7. 转换完成后,点击Finsh
**注意,这里磁盘大小可以随便选,我们并不用这个磁盘文件。**
**注意下面的文件名都是跟你创建虚拟机时虚拟机的名称有关系,我虚拟机名是Openwrt-19.07.3-x86,因此磁盘镜像名就是 Openwrt-19.07.3-x86.vmdk**
1. 创建虚拟机完成后,我们先不启动(当然启动也启动不了)。找到虚拟机存放目录,我这里是(F:\vmware\Openwrt-19.07.3-x86)。删除目录下自动生成的vmdk文件,我这里是Openwrt-19.07.3-x86.vmdk。
2. 将之前使用starConvert转换生成的两个文件文件拷贝到虚拟机目录下
openwrt-19.07.3-x86-generic-combined-ext4.vmdk
openwrt-19.07.3-x86-generic-combined-ext4-flat.vmdk
并将名字分别改为
openwrt-19.07.3-x86.vmdk
openwrt-19.07.3-x86-flat.vmdk
效果如下图
3. 用文本文件打开Openwrt-19.07.3-86.vmdk,修改链接的磁盘文件名为 Openwrt-19.07.3-x86-flat.vmdk
1. 虚拟机设置里面,新增一个磁盘,这里我选择的是2G,增加完成后应该是2个磁盘
2. 启动虚拟机Openwrt-19.07.3-x86,没有意外的话,应该可以启动了。
Tips: 第一次启动的时候会提示下图,实际上是提示的DVD,点否即可
2. 见到如下图,说明启动成功
这一步也可以使用luci登录后网页方式修改。
1. 在虚拟机窗口里面单击进入。回车,进行配置
vi /etc/config/network
配置成下图
vi /etc/config/firewall
将WAN口的入口方向改为ACCEPT打开
2. reboot 重启。
3. 等待重启完成后,再次单击并回车进入shell,ifconfig查看dhcp获取到的IP地址。我这里是192.168.106.130
## 二、 配置openwrt
**Tips1:首次登陆没有密码,直接按回车即可登录。**
**Tips2:下面的操作也可直接用shell命令直接修改。**
1. 设置密码,在System->Administration中随意设置
2. 更新软件包列表
3. 更新完成后,安装以下软件包
luci-i18n-base-zh-cn #中文语言包
cfdisk # 磁盘工具
block-mount # 挂载工具
4. 新增的磁盘要手动初始化成ext4,
ssh登录到openwrt。
mkfs.ext4 /dev/sdb
5. 进入luci的挂载点,新增挂载点,这里我想挂载到的是/root目录
然后保存并应用。
6. 继续安装以下软件包。
有些包比较大,可以直接去 https://mirror.tuna.tsinghua.edu.cn/openwrt/releases/19.07.3/packages/i386_pentium4/packages/ 下面下载
# 编译相关
make
gdb
gdbserver
gcc # 这个比较大,可以直接到清华镜像网站去下载,然后上传上去安装
openssh-server
openssh-sftp-server
rsync
coreutils-tty
7. 编译并安装zip
这个是因为openwrt未提供,但vs2019又需要,所以自行编译。下载https://nchc.dl.sourceforge.net/project/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz。并传到/root目录
cd /root
tar -xzvf zip30.tar.gz
cd zip30
修改unix/Makefile ,将prefix=/usr/local 改为 prefix=/usr
vi unix/Makefile
开始编译
make -f unix/Makefile generic_gcc
make -f unix/Makefile install
/usr/bin/zip #检查是否安装正确
8. 下面修改dropbear为openssh
参考:https://blog.csdn.net/Kenon_Lin/article/details/80976162修改 /etc/ssh/sshd_config 将#PermitRootLogin without-password 修改为 PermitRootLogin yes
vi /etc/ssh/sshd_config
修改dropbear的端口
uci set dropbear.@dropbear[0].Port=2222
uci commit dropbear
/etc/init.d/dropbear restart
reboot #重启生效
1. 安装VS2019社区版,直接选择以下项即可
2. 创建C++控制台项目,进行测试
3. 工具->选项->跨平台。增加一个ssh连接
4. 编译工程,成功。可以直接进行在线调试
在编写C代码时,涉及到头文件路径的设置。可能会提示找不到头文件。
1. 对于系统头文件,如 stdio.h stdlib.h等等,首先要包含目标系统的include目录
本地最好也拷贝一份include文件。下载并解压到本地目录,这里解压到:\Users\ucgs\source\repos\
tar -cvf include.tar /usr/include
并设置头文件包含目录
2. 动态库也差不多设置方法
@sunxiang
我还是自己顶一下。如果需要焊接入门的小白,可以参考。
------------------------------------------------------
1星难度:焊接接插件,例如排针。
3星难度:焊接贴片电阻、电容,例如0805,0603。
5星难度:焊接SOP封装。
------------------------------------------------------
7星难度:焊接LQPF封装,例如V3S。
8星难度:焊接QFN封装,例如F1C100S。
10星难度:焊接BGA封装,例如全志H3。
------------------------------------------------------
对于手焊来说:
BGA顶多算7-8星难度,10星难度的是DQFN(双排QFN),典型的是MT7288A之流
硬件环境:MT7621,
软件环境 openwrt 19.07.3
内核:4.14
例如读取gpio14端口的输入点值。
1. 采用shell命令读取均正常。
cat /sys/class/gpio/gpio14/value
2. 在C程序里面,当采用read读取的时候,第一次读取是正确的,
// 朝向
#define OUT "out"
#define IN "in"
#define EXPORT_PATH "/sys/class/gpio/export"
/**
* @brief 门禁检测引脚
*/
#define DEV_PATH_DOOR_DETE "/sys/class/gpio/gpio14/value"
#define DIRECT_PATH_DOOR_DETE "/sys/class/gpio/gpio14/direction"
#define GPIO_DOOR_DETE "14"
static int init_detect_io(char *export_path, char *dev_path, char *direct_path, char *gpio);
static int fd_dev = -1;
void drv_door_detect_init(void)
{
fd_dev = init_detect_io(EXPORT_PATH, DEV_PATH_DOOR_DETE, DIRECT_PATH_DOOR_DETE, GPIO_DOOR_DETE);
}
static int init_detect_io(char *export_path, char *dev_path, char *direct_path, char *gpio)
{
// 打开GPIO设备导出设备
int fd_export = open(export_path, O_WRONLY);
if (fd_export < 0)
{
perror("open export");
return 0;
}
// 向export文件写入GPIO排列序号字符串
write(fd_export, gpio, strlen(gpio));
close(fd_export);
// 打开GPIO输入输出控制设备
int fd_dir = open(direct_path, O_RDWR);
if (fd_dir < 0)
{
perror("open direction");
return 0;
}
// 设置输出方向
write(fd_dir, IN, strlen(IN));
close(fd_dir);
// 打开GPIO输入输出控制设备
int ret = -1;
ret = open(dev_path, O_RDONLY);
if (ret < 0)
{
perror("open dev");
return 0;
}
return ret;
}
/**
* @brief 检测门磁信号
* @note
* @retval 1或者0. 门磁断路检测到0,门磁通路检测到1
*/
bool drv_door_detect(void)
{
char level[2] = {0};
bool door_state;
int ret = -1;
ret = read(fd_dev, level, sizeof(level));
if(ret < 0)
{
perror("read error\n");
return 0;
}
if (level[0] == '0')
{
door_state = false;
}
else
{
door_state = true;
}
return door_state;
}
在第一次执行 ret = read(fd_dev, level, sizeof(level)); level的值为"1",也就是{0x31 0x00}
第二次执行ret = read(fd_dev, level, sizeof(level)); 后, ret = 0,level = {0x00,0x00}。
后面始终和第二次执行一眼改的结果。
求教这是什么情况呢,是不是我写法哪里不对
很感兴趣的问题,拿着楼主的代码仔细的走了走发现这个问题其实还是编译器对未声明的函数默认状态处理的问题。
当函数不存在声明的时候,应该默认为int func(void)作为函数的状态的,这个可以通过调用约定和反汇编看到,只存在rax返回值,且默认还清零了。
故gcc将这个64位地址截断为32位的int值再拓展到了64位上去了,这才是后面段错误的核心原因。
看来这种不明显的警告很多时候还是非常危险,应该多确认下是否有异常。1. 通过gdb进入到getpshm函数内,打印data地址信息,发现该地址是个正确地址
(gdb) p data
$3 = 0x7ffff7ffb000 '\377' <repeats 20 times>
2. 手动将程序执行到程序的末尾位置,打印返回值寄存器信息。此时返回值是一个正常的状态
(gdb) info registers eax
eax 0xf7ffb000 -134238208
(gdb) info registers rax
rax 0x7ffff7ffb000 140737354117120
3. 继续程序执行,完成函数,打印返回值寄存器信息,此时异常已经发生。
(gdb) info registers rax
rax 0xfffffffff7ffb000 -134238208
(gdb) info registers eax
eax 0xf7ffb000 -134238208
4. 继续执行到memset时,该地址空间处于不可访问空间地址,写操作必然崩溃而引起segment fault。(gdb) disassemble Dump of assembler code for function subthread: 0x0000555555555249 <+0>: endbr64 0x000055555555524d <+4>: push %rbp 0x000055555555524e <+5>: mov %rsp,%rbp 0x0000555555555251 <+8>: sub $0x20,%rsp 0x0000555555555255 <+12>: mov %rdi,-0x18(%rbp) 0x0000555555555259 <+16>: mov $0x0,%eax 0x000055555555525e <+21>: callq 0x555555555312 <getpshm> => 0x0000555555555263 <+26>: cltq //cltq指令,特指%eax->%rax的符号拓展转换,等价于movslq %eax,%rax 0x0000555555555265 <+28>: mov %rax,-0x8(%rbp) 0x0000555555555269 <+32>: lea 0xd94(%rip),%rdi # 0x555555556004 0x0000555555555270 <+39>: callq 0x5555555550e0 <puts@plt> 0x0000555555555275 <+44>: cmpq $0x0,-0x8(%rbp) 0x000055555555527a <+49>: je 0x55555555529e <subthread+85> 0x000055555555527c <+51>: mov -0x8(%rbp),%rax 0x0000555555555280 <+55>: mov $0x14,%edx 0x0000555555555285 <+60>: mov $0xff,%esi 0x000055555555528a <+65>: mov %rax,%rdi 0x000055555555528d <+68>: callq 0x555555555120 <memset@plt> 0x0000555555555292 <+73>: lea 0xd7e(%rip),%rdi # 0x555555556017 0x0000555555555299 <+80>: callq 0x5555555550e0 <puts@plt> 0x000055555555529e <+85>: mov $0x1,%edi 0x00005555555552a3 <+90>: callq 0x555555555150 <sleep@plt> 0x00005555555552a8 <+95>: jmp 0x55555555529e <subthread+85> End of assembler dump.
拜读了大佬的帖子,豁然开朗 - - 谢谢
test2.c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <semaphore.h>
#include <fcntl.h>
#include <string.h>
#define MMAP_DATA_SIZE 1024
char *data = NULL;
int fd ;
char *getpshm(void)
{
return data;
}
void initshm(void)
{
fd = shm_open("shm0001", O_CREAT|O_RDWR, 0777);
if (fd < 0) {
printf("shm_open failed!\n");
return ;
}
ftruncate(fd, MMAP_DATA_SIZE);
data = (char*)mmap(NULL, MMAP_DATA_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
}
main.c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <semaphore.h>
#include <fcntl.h>
#include <string.h>
//char *getpshm(void);
void initshm(void);
//子线程
void *subthread(void *arg)
{
char *p = getpshm();
printf("subthread started!\n");
if( p ) {
memset(p, 0xff, 20); // 发生segment fault
printf("shm test success!\n");
}
while(1) {
sleep(1);
}
}
//主线程
int main(void)
{
int err;
pthread_t tid;
initshm();
// 创建子线程
err = pthread_create(&tid, NULL, subthread, NULL);
if( err ) {
perror("create eth poll thread");
exit(EXIT_FAILURE);
}
while(1) {
sleep(1);
}
}
main.c中没有声明test2.c中的 char *getpshm(void) 函数,出了一个警告。
warning: initialization makes pointer from integer without a cast [-Wint-conversion]
这时候运行到memset的时候 就会出现segment fault
结贴,是因为我写了这样一个函数在另一个C文件中,
void initshm(void)
{
fd = shm_open("shm0001", O_CREAT|O_RDWR, 0777);
if (fd < 0) {
printf("shm_open failed!\n");
return ;
}
ftruncate(fd, MMAP_DATA_SIZE);
data = (char*)mmap(NULL, MMAP_DATA_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
}
char *getpshm(void)
{
return pshm;
}
然而在main.c中,没有声明char *getpshm(void); 一般来说,没有声明的函数好像默认的返回类型是int,不知为啥直接使用就出错了。
之前编译的时候就看到有这个警告,不过我选择了视而不见- -
遇到个linux编程问题请教一下各位大佬,在一个程序的主线程里面,使用shm_open创建了一个共享内存,然后mmap出来内存指针, 在主线程里面对这个共享内存进行赋值、读取都没问题,但是主线程创建的子线程中,直接对这个内存指针进行赋值时,就会segment fault。
因为代码在家里电脑上,主体含义就是下面的代码
#define MMAP_DATA_SIZE 1024
char *data = NULL;
//主线程
int main(void)
{
int fd = shm_open("shm0001", O_CREAT|O_RDWR, 0777);
if (fd < 0) {
printf("shm_open failed!\n");
return -1;
}
ftruncate(fd, MMAP_DATA_SIZE);
data = (char*)mmap(NULL, 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
// 创建子线程
.....
while(1) {
sleep(1);
}
}
//子线程
int subthread(void *arg)
{
if( data ) {
memset(data, 0xff, 20); // 发生segment fault
}
}
我本来的理解是 这个共享内存,按理说在同一个进程的多线程内,内存空间应该是统一的,应该只要mmap一次吧?或者说是不是要在子线程里面再mmap一次
SSD是不是不经常写的话故障率不高?
想着办公室就用SSD+低功耗主板CPU搭一个文件/GIT服务器好了,本地代码管理速度应该更快吧,还比硬盘更省电哈
如果不是考虑代码大小或者代码保密性的话,最好还是用gitee coding 或者 github之类的。
自己搭建看起来方便又简单,实际上要考虑很多,至少要最好:
1. 至少有一个磁盘组raid1,用来防止另一块硬盘突然挂掉。
2. 至少要写个脚本或者什么软件进行自动将git仓库定期备份到云端(网盘之类的)
3. 如果放在家里的话,最好还要弄个UPS防止突然断电。
4. 放在家里面的话,还要弄个DDNS,注册个域名,绑定电信宽带的动态公网IP。放在公司就需要跟公司申请端口
阿黄 说:你太直接了
虽然他公开,小心挨搞哦
我觉得既然放在主页上公开,就没想要保密,我想他们肯定欢迎广大开发者下载,这样也就能更快推广。 我还免费帮他宣传了一下呢。应该感谢我才对
vip888888 说:sprintf 说:看你的输出log提示应该是你那个的命令参数-e 没有吧?是执行了这个命令"-e ubi create rootfs 0xA00000" ssd的工程应该是读取images下面的配置文件执行里面的命令参数来更新的,你可以在image用grep看能不能搜索到上面那条命令。
感谢提醒,确实我后来在他那个image里面的配置文件[[set_partition.es里找到了这个输出,后来我搜索到生成此文件的命令。在project/image/configs/i2m/script_nand.mk中。里面用了echo -e参数。sh脚本把-e 直接当参数写入了配置文件。
对于我现在用的ubuntu 18.04来说 用“sh”执行是调用“/bin/sh”作为执行器,而采用“./”执行是调用申明的“/bin/bash”,而“sh”不支持“echo -e”,所以把“-e”作为内容输出。所以导致配置文件多了个-e选项。
有开发资料可以分享一下吗?
410791550@qq.com 求个sdk学习一下
上传一份深圳启明云端做的核心板资料。
IDO-SOM2D01-Datasheet-CN.pdf
看一牛网上说是他们家在主推,价格好像在2.8美金左右,就是不知道是批量价还是
双USB双LAN看着真馋,只是不知道如果在系统移植的话,难度大不大
sprintf 说:看你的输出log提示应该是你那个的命令参数-e 没有吧?是执行了这个命令"-e ubi create rootfs 0xA00000" ssd的工程应该是读取images下面的配置文件执行里面的命令参数来更新的,你可以在image用grep看能不能搜索到上面那条命令。
感谢提醒,确实我后来在他那个image里面的配置文件[[set_partition.es里找到了这个输出,后来我搜索到生成此文件的命令。在project/image/configs/i2m/script_nand.mk中。里面用了echo -e参数。sh脚本把-e 直接当参数写入了配置文件。
对于我现在用的ubuntu 18.04来说 用“sh”执行是调用“/bin/sh”作为执行器,而采用“./”执行是调用申明的“/bin/bash”,而“sh”不支持“echo -e”,所以把“-e”作为内容输出。所以导致配置文件多了个-e选项。
有开发资料可以分享一下吗?
include/configs/sunxi-common.h
#define CONFIG_CONS_INDEX 2 /* UART1 */
下面增加
#elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN8I)
#define OF_STDOUT_PATH "/soc@01c00000/serial@01c28400:115200"
//还有增加这个引脚的初始化驱动
u-boot/arch/arm/include/asm/arch-sunxi/gpio.h增加#define SUN8I_V3S_GPE_UART1 4
u-boot/arch/arm/arch-sunxi/board.c
static int gpio_init(void)
{
增加
#elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN8I_V3S)
sunxi_gpio_set_cfgpin(SUNXI_GPE(21), SUN8I_V3S_GPE_UART1);
sunxi_gpio_set_cfgpin(SUNXI_GPE(22), SUN8I_V3S_GPE_UART1);
sunxi_gpio_set_pull(SUNXI_GPE(22), SUNXI_GPIO_PULL_UP);
}
关注 V3S uboot 使用uart1需要修改的地方.
目前官方uboot 2020.7 还没有修正。
另外 u-boot/arch/arm/arch-sunxi/board.c 正确路径应该是u-boot/arch/arm/march-sunxi/board.c
分享个licheepi nano镜像,支持adb调试
http://whycan.com/t_2794.html#p23116
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)@阿黄也碰到一样的问题
我应该也没解决,后来已经完全不用rndis了
关键是什么价格,好不好买
我看淘宝这家核心板才59/65,按理说芯片应该不会太贵,不过芯片资料查了老半天,确实比较难找
https://item.taobao.com/item.htm?id=626315108138&tracelogww=ltckbburl
SSD201/SSD202芯片芯片规格:
· A7双核1.2GHz,内置DDR2-64MByte /DDR3-128MByte;
· 支持MIPI/RGB接口点屏,支持FHD(1920*1080)高清屏;
· 内置硬件2D图形加速,支持硬件90度转屏;
· 内置双MAC,内置一个PHY,支持双100M以太网接口,性价比高;
· 内置H.264/H.265硬解码,支持FHD@60fps;
· 支持MJPEG编码FHD(1920*1080)@15fps;
· 内置codec芯片,无需外挂codec,支持语音对讲;
· 支持离线语音关键字识别,无需外加任何芯片;
· 支持2路模拟mic,支持4路数字mic接口;
· 支持2路USB2.0 Host,支持外挂WIFI芯片;
· 配套SigmaStar WIFI芯片,性能高,有自定义优化协议,实现级联,空旷传输达500米距离。
· QFN128封装,PCB可以走2层板。
· 芯片采用linux操作系统,3s快速开机,系统成熟稳定。
你看一下这个支持列表 https://wireless.wiki.kernel.org/en/users/drivers
我感觉RTL8192CU和RT2800系列支持的比较好。
昨晚我看了,openwrt自带的MT7601u驱动应该是不支持ap模式的,在系统中,使用iw list也表明了没有支持APmode,从github上找了一个 https://github.com/Anthony96922/mt7601u-ap ,还没编译成功
奇怪,我添加了Kmod_7601u kmod_rtl8192cu rtl8188eu等等,重新编译了,之前USB已经可以挂载U盘并读写文件,但是插入USB WIFI之后,只有一行
[ 188.722116] usb 1-1: new high-speed USB device number 3 using ehci-platform
貌似没有自动下载固件。还在研究中
下单的是MT7601U的网卡,结果发过来的是RTL8188EUS的。
root@OpenWrt:/# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0bda:8179 Realtek Semiconductor Corp. RTL8188EUS 802.11n Wireless Network Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
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"; };
我看到你的这个用了 simplefb, 如果这个地方继承了u-boot的simplefb, 那么可以不需要drm了。
adozip大佬的帖子大概是这么说的
Widora TINY200 R2 体验版开源开发包,修复了大部分F1C100s/F1C200s的遗留问题
http://whycan.cn/t_5061.html#p51424
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)
这里写了disabled, 已经禁用了。
你的设备树里面都没有 drm, 请问log里面的drm是怎么回事呢?
这一段
panel: panel {
compatible = "qiaodian,qd43003c0-40", "simple-panel";
#address-cells = <1>;
#size-cells = <0>;
enable-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>;//使能引脚 PB4脚为高使能 这里为pwm信号
// power-supply = <®_vcc3v3>;
// enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */
//backlight = <&backlight>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_lcd>;
};
};
};
&tcon0 {
pinctrl-names = "default";
pinctrl-0 = <&lcd_rgb666_pins>;
status = "okay";
};
&tcon0_out {
tcon0_out_lcd: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
更新一下进展:
1. panel节点型号应该是对的,因为我用别人的4.13版本镜像,用的也是这个compatible = "qiaodian,qd43003c0-40", "simple-panel";是可以驱动的。
2. 通过命令 echo 0 > /sys/class/graphics/fb0/blank 是禁止休眠,这时候有LCD信号,全屏蓝色。
通过命令 echo 1 > /sys/class/graphics/fb0/blank 是使能休眠,这时候没有LCD信号,全屏花色。
3. 示波器测试,DE HSYNC VSYNC信号都是有的,但是RGB数据信号始终是固定的,
4. 通过cat /dev/random > /dev/fb0 或者按drm的测试方法./modetest -M sun4i-drm -D 0 -a -s 30@28:480x272 -P 27@28:480x272 进行测试
在命令执行时,示波器测试RGB信号线,也是没有任何变化。
感觉如果是LCD时序,应该至少RGB数据有变化才对,所以不是LCD时序的问题。更像是DRM与LCD没有关联好的感觉。
下一步打开drm的debug信息看看,虽然可能最终可能只是某个配置没设置好,但查问题的过程还是很有收获的。
LCD有信号时:
LCD无信号时:
lichee pi zero 焊接了 32M spi nor flash
烧写系统后
首次启动日志如下:U-Boot SPL 2017.01-rc2-gdd6e874-dirty (Aug 14 2020 - 22:35:58) DRAM: 64 MiB Trying to boot from sunxi SPI U-Boot 2017.01-rc2-gdd6e874-dirty (Aug 14 2020 - 22:35:58 +0800) Allwinner Technology CPU: Allwinner V3s (SUN8I 1681) Model: Lichee Pi Zero DRAM: 64 MiB MMC: SUNXI SD/MMC: 0 SF: Detected mx25l25635f with page size 256 Bytes, erase size 64 KiB, total 32 MiB *** Warning - bad CRC, using default environment In: serial@01c28000 Out: serial@01c28000 Err: serial@01c28000 U-Boot 2017.01-rc2-gdd6e874-dirty (Aug 14 2020 - 22:35:58 +0800) Allwinner Technology CPU: Allwinner V3s (SUN8I 1681) Model: Lichee Pi Zero DRAM: 64 MiB MMC: SUNXI SD/MMC: 0 SF: Detected mx25l25635f with page size 256 Bytes, erase size 64 KiB, total 32 MiB *** Warning - bad CRC, using default environment In: serial@01c28000 Out: serial@01c28000 Err: serial@01c28000 Net: No ethernet found. starting USB... No controllers found Hit any key to stop autoboot: 0 SF: Detected mx25l25635f with page size 256 Bytes, erase size 64 KiB, total 32 MiB device 0 offset 0xa0000, size 0x10000 SF: 65536 bytes @ 0xa0000 Read: OK device 0 offset 0xb0000, size 0x410000 SF: 4259840 bytes @ 0xb0000 Read: OK ## Flattened Device Tree blob at 41800000 Booting using the fdt blob at 0x41800000 Loading Device Tree to 42dfa000, end 42dfffc5 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.2.0-licheepi-zero+ (pi@vm) (gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)) #2 SMP Thu Aug 13 06:40:23 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 with Dock [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] percpu: Embedded 16 pages/cpu s34508 r8192 d22836 u65536 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: setenv bootargs console=ttyS0,115200 earlyprintk panic=5 rootwait mtdparts=spi0.0:640k(uboot),64k(dtb)ro,4160k(kernel)ro,-(rootfs) root=/dev/mtdblock3 rw rootfstype=jffs2 init=/linuxrc vt.global_cursor_default=0 [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] Memory: 55044K/65536K available (6144K kernel code, 302K rwdata, 1696K rodata, 1024K init, 255K bss, 10492K reserved, 0K cma-reserved, 0K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 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] random: get_random_bytes called from start_kernel+0x2fc/0x488 with crng_init=0 [ 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.000020] Switching to timer-based delay loop, resolution 41ns [ 0.000208] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000450] Console: colour dummy device 80x30 [ 0.000507] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.000524] pid_max: default: 32768 minimum: 301 [ 0.000690] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.000706] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.001514] CPU: Testing write buffer coherency: ok [ 0.002019] /cpus/cpu@0 missing clock-frequency property [ 0.002048] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.002889] Setting up static identity map for 0x40100000 - 0x40100060 [ 0.003101] rcu: Hierarchical SRCU implementation. [ 0.003639] smp: Bringing up secondary CPUs ... [ 0.003661] smp: Brought up 1 node, 1 CPU [ 0.003671] SMP: Total of 1 processors activated (48.00 BogoMIPS). [ 0.003677] CPU: All CPU(s) started in SVC mode. [ 0.004758] devtmpfs: initialized [ 0.008326] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.008646] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.008679] futex hash table entries: 256 (order: 2, 16384 bytes, linear) [ 0.008919] pinctrl core: initialized pinctrl subsystem [ 0.010058] NET: Registered protocol family 16 [ 0.010615] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.011901] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.011920] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.036185] SCSI subsystem initialized [ 0.036361] usbcore: registered new interface driver usbfs [ 0.036438] usbcore: registered new interface driver hub [ 0.036550] usbcore: registered new device driver usb [ 0.036755] mc: Linux media interface: v0.10 [ 0.036795] videodev: Linux video capture interface: v2.00 [ 0.037011] Advanced Linux Sound Architecture Driver Initialized. [ 0.038364] clocksource: Switched to clocksource arch_sys_counter [ 0.050917] NET: Registered protocol family 2 [ 0.051738] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 0.051776] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.051804] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear) [ 0.051829] TCP: Hash tables configured (established 1024 bind 1024) [ 0.051976] UDP hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.052028] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear) [ 0.052346] NET: Registered protocol family 1 [ 0.054251] Initialise system trusted keyrings [ 0.054635] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.061834] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 0.098224] Key type asymmetric registered [ 0.098244] Asymmetric key parser 'x509' registered [ 0.098438] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 0.098458] io scheduler mq-deadline registered [ 0.098466] io scheduler kyber registered [ 0.099510] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO [ 0.103273] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver [ 0.177530] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled [ 0.180234] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pb not found, using dummy regulator [ 0.181361] printk: console [ttyS0] disabled [ 0.201668] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A [ 0.726776] printk: console [ttyS0] enabled [ 0.757636] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator [ 0.769392] m25p80 spi0.0: mx25l25635e (32768 Kbytes) [ 0.774481] 4 cmdlinepart partitions found on MTD device spi0.0 [ 0.780461] Creating 4 MTD partitions on "spi0.0": [ 0.785255] 0x000000000000-0x0000000a0000 : "uboot" [ 0.792537] 0x0000000a0000-0x0000000b0000 : "dtb" [ 0.799683] 0x0000000b0000-0x0000004c0000 : "kernel" [ 0.806904] 0x0000004c0000-0x000002000000 : "rootfs" [ 0.814596] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.821284] ehci-platform: EHCI generic platform driver [ 0.826839] ehci-platform 1c1a000.usb: EHCI Host Controller [ 0.832541] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1 [ 0.840525] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000 [ 0.868368] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00 [ 0.875574] hub 1-0:1.0: USB hub found [ 0.879558] hub 1-0:1.0: 1 port detected [ 0.884168] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.890525] ohci-platform: OHCI generic platform driver [ 0.896078] ohci-platform 1c1a400.usb: Generic Platform OHCI controller [ 0.902802] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2 [ 0.910780] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400 [ 0.983444] hub 2-0:1.0: USB hub found [ 0.987283] hub 2-0:1.0: 1 port detected [ 0.994591] usbcore: registered new interface driver usb-storage [ 1.001886] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0 [ 1.011155] sun6i-rtc 1c20400.rtc: registered as rtc0 [ 1.016220] sun6i-rtc 1c20400.rtc: RTC enabled [ 1.020929] i2c /dev entries driver [ 1.025826] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input1 [ 1.035735] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0) [ 1.044430] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator [ 1.080954] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB [ 1.088234] sun8i-v3s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pg not found, using dummy regulator [ 1.125097] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB [ 1.133207] usbcore: registered new interface driver usbhid [ 1.138875] usbhid: USB HID core driver [ 1.144537] sun4i-codec 1c22c00.codec: ASoC: codec-analog@01c23000 not registered [ 1.152164] sun4i-codec 1c22c00.codec: Failed to register our card [ 1.159567] Initializing XFRM netlink socket [ 1.163882] NET: Registered protocol family 17 [ 1.169211] Registering SWP/SWPB emulation handler [ 1.175103] Loading compiled-in X.509 certificates [ 1.186556] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator [ 1.198060] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver [ 1.203912] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3 [ 1.213347] hub 3-0:1.0: USB hub found [ 1.217227] hub 3-0:1.0: 1 port detected [ 1.223684] debugfs: Directory '1c22c00.codec' with parent 'V3s Audio Codec' already present! [ 1.232363] sun4i-codec 1c22c00.codec: ASoC: Failed to create component debugfs directory: -17 [ 1.242417] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok [ 1.251058] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T00:00:06 UTC (6) [ 1.259361] vcc5v0: disabling [ 1.262338] ALSA device list: [ 1.265304] #0: V3s Audio Codec [ 1.270868] random: fast init done [ 1.314985] random: crng init done [ 7.251462] VFS: Mounted root (jffs2 filesystem) on device 31:3. [ 7.258127] devtmpfs: mounted [ 7.262368] Freeing unused kernel memory: 1024K [ 7.267056] Run /linuxrc as init process Starting syslogd: OK Starting klogd: OK Running sysctl: OK Saving random seed: OK Starting network: OK Welcome to Buildroot for the LicheePi Zero licheepi-zero login: root #
为什么这个地方会花那么久
可能是什么原因
求指导[ 1.314985] random: crng init done [ 7.251462] VFS: Mounted root (jffs2 filesystem) on device 31:3.
都已经提示了啊,mount jffs2文件系统花了那么久
暂时还没有搞定,有2个疑问:
1. DRM和FB是可以同时用?还是说fb0是drm模拟出来的?
根据 [ 1.661374] sun4i-drm display-engine: fb0: frame buffer device 这个log感觉应该是drm层面上又模拟了一个fb0。
2. drm和fb0可以共存的吧?
后来使用了zero-4.14.y官方的dts,另外,根据licheepi的doc文档 http://zero.lichee.pro/%E9%A9%B1%E5%8A%A8/GPU&DRM.html?highlight=drm,
开启DRM还需要使能以下内核
support for simple panels
CMA
DMA_CMA
然后需要失能(注释)掉原来的simplefb在dts中的节点
以及 http://www.xn--bnq31s.xn--fiqs8s/?id=100中的描述
官方的Linux其实坑就稍微有点点坑了。首先就是花屏的问题,如果你就按上面的代码直接编译的话,那么是铁定会花屏的。LicheePi官方文档的GPU/DRM驱动页面最下面有一行字,说明如果你要使用屏幕的话,那么需要把默认的framebuffer失能。打开arch/arm/boot/dts/sun8i-v3s-licheepi-zero-with-lcd.dtsi,在尾部加上
/delete-node/ &simplefb_lcd;
这么一行就可以失能Framebuffer了。对于4.14kernel,还有一个问题就是屏幕背光不会亮,这时需要打开上面那个文件,将pwm和backlight两节注释掉,同时注释掉panel/port@0/backlight一行。
编译完成的东西在arch/arm/boot/zImage和arch/arm/boot/dts/sun8i-v3s-licheepi-zero*.dtb。
都试过了,还是不行。依旧背光亮,全屏蓝色,cat /dev/random > /dev/fb0 无反应。 dri/card0 暂时还没找到办法进行测试。
可以试下看有没有fb0的信息,之前我也遇到过有fb0的然后cat也没用,后来发现好像是写之后需要控制layout的选择。
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <linux/fb.h> int main(int argc, char **argv) { int fd; /* 打开fb设备文件 */ fd = open("/dev/fb0", O_RDWR); if (-1 == fd) { perror("open fb"); return -1; } /* 获取fix屏幕信息:获取命令为FBIOGET_FSCREENINFO */ struct fb_fix_screeninfo fixInfo; if (ioctl(fd, FBIOGET_FSCREENINFO, &fixInfo) == -1) { perror("get fscreeninfo"); close(fd); return -2; } /* 打印fix信息 */ printf("id = %s\n", fixInfo.id); /* 厂商id信息 */ printf("line length = %d\n", fixInfo.line_length); /* 这里获取的是一行像素所需空间 * 该空间大小是出厂时就固定的了 * 厂商会对一行像素字节进行对齐*/ /* 获取var屏幕的信息:获取命令为FBIOGET_VSCREENINFO */ struct fb_var_screeninfo varInfo; if (ioctl(fd, FBIOGET_VSCREENINFO, &varInfo) == -1) { perror("get var screen failed\n"); close(fd); return -3; } /* 打印var信息 */ printf("xres = %d, yres = %d\n", varInfo.xres, varInfo.yres); printf("bits_per_pixel = %d\n", varInfo.bits_per_pixel); printf("red: offset = %d, length = %d\n", \ varInfo.red.offset, varInfo.red.length); printf("green: offset = %d, length = %d\n", \ varInfo.green.offset, varInfo.green.length); printf("blue: offset = %d, length = %d\n", \ varInfo.blue.offset, varInfo.blue.length); printf("transp: offset = %d, length = %d\n", \ varInfo.transp.offset, varInfo.transp.length); close(fd); return 0; }
这这里显示是这个信息,用的480*272的40Pin通用屏。 您说的layout是指?
# ./helloworld
id =
line length = 1920
xres = 480, yres = 272
bits_per_pixel = 32
red: offset = 16, length = 8
green: offset = 8, length = 8
blue: offset = 0, length = 8
transp: offset = 0, length = 0
环境:
licheepi-zero dock
linux-4.19
u-boot2020.01(在uboot中没有驱动LCD,是在linux中进行驱动的)
问题现象:
进入kernel后,能够出现/dev/fb0、/dev/dri/card0。但是屏直接显示全屏蓝色。 使用 cat /dev/random > /dev/fb0 无任何反应。
使用百度的几个测试framebuffer的测试程序,也是没有任何变化,依然显示全屏蓝色
我使用linux 4.19内核,看起来4.19内核相比于4.13,显示驱动模型变了,
参考了
http://greedyhao.cc/2019/07/26/工作-Linux-2019-07-26-drm设备不工作/
这是我的config config.txt
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 4.14.180 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
CONFIG_MIGHT_HAVE_PCI=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_HAVE_PROC_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_ARM_PATCH_PHYS_VIRT=y
CONFIG_GENERIC_BUG=y
CONFIG_PGTABLE_LEVELS=3
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_CROSS_MEMORY_ATTACH is not set
# CONFIG_FHANDLE is not set
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_HANDLE_DOMAIN_IRQ=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
#
# RCU Subsystem
#
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_RCU_BOOST is not set
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_BUILD_BIN2C is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_GENERIC_SCHED_CLOCK=y
# CONFIG_CGROUPS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_CRASHLOG=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
# CONFIG_KALLSYMS_UNCOMPRESSED is not set
CONFIG_BPF=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
# CONFIG_SGETMASK_SYSCALL is not set
CONFIG_SYSFS_SYSCALL=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_POSIX_TIMERS=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT_ALWAYS_ON is not set
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
# CONFIG_USERFAULTFD is not set
CONFIG_MEMBARRIER=y
CONFIG_EMBEDDED=y
# CONFIG_MANGLE_BOOTARGS is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y
# CONFIG_PC104 is not set
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_SLUB_DEBUG is not set
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
# CONFIG_UPROBES is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_NMI=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_GCC_PLUGINS=y
# CONFIG_GCC_PLUGINS is not set
CONFIG_HAVE_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
# CONFIG_CC_STACKPROTECTOR_STRONG is not set
CONFIG_THIN_ARCHIVES=y
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_BITS_MAX=16
CONFIG_ARCH_MMAP_RND_BITS=8
# CONFIG_HAVE_ARCH_HASH is not set
# CONFIG_ISA_BUS_API is not set
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
# CONFIG_HAVE_ARCH_VMAP_STACK is not set
CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
# CONFIG_REFCOUNT_FULL is not set
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULE_STRIPPED=y
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_SCSI_REQUEST=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_CMDLINE_PARSER=y
# CONFIG_BLK_WBT is not set
# CONFIG_BLK_DEBUG_FS is not set
# CONFIG_BLK_SED_OPAL is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_EFI_PARTITION=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# CONFIG_MQ_IOSCHED_DEADLINE is not set
# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_IOSCHED_BFQ is not set
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_FREEZER=y
#
# System Type
#
CONFIG_MMU=y
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_NETX is not set
# CONFIG_ARCH_IOP13XX is not set
# CONFIG_ARCH_IOP32X is not set
# CONFIG_ARCH_IOP33X is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_DOVE is not set
# CONFIG_ARCH_KS8695 is not set
# CONFIG_ARCH_W90X900 is not set
# CONFIG_ARCH_LPC32XX is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_OMAP1 is not set
#
# Multiple platform selection
#
#
# CPU Core family selection
#
# CONFIG_ARCH_MULTI_V6 is not set
CONFIG_ARCH_MULTI_V7=y
CONFIG_ARCH_MULTI_V6_V7=y
# CONFIG_ARCH_MULTI_CPU_AUTO is not set
# CONFIG_ARCH_VIRT is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_ACTIONS is not set
# CONFIG_ARCH_ALPINE is not set
# CONFIG_ARCH_ARTPEC is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_AXXIA is not set
# CONFIG_ARCH_BCM is not set
# CONFIG_ARCH_BERLIN is not set
# CONFIG_ARCH_DIGICOLOR is not set
# CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_MEDIATEK is not set
#
# TI OMAP/AM/DM/DRA Family
#
# CONFIG_ARCH_OMAP3 is not set
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_SOC_OMAP5 is not set
# CONFIG_SOC_AM33XX is not set
# CONFIG_SOC_AM43XX is not set
# CONFIG_SOC_DRA7XX is not set
# CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_QCOM is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_ARCH_STI is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_SUNXI=y
# CONFIG_MACH_SUN4I is not set
# CONFIG_MACH_SUN5I is not set
# CONFIG_MACH_SUN6I is not set
# CONFIG_MACH_SUN7I is not set
CONFIG_MACH_SUN8I=y
# CONFIG_MACH_SUN9I is not set
# CONFIG_ARCH_SIRF is not set
# CONFIG_ARCH_TANGO is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_UNIPHIER is not set
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_VEXPRESS is not set
# CONFIG_ARCH_WM8850 is not set
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQ is not set
#
# Processor Type
#
CONFIG_CPU_V7=y
CONFIG_CPU_THUMB_CAPABLE=y
CONFIG_CPU_32v6K=y
CONFIG_CPU_32v7=y
CONFIG_CPU_ABRT_EV7=y
CONFIG_CPU_PABRT_V7=y
CONFIG_CPU_CACHE_V7=y
CONFIG_CPU_CACHE_VIPT=y
CONFIG_CPU_COPY_V6=y
CONFIG_CPU_TLB_V7=y
CONFIG_CPU_HAS_ASID=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
#
# Processor Features
#
CONFIG_ARM_LPAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARM_THUMB=y
# CONFIG_ARM_THUMBEE is not set
CONFIG_ARM_VIRT_EXT=y
CONFIG_SWP_EMULATE=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_BPREDICT_DISABLE is not set
CONFIG_CPU_SPECTRE=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
CONFIG_KUSER_HELPERS=y
CONFIG_VDSO=y
CONFIG_OUTER_CACHE=y
CONFIG_OUTER_CACHE_SYNC=y
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
CONFIG_CACHE_L2X0=y
CONFIG_CACHE_L2X0_PMU=y
# CONFIG_PL310_ERRATA_588369 is not set
# CONFIG_PL310_ERRATA_727915 is not set
# CONFIG_PL310_ERRATA_753970 is not set
# CONFIG_PL310_ERRATA_769419 is not set
CONFIG_ARM_L1_CACHE_SHIFT_6=y
CONFIG_ARM_L1_CACHE_SHIFT=6
CONFIG_ARM_DMA_MEM_BUFFERABLE=y
CONFIG_ARM_HEAVY_MB=y
# CONFIG_DEBUG_ALIGN_RODATA is not set
CONFIG_MULTI_IRQ_HANDLER=y
# CONFIG_ARM_ERRATA_430973 is not set
CONFIG_ARM_ERRATA_643719=y
# CONFIG_ARM_ERRATA_720789 is not set
# CONFIG_ARM_ERRATA_754322 is not set
# CONFIG_ARM_ERRATA_754327 is not set
# CONFIG_ARM_ERRATA_764369 is not set
# CONFIG_ARM_ERRATA_775420 is not set
# CONFIG_ARM_ERRATA_798181 is not set
# CONFIG_ARM_ERRATA_773022 is not set
# CONFIG_ARM_ERRATA_818325_852422 is not set
# CONFIG_ARM_ERRATA_821420 is not set
# CONFIG_ARM_ERRATA_825619 is not set
# CONFIG_ARM_ERRATA_852421 is not set
# CONFIG_ARM_ERRATA_852423 is not set
#
# Bus support
#
# CONFIG_PCI is not set
# CONFIG_PCI_DOMAINS_GENERIC is not set
# CONFIG_PCI_SYSCALL is not set
#
# DesignWare PCI Core Support
#
#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCCARD is not set
#
# Kernel Features
#
CONFIG_HAVE_SMP=y
CONFIG_SMP=y
CONFIG_SMP_ON_UP=y
CONFIG_ARM_CPU_TOPOLOGY=y
# CONFIG_SCHED_MC is not set
# CONFIG_SCHED_SMT is not set
CONFIG_HAVE_ARM_ARCH_TIMER=y
# CONFIG_MCPM is not set
# CONFIG_BIG_LITTLE is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_NR_CPUS=8
CONFIG_HOTPLUG_CPU=y
CONFIG_ARM_PSCI=y
CONFIG_ARCH_NR_GPIO=416
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_HZ_FIXED=0
CONFIG_HZ_100=y
# CONFIG_HZ_200 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_500 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_ARM_PATCH_IDIV=y
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
CONFIG_HAVE_ARCH_PFN_VALID=y
CONFIG_HAVE_GENERIC_GUP=y
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
# CONFIG_ARM_MODULE_PLTS is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_NO_BOOTMEM=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_BOUNCE=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_ARCH_WANTS_THP_SWAP is not set
# CONFIG_CLEANCACHE is not set
# CONFIG_FRONTSWAP is not set
# CONFIG_CMA is not set
# CONFIG_ZPOOL is not set
# CONFIG_ZBUD is not set
# CONFIG_ZSMALLOC is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_IDLE_PAGE_TRACKING is not set
# CONFIG_PERCPU_STATS is not set
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_ALIGNMENT_TRAP=y
# CONFIG_UACCESS_WITH_MEMCPY is not set
# CONFIG_SECCOMP is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_PARAVIRT is not set
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
# CONFIG_XEN is not set
#
# Boot options
#
CONFIG_USE_OF=y
CONFIG_ATAGS=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_ZBOOT_ROM_BSS=0
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
CONFIG_CMDLINE=""
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_AUTO_ZRELADDR=y
# CONFIG_EFI is not set
#
# CPU Power Management
#
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
#
# CPU frequency scaling drivers
#
CONFIG_CPUFREQ_DT=y
CONFIG_CPUFREQ_DT_PLATDEV=y
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
# CONFIG_QORIQ_CPUFREQ is not set
#
# CPU Idle
#
# CONFIG_CPU_IDLE is not set
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
#
# Floating point emulation
#
#
# At least one emulation must be selected
#
CONFIG_VFP=y
CONFIG_VFPv3=y
CONFIG_NEON=y
# CONFIG_KERNEL_MODE_NEON is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_FLAT is not set
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_COREDUMP=y
#
# Power management options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
# CONFIG_HIBERNATION is not set
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_APM_EMULATION is not set
CONFIG_PM_OPP=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_CPU_PM=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARM_CPU_SUSPEND=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_NET_IP_TUNNEL is not set
# CONFIG_IP_MROUTE is not set
CONFIG_SYN_COOKIES=y
# CONFIG_NET_UDP_TUNNEL is not set
# CONFIG_NET_FOU is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
CONFIG_TCP_CONG_CUBIC=y
# CONFIG_TCP_CONG_WESTWOOD is not set
# CONFIG_TCP_CONG_HTCP is not set
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_NV is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_TCP_CONG_DCTCP is not set
# CONFIG_TCP_CONG_CDG is not set
# CONFIG_TCP_CONG_BBR is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_VLAN_8021Q_MVRP is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_PRIO is not set
# CONFIG_NET_SCH_MULTIQ is not set
# CONFIG_NET_SCH_RED is not set
# CONFIG_NET_SCH_SFB is not set
# CONFIG_NET_SCH_SFQ is not set
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not set
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DRR is not set
# CONFIG_NET_SCH_MQPRIO is not set
# CONFIG_NET_SCH_CHOKE is not set
# CONFIG_NET_SCH_QFQ is not set
# CONFIG_NET_SCH_CODEL is not set
CONFIG_NET_SCH_FQ_CODEL=y
# CONFIG_NET_SCH_FQ is not set
# CONFIG_NET_SCH_HHF is not set
# CONFIG_NET_SCH_PIE is not set
# CONFIG_NET_SCH_PLUG is not set
# CONFIG_NET_SCH_DEFAULT is not set
#
# Classification
#
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
# CONFIG_NET_CLS_BPF is not set
# CONFIG_NET_CLS_FLOWER is not set
# CONFIG_NET_CLS_MATCHALL is not set
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
# CONFIG_NETLINK_DIAG is not set
# CONFIG_MPLS is not set
# CONFIG_NET_NSH is not set
# CONFIG_HSR is not set
# CONFIG_NET_SWITCHDEV is not set
# CONFIG_NET_L3_MASTER_DEV is not set
# CONFIG_NET_NCSI is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_STREAM_PARSER is not set
CONFIG_NET_FLOW_LIMIT=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
CONFIG_CAN=y
# CONFIG_CAN_RAW is not set
# CONFIG_CAN_BCM is not set
# CONFIG_CAN_GW is not set
#
# CAN Device Drivers
#
# CONFIG_CAN_VCAN is not set
# CONFIG_CAN_VXCAN is not set
# CONFIG_CAN_SLCAN is not set
# CONFIG_CAN_DEV is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
# CONFIG_STREAM_PARSER is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
# CONFIG_CFG80211 is not set
# CONFIG_LIB80211 is not set
# CONFIG_LIB80211_CRYPT_WEP is not set
# CONFIG_LIB80211_CRYPT_CCMP is not set
# CONFIG_LIB80211_CRYPT_TKIP is not set
#
# CFG80211 needs to be enabled for MAC80211
#
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
# CONFIG_RFKILL_FULL is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
# CONFIG_PSAMPLE is not set
# CONFIG_NET_IFE is not set
# CONFIG_LWTUNNEL is not set
# CONFIG_DST_CACHE is not set
# CONFIG_GRO_CELLS is not set
# CONFIG_NET_DEVLINK is not set
CONFIG_MAY_USE_DEVLINK=y
CONFIG_HAVE_EBPF_JIT=y
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
CONFIG_GENERIC_ARCH_TOPOLOGY=y
#
# Bus devices
#
# CONFIG_ARM_CCI400_PMU is not set
# CONFIG_ARM_CCI5xx_PMU is not set
# CONFIG_ARM_CCN is not set
# CONFIG_BRCMSTB_GISB_ARB is not set
# CONFIG_SIMPLE_PM_BUS is not set
CONFIG_SUNXI_RSB=y
# CONFIG_VEXPRESS_CONFIG is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
#
# OpenWrt specific MTD options
#
CONFIG_MTD_ROOTFS_ROOT_DEV=y
# CONFIG_MTD_SPLIT_FIRMWARE is not set
CONFIG_MTD_SPLIT=y
CONFIG_MTD_SPLIT_SUPPORT=y
#
# Rootfs partition parsers
#
CONFIG_MTD_SPLIT_SQUASHFS_ROOT=y
#
# Firmware partition parsers
#
# CONFIG_MTD_SPLIT_SEAMA_FW is not set
# CONFIG_MTD_SPLIT_WRGG_FW is not set
# CONFIG_MTD_SPLIT_UIMAGE_FW is not set
CONFIG_MTD_SPLIT_FIT_FW=y
# CONFIG_MTD_SPLIT_LZMA_FW is not set
# CONFIG_MTD_SPLIT_TPLINK_FW is not set
# CONFIG_MTD_SPLIT_TRX_FW is not set
# CONFIG_MTD_SPLIT_BRNIMAGE_FW is not set
# CONFIG_MTD_SPLIT_EVA_FW is not set
# CONFIG_MTD_SPLIT_MINOR_FW is not set
# CONFIG_MTD_SPLIT_JIMAGE_FW is not set
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
CONFIG_MTD_OF_PARTS=y
# CONFIG_MTD_AR7_PARTS is not set
#
# Partition parsers
#
#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_PHYSMAP_OF_VERSATILE is not set
# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
# CONFIG_MTD_IMPA7 is not set
# CONFIG_MTD_GPIO_ADDR is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_LATCH_ADDR is not set
#
# Self-contained MTD device drivers
#
# CONFIG_MTD_DATAFLASH is not set
CONFIG_MTD_M25P80=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_SST25L is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
CONFIG_MTD_BLOCK2MTD=y
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set
#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_LPDDR2_NVM is not set
CONFIG_MTD_SPI_NOR=y
# CONFIG_MTD_MT81xx_NOR is not set
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_MTD_UBI is not set
#
# Composite MTD device drivers
#
# CONFIG_MTD_VIRT_CONCAT is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TARGET is not set
#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_TI_DAC7512 is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# CONFIG_SENSORS_LIS3_SPI is not set
# CONFIG_SENSORS_LIS3_I2C is not set
#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
#
# Intel MIC Bus Driver
#
#
# SCIF Bus Driver
#
#
# VOP Bus Driver
#
#
# Intel MIC Host Driver
#
#
# Intel MIC Card Driver
#
#
# SCIF Driver
#
#
# Intel MIC Coprocessor State Management (COSM) Drivers
#
#
# VOP Driver
#
# CONFIG_ECHO is not set
# CONFIG_CXL_BASE is not set
# CONFIG_CXL_AFU_DRIVER_OPS is not set
# CONFIG_CXL_LIB is not set
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_NETLINK is not set
# CONFIG_SCSI_MQ_DEFAULT is not set
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_ATA_VERBOSE_ERROR is not set
CONFIG_SATA_PMP=y
#
# Controllers with non-SFF native interface
#
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_AHCI_SUNXI is not set
# CONFIG_AHCI_QORIQ is not set
# CONFIG_ATA_SFF is not set
# CONFIG_MD is not set
# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GTP is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_TUN is not set
# CONFIG_TUN_VNET_CROSS_LE is not set
# CONFIG_VETH is not set
# CONFIG_NLMON is not set
#
# CAIF transport drivers
#
#
# Distributed Switch Architecture drivers
#
CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_ALACRITECH=y
CONFIG_NET_VENDOR_ALLWINNER=y
# CONFIG_SUN4I_EMAC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AQUANTIA=y
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_AURORA=y
# CONFIG_AURORA_NB8800 is not set
CONFIG_NET_CADENCE=y
# CONFIG_MACB is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
# CONFIG_BCMGENET is not set
# CONFIG_SYSTEMPORT is not set
CONFIG_NET_VENDOR_CIRRUS=y
# CONFIG_CS89x0 is not set
# CONFIG_DM9000 is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_EZCHIP=y
# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
CONFIG_NET_VENDOR_FARADAY=y
# CONFIG_FTMAC100 is not set
# CONFIG_FTGMAC100 is not set
CONFIG_NET_VENDOR_HISILICON=y
# CONFIG_HIX5HD2_GMAC is not set
# CONFIG_HISI_FEMAC is not set
# CONFIG_HIP04_ETH is not set
# CONFIG_HNS is not set
# CONFIG_HNS_DSAF is not set
# CONFIG_HNS_ENET is not set
CONFIG_NET_VENDOR_HUAWEI=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
# CONFIG_MVNETA_BM is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_ENCX24J600 is not set
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NET_VENDOR_NETRONOME=y
CONFIG_NET_VENDOR_8390=y
# CONFIG_AX88796 is not set
# CONFIG_ETHOC is not set
CONFIG_NET_VENDOR_QUALCOMM=y
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_RMNET is not set
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SAMSUNG=y
# CONFIG_SXGBE_ETH is not set
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_SMC91X is not set
# CONFIG_SMC911X is not set
# CONFIG_SMSC911X is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_PLATFORM=y
# CONFIG_DWMAC_DWC_QOS_ETH is not set
CONFIG_DWMAC_GENERIC=y
CONFIG_DWMAC_SUNXI=y
# CONFIG_DWMAC_SUN8I is not set
CONFIG_NET_VENDOR_VIA=y
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_NET_VENDOR_WIZNET=y
# CONFIG_WIZNET_W5100 is not set
# CONFIG_WIZNET_W5300 is not set
CONFIG_NET_VENDOR_SYNOPSYS=y
# CONFIG_DWC_XLGMAC is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_SUN4I=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
#
# Switch configuration API + drivers
#
CONFIG_SWCONFIG=y
# CONFIG_SWCONFIG_LEDS is not set
# CONFIG_ADM6996_PHY is not set
# CONFIG_AR8216_PHY is not set
CONFIG_SWCONFIG_B53=y
# CONFIG_SWCONFIG_B53_SPI_DRIVER is not set
CONFIG_SWCONFIG_B53_PHY_DRIVER=y
# CONFIG_SWCONFIG_B53_MMAP_DRIVER is not set
# CONFIG_SWCONFIG_B53_SRAB_DRIVER is not set
CONFIG_SWCONFIG_B53_PHY_FIXUP=y
# CONFIG_IP17XX_PHY is not set
# CONFIG_MVSWITCH_PHY is not set
# CONFIG_MVSW61XX_PHY is not set
# CONFIG_PSB6970_PHY is not set
# CONFIG_RTL8306_PHY is not set
# CONFIG_RTL8366_SMI is not set
#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_ICPLUS_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_USB_NET_DRIVERS=y
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
# CONFIG_USB_LAN78XX is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
CONFIG_WLAN=y
# CONFIG_WIRELESS_WDS is not set
# CONFIG_WLAN_VENDOR_ADMTEK is not set
# CONFIG_WLAN_VENDOR_ATH is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_CISCO is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
CONFIG_ISDN=y
# CONFIG_ISDN_I4L is not set
# CONFIG_ISDN_CAPI is not set
# CONFIG_ISDN_DRV_GIGASET is not set
# CONFIG_MISDN is not set
# CONFIG_NVM is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_LEDS is not set
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
CONFIG_KEYBOARD_SUN4I_LRADC=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_PROPERTIES=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
CONFIG_TOUCHSCREEN_SUN4I=y
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_GP2A is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
# CONFIG_INPUT_GPIO_DECODER is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_KXTJ9 is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_AXP20X_PEK=y
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_PWM_BEEPER is not set
# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IMS_PCU is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
# CONFIG_RMI4_CORE is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_LIBPS2 is not set
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_SUN4I_PS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
# CONFIG_DEVMEM is not set
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_FSL=y
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_EM is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_OF_PLATFORM=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_BCM63XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_IFX6X60 is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_DEV_BUS is not set
# CONFIG_TTY_PRINTK is not set
# CONFIG_HVC_DCC is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
# CONFIG_NVRAM is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_XILLYBUS is not set
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
#
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
CONFIG_I2C_MV64XXX=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DESIGNWARE is not set
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX_PCI is not set
# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
CONFIG_SPI_SUN4I=y
CONFIG_SPI_SUN6I=y
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_ZYNQMP_GQSPI is not set
#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set
#
# PPS generators support
#
#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PINCTRL=y
#
# Pin controllers
#
CONFIG_PINMUX=y
CONFIG_PINCONF=y
CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_AMD is not set
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_SINGLE is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL_SUNXI=y
CONFIG_PINCTRL_SUN4I_A10=y
# CONFIG_PINCTRL_SUN5I is not set
# CONFIG_PINCTRL_SUN6I_A31 is not set
# CONFIG_PINCTRL_SUN6I_A31_R is not set
CONFIG_PINCTRL_SUN8I_A23=y
CONFIG_PINCTRL_SUN8I_A33=y
CONFIG_PINCTRL_SUN8I_A83T=y
CONFIG_PINCTRL_SUN8I_A83T_R=y
CONFIG_PINCTRL_SUN8I_A23_R=y
CONFIG_PINCTRL_SUN8I_H3=y
CONFIG_PINCTRL_SUN8I_H3_R=y
CONFIG_PINCTRL_SUN8I_V3S=y
# CONFIG_PINCTRL_SUN9I_A80 is not set
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SUN50I_A64 is not set
# CONFIG_PINCTRL_SUN50I_A64_R is not set
# CONFIG_PINCTRL_SUN50I_H5 is not set
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_GPIOLIB=y
CONFIG_OF_GPIO=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
CONFIG_GPIO_AXP209=y
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_ZEVIO is not set
#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_TPIC2810 is not set
#
# MFD GPIO expanders
#
# CONFIG_HTC_EGPIO is not set
#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
#
# USB GPIO expanders
#
# CONFIG_W1 is not set
# CONFIG_POWER_AVS is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_BRCMKONA is not set
# CONFIG_POWER_RESET_BRCMSTB is not set
# CONFIG_POWER_RESET_GPIO is not set
# CONFIG_POWER_RESET_GPIO_RESTART is not set
# CONFIG_POWER_RESET_LTC2952 is not set
# CONFIG_POWER_RESET_RESTART is not set
# CONFIG_POWER_RESET_VERSATILE is not set
# CONFIG_POWER_RESET_SYSCON is not set
# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_GENERIC_ADC_BATTERY is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
CONFIG_AXP20X_POWER=y
# CONFIG_AXP288_FUEL_GAUGE is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_CHARGER_RT9455 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASPEED is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_IIO_HWMON is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PWM_FAN is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
# CONFIG_THERMAL_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
CONFIG_CPU_THERMAL=y
# CONFIG_CLOCK_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_QORIQ_THERMAL is not set
#
# ACPI INT340X thermal drivers
#
# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
# CONFIG_WATCHDOG_SYSFS is not set
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
CONFIG_SUNXI_WATCHDOG=y
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_MEN_A21_WDT is not set
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
#
# Watchdog Pretimeout Governors
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AC100 is not set
CONFIG_MFD_AXP20X=y
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=y
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_ASIC3 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_PM8XXX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SUN6I_PRCM=y
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS80031 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=y
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AXP20X=y
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_FAN53555 is not set
CONFIG_REGULATOR_GPIO=y
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX8973 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
# CONFIG_REGULATOR_VCTRL is not set
# CONFIG_RC_CORE is not set
CONFIG_MEDIA_SUPPORT=y
#
# Multimedia core support
#
# CONFIG_MEDIA_CAMERA_SUPPORT is not set
# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
# CONFIG_MEDIA_RADIO_SUPPORT is not set
# CONFIG_MEDIA_SDR_SUPPORT is not set
# CONFIG_MEDIA_CEC_SUPPORT is not set
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# CONFIG_TTPCI_EEPROM is not set
#
# Media drivers
#
# CONFIG_MEDIA_USB_SUPPORT is not set
#
# Supported MMC/SDIO adapters
#
# CONFIG_CYPRESS_FIRMWARE is not set
#
# Media ancillary drivers (tuners, sensors, i2c, spi, frontends)
#
#
# Customise DVB Frontends
#
#
# Tools to develop new frontends
#
#
# Graphics support
#
# CONFIG_IMX_IPUV3_CORE is not set
CONFIG_DRM=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_MALI_DISPLAY is not set
#
# ACP (Audio CoProcessor) Configuration
#
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_EXYNOS is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_ARMADA is not set
# CONFIG_DRM_RCAR_DW_HDMI is not set
CONFIG_DRM_SUN4I=y
CONFIG_DRM_SUN4I_HDMI=y
# CONFIG_DRM_SUN4I_HDMI_CEC is not set
CONFIG_DRM_SUN4I_BACKEND=y
CONFIG_DRM_SUN8I_MIXER=y
# CONFIG_DRM_OMAP is not set
# CONFIG_DRM_TILCDC is not set
# CONFIG_DRM_FSL_DCU is not set
# CONFIG_DRM_STM is not set
CONFIG_DRM_PANEL=y
#
# Display Panels
#
# CONFIG_DRM_PANEL_LVDS is not set
CONFIG_DRM_PANEL_SIMPLE=y
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
CONFIG_DRM_DUMB_VGA_DAC=y
# CONFIG_DRM_LVDS_ENCODER is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_STI is not set
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_MXSFB is not set
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_PL111 is not set
# CONFIG_DRM_LEGACY is not set
# CONFIG_DRM_LIB_RANDOM is not set
#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
#
# CONFIG_FB_UVESA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
CONFIG_FB_SIMPLE=y
# CONFIG_FB_SSD1307 is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=y
CONFIG_BACKLIGHT_PWM=y
# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_LP855X is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y
#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=y
CONFIG_SND_PCM=y
# CONFIG_SND_HWDEP is not set
CONFIG_SND_COMPRESS_OFFLOAD=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_PCM_TIMER is not set
# CONFIG_SND_HRTIMER is not set
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
# CONFIG_SND_SEQUENCER is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_ALOOP is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# HD-Audio
#
CONFIG_SND_HDA_PREALLOC_SIZE=64
# CONFIG_SND_ARM is not set
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_UA101 is not set
# CONFIG_SND_USB_CAIAQ is not set
# CONFIG_SND_USB_6FIRE is not set
# CONFIG_SND_USB_HIFACE is not set
# CONFIG_SND_BCD2000 is not set
# CONFIG_SND_USB_POD is not set
# CONFIG_SND_USB_PODHD is not set
# CONFIG_SND_USB_TONEPORT is not set
# CONFIG_SND_USB_VARIAX is not set
CONFIG_SND_SOC=y
# CONFIG_SND_SOC_AMD_ACP is not set
# CONFIG_SND_ATMEL_SOC is not set
# CONFIG_SND_DESIGNWARE_I2S is not set
#
# SoC Audio for Freescale CPUs
#
#
# Common SoC Audio options for Freescale CPUs:
#
# CONFIG_SND_SOC_FSL_ASRC is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SSI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_I2S_HI6210_I2S is not set
# CONFIG_SND_SOC_IMG is not set
#
# STMicroelectronics STM32 SOC audio support
#
#
# Allwinner SoC Audio support
#
# CONFIG_SND_SUN4I_CODEC is not set
# CONFIG_SND_SUN8I_CODEC is not set
# CONFIG_SND_SUN8I_CODEC_ANALOG is not set
# CONFIG_SND_SUN4I_I2S is not set
# CONFIG_SND_SUN4I_SPDIF is not set
# CONFIG_SND_SOC_XTFPGA_I2S is not set
# CONFIG_ZX_TDM is not set
CONFIG_SND_SOC_I2C_AND_SPI=y
#
# CODEC drivers
#
# CONFIG_SND_SOC_AC97_CODEC is not set
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU1761_I2C is not set
# CONFIG_SND_SOC_ADAU1761_SPI is not set
# CONFIG_SND_SOC_ADAU7002 is not set
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4554 is not set
# CONFIG_SND_SOC_AK4613 is not set
# CONFIG_SND_SOC_AK4642 is not set
# CONFIG_SND_SOC_AK5386 is not set
# CONFIG_SND_SOC_ALC5623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
# CONFIG_SND_SOC_CS35L33 is not set
# CONFIG_SND_SOC_CS35L34 is not set
# CONFIG_SND_SOC_CS35L35 is not set
# CONFIG_SND_SOC_CS42L42 is not set
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS4265 is not set
# CONFIG_SND_SOC_CS4270 is not set
# CONFIG_SND_SOC_CS4271_I2C is not set
# CONFIG_SND_SOC_CS4271_SPI is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
# CONFIG_SND_SOC_CS43130 is not set
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
# CONFIG_SND_SOC_DIO2125 is not set
# CONFIG_SND_SOC_ES7134 is not set
# CONFIG_SND_SOC_ES8316 is not set
# CONFIG_SND_SOC_ES8328_I2C is not set
# CONFIG_SND_SOC_ES8328_SPI is not set
# CONFIG_SND_SOC_GTM601 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX98927 is not set
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
# CONFIG_SND_SOC_RT5677_SPI is not set
# CONFIG_SND_SOC_SGTL5000 is not set
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
# CONFIG_SND_SOC_SPDIF is not set
# CONFIG_SND_SOC_SSM2602_SPI is not set
# CONFIG_SND_SOC_SSM2602_I2C is not set
# CONFIG_SND_SOC_SSM4567 is not set
# CONFIG_SND_SOC_STA32X is not set
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
# CONFIG_SND_SOC_WM8524 is not set
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
# CONFIG_SND_SOC_WM8731 is not set
# CONFIG_SND_SOC_WM8737 is not set
# CONFIG_SND_SOC_WM8741 is not set
# CONFIG_SND_SOC_WM8750 is not set
# CONFIG_SND_SOC_WM8753 is not set
# CONFIG_SND_SOC_WM8770 is not set
# CONFIG_SND_SOC_WM8776 is not set
# CONFIG_SND_SOC_WM8804_I2C is not set
# CONFIG_SND_SOC_WM8804_SPI is not set
# CONFIG_SND_SOC_WM8903 is not set
# CONFIG_SND_SOC_WM8960 is not set
# CONFIG_SND_SOC_WM8962 is not set
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
# CONFIG_SND_SOC_ZX_AUD96P22 is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_NAU8824 is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SIMPLE_CARD is not set
# CONFIG_SND_SIMPLE_SCU_CARD is not set
# CONFIG_SND_AUDIO_GRAPH_CARD is not set
# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
#
# HID support
#
# CONFIG_HID is not set
#
# USB HID support
#
# CONFIG_USB_HID is not set
# CONFIG_HID_PID is not set
#
# USB HID Boot Protocol drivers
#
# CONFIG_USB_KBD is not set
# CONFIG_USB_MOUSE is not set
#
# I2C HID support
#
# CONFIG_I2C_HID is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_TEST_MODE is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
CONFIG_USB_UAS=y
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
#
# Platform Glue Layer
#
CONFIG_USB_MUSB_SUNXI=y
#
# MUSB DMA mode
#
# CONFIG_MUSB_PIO_ONLY is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set
#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
# CONFIG_AM335X_PHY_USB is not set
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_ULPI is not set
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
#
# USB Peripheral Controller
#
# CONFIG_USB_FOTG210_UDC is not set
# CONFIG_USB_GR_UDC is not set
# CONFIG_USB_R8A66597 is not set
# CONFIG_USB_PXA27X is not set
# CONFIG_USB_MV_UDC is not set
# CONFIG_USB_MV_U3D is not set
# CONFIG_USB_SNP_UDC_PLAT is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_BDC_UDC is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
#
# USB Power Delivery and Type-C drivers
#
# CONFIG_TYPEC_UCSI is not set
# CONFIG_USB_LED_TRIG is not set
# CONFIG_USB_ULPI_BUS is not set
# CONFIG_UWB is not set
CONFIG_MMC=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_PWRSEQ_SIMPLE=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_SDIO_UART=y
# CONFIG_MMC_TEST is not set
#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_DW is not set
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_SUNXI=y
# CONFIG_MMC_MTK is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
#
# LED drivers
#
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
# CONFIG_LEDS_LP5562 is not set
# CONFIG_LEDS_LP8501 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_SYSCON is not set
# CONFIG_LEDS_USER is not set
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_MTD is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
CONFIG_LEDS_TRIGGER_NETDEV=y
# CONFIG_ACCESSIBILITY is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_NVMEM is not set
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV8803 is not set
#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RX6110 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y
#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set
#
# on-CPU RTC drivers
#
CONFIG_RTC_DRV_SUN6I=y
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_SNVS is not set
# CONFIG_RTC_DRV_R7301 is not set
#
# HID Sensor RTC drivers
#
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
CONFIG_DMA_SUN6I=y
# CONFIG_FSL_EDMA is not set
# CONFIG_INTEL_IDMA64 is not set
# CONFIG_NBPFAXI_DMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_DW_DMAC is not set
#
# DMA Clients
#
# CONFIG_ASYNC_TX_DMA is not set
# CONFIG_DMATEST is not set
#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_VIRT_DRIVERS is not set
#
# Virtio drivers
#
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV_TSCPAGE is not set
CONFIG_STAGING=y
# CONFIG_IRDA is not set
# CONFIG_COMEDI is not set
# CONFIG_RTLLIB is not set
# CONFIG_R8712U is not set
#
# IIO staging drivers
#
#
# Accelerometers
#
# CONFIG_ADIS16201 is not set
# CONFIG_ADIS16203 is not set
# CONFIG_ADIS16209 is not set
# CONFIG_ADIS16240 is not set
#
# Analog to digital converters
#
# CONFIG_AD7606 is not set
# CONFIG_AD7780 is not set
# CONFIG_AD7816 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7280 is not set
#
# Analog digital bi-direction converters
#
# CONFIG_ADT7316 is not set
#
# Capacitance to digital converters
#
# CONFIG_AD7150 is not set
# CONFIG_AD7152 is not set
# CONFIG_AD7746 is not set
#
# Direct Digital Synthesis
#
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
#
# Digital gyroscope sensors
#
# CONFIG_ADIS16060 is not set
#
# Network Analyzer, Impedance Converters
#
# CONFIG_AD5933 is not set
#
# Light sensors
#
# CONFIG_TSL2x7x is not set
#
# Active energy metering IC
#
# CONFIG_ADE7753 is not set
# CONFIG_ADE7754 is not set
# CONFIG_ADE7758 is not set
# CONFIG_ADE7759 is not set
# CONFIG_ADE7854 is not set
#
# Resolver to digital converters
#
# CONFIG_AD2S90 is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
#
# Triggers - standalone
#
#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_STAGING_MEDIA is not set
#
# Android
#
# CONFIG_STAGING_BOARD is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_LNET is not set
# CONFIG_GS_FPGABOOT is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_FB_TFT is not set
# CONFIG_MOST is not set
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
#
# USB Power Delivery and Type-C drivers
#
# CONFIG_TYPEC_TCPM is not set
# CONFIG_PI433 is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MIKROTIK is not set
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
#
# Common Clock Framework
#
# CONFIG_CLK_HSDK is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_CLK_QORIQ is not set
# CONFIG_COMMON_CLK_NXP is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_PXA is not set
# CONFIG_COMMON_CLK_PIC32 is not set
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_SUNXI_CCU=y
CONFIG_SUN8I_A23_CCU=y
CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
# CONFIG_HWSPINLOCK is not set
#
# Clock Source drivers
#
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_CLKSRC_MMIO=y
CONFIG_SUN4I_TIMER=y
CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
# CONFIG_ARM_TIMER_SP804 is not set
# CONFIG_ATMEL_PIT is not set
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
# CONFIG_MAILBOX is not set
# CONFIG_IOMMU_SUPPORT is not set
#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
#
# Rpmsg drivers
#
#
# SOC (System On Chip) specific Drivers
#
#
# Amlogic SoC drivers
#
#
# Broadcom SoC drivers
#
# CONFIG_SOC_BRCMSTB is not set
#
# i.MX SoC drivers
#
#
# Qualcomm SoC drivers
#
CONFIG_SUNXI_SRAM=y
# CONFIG_SOC_TI is not set
# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=y
#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_EXTCON_AXP288 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
# CONFIG_IIO_BUFFER is not set
# CONFIG_IIO_CONFIGFS is not set
# CONFIG_IIO_TRIGGER is not set
# CONFIG_IIO_SW_DEVICE is not set
# CONFIG_IIO_SW_TRIGGER is not set
#
# Accelerometers
#
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMC150_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
# CONFIG_DMARD10 is not set
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_KXSD9 is not set
# CONFIG_KXCJK1013 is not set
# CONFIG_MC3230 is not set
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
# CONFIG_MMA7660 is not set
# CONFIG_MMA8452 is not set
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MXC4005 is not set
# CONFIG_MXC6255 is not set
# CONFIG_SCA3000 is not set
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
#
# Analog to digital converters
#
# CONFIG_AD7266 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7766 is not set
# CONFIG_AD7791 is not set
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD799X is not set
# CONFIG_AXP20X_ADC is not set
# CONFIG_AXP288_ADC is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_ENVELOPE_DETECTOR is not set
# CONFIG_HI8435 is not set
# CONFIG_HX711 is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
# CONFIG_MAX1118 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MAX9611 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_NAU7802 is not set
# CONFIG_SUN4I_GPADC is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC108S102 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_VF610_ADC is not set
#
# Amplifiers
#
# CONFIG_AD8366 is not set
#
# Chemical Sensors
#
# CONFIG_ATLAS_PH_SENSOR is not set
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_VZ89X is not set
#
# Hid Sensor IIO Common
#
#
# SSP Sensor Common
#
# CONFIG_IIO_SSP_SENSORHUB is not set
#
# Counters
#
#
# Digital to analog converters
#
# CONFIG_AD5064 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5380 is not set
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
# CONFIG_AD5592R is not set
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_LTC2632 is not set
# CONFIG_AD5686 is not set
# CONFIG_AD5755 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD8801 is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4922 is not set
# CONFIG_VF610_DAC is not set
#
# IIO dummy driver
#
#
# Frequency Synthesizers DDS/PLL
#
#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
#
# Phase-Locked Loop (PLL) frequency synthesizers
#
# CONFIG_ADF4350 is not set
#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
# CONFIG_ADIS16130 is not set
# CONFIG_ADIS16136 is not set
# CONFIG_ADIS16260 is not set
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
#
# Health Sensors
#
#
# Heart Rate Monitors
#
# CONFIG_AFE4403 is not set
# CONFIG_AFE4404 is not set
# CONFIG_MAX30100 is not set
# CONFIG_MAX30102 is not set
#
# Humidity sensors
#
# CONFIG_AM2315 is not set
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16480 is not set
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_KMX61 is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
#
# Light sensors
#
# CONFIG_ADJD_S311 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9960 is not set
# CONFIG_BH1750 is not set
# CONFIG_BH1780 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
# CONFIG_CM3605 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_JSA1212 is not set
# CONFIG_RPR0521 is not set
# CONFIG_LTR501 is not set
# CONFIG_MAX44000 is not set
# CONFIG_OPT3001 is not set
# CONFIG_PA12203001 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL4531 is not set
# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VL6180 is not set
#
# Magnetometer sensors
#
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
#
# Multiplexers
#
# CONFIG_IIO_MUX is not set
#
# Inclinometer sensors
#
#
# Digital potentiometers
#
# CONFIG_DS1803 is not set
# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_TPL0102 is not set
#
# Digital potentiostats
#
# CONFIG_LMP91000 is not set
#
# Pressure sensors
#
# CONFIG_ABP060MG is not set
# CONFIG_BMP280 is not set
# CONFIG_HP03 is not set
# CONFIG_MPL115_I2C is not set
# CONFIG_MPL115_SPI is not set
# CONFIG_MPL3115 is not set
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
# CONFIG_HP206C is not set
# CONFIG_ZPA2326 is not set
#
# Lightning sensors
#
# CONFIG_AS3935 is not set
#
# Proximity and distance sensors
#
# CONFIG_LIDAR_LITE_V2 is not set
# CONFIG_SRF04 is not set
# CONFIG_SX9500 is not set
# CONFIG_SRF08 is not set
#
# Temperature sensors
#
# CONFIG_MAXIM_THERMOCOUPLE is not set
# CONFIG_MLX90614 is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
# CONFIG_TSYS01 is not set
# CONFIG_TSYS02D is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_FSL_FTM is not set
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_SUN4I=y
CONFIG_IRQCHIP=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GIC_MAX_NR=1
# CONFIG_IPACK_BUS is not set
CONFIG_ARCH_HAS_RESET_CONTROLLER=y
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_ATH79 is not set
# CONFIG_RESET_BERLIN is not set
# CONFIG_RESET_IMX7 is not set
# CONFIG_RESET_LANTIQ is not set
# CONFIG_RESET_LPC18XX is not set
# CONFIG_RESET_MESON is not set
# CONFIG_RESET_PISTACHIO is not set
# CONFIG_RESET_SOCFPGA is not set
# CONFIG_RESET_STM32 is not set
CONFIG_RESET_SUNXI=y
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_ZYNQ is not set
# CONFIG_RESET_TEGRA_BPMP is not set
# CONFIG_FMC is not set
#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
CONFIG_PHY_SUN4I_USB=y
CONFIG_PHY_SUN9I_USB=y
# CONFIG_BCM_KONA_USB2_PHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set
#
# Performance monitor support
#
CONFIG_ARM_PMU=y
# CONFIG_RAS is not set
#
# Android
#
# CONFIG_ANDROID is not set
# CONFIG_LIBNVDIMM is not set
# CONFIG_DAX is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SUNXI_SID=y
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# CONFIG_FPGA is not set
#
# FSI support
#
# CONFIG_FSI is not set
# CONFIG_TEE is not set
#
# Firmware Drivers
#
CONFIG_ARM_PSCI_FW=y
# CONFIG_ARM_PSCI_CHECKER is not set
# CONFIG_FIRMWARE_MEMMAP is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_HAVE_ARM_SMCCC=y
# CONFIG_GOOGLE_FIRMWARE is not set
#
# Tegra firmware driver
#
#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_FS_POSIX_ACL is not set
# CONFIG_F2FS_FS_SECURITY is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FS_ENCRYPTION is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
# CONFIG_EXPORTFS_BLOCK_OPS is not set
CONFIG_FILE_LOCKING=y
# CONFIG_MANDATORY_FILE_LOCKING is not set
# CONFIG_FS_ENCRYPTION is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
CONFIG_OVERLAY_FS=y
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
# CONFIG_OVERLAY_FS_INDEX is not set
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_PROC_CHILDREN is not set
CONFIG_PROC_STRIPPED=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=y
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_LZMA=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_ZSTD is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
# CONFIG_NLS_UTF8 is not set
# CONFIG_DLM is not set
#
# Kernel hacking
#
#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
# CONFIG_MAGIC_SYSRQ_SERIAL is not set
CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_SHIRQ is not set
#
# Debug Lockups and Hangs
#
# CONFIG_SOFTLOCKUP_DETECTOR is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_WQ_WATCHDOG is not set
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=1
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHED_INFO is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
# CONFIG_DEBUG_TIMEKEEPING is not set
# CONFIG_DEBUG_PREEMPT is not set
#
# Lock Debugging (spinlocks, mutexes, etc...)
#
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_STACKTRACE is not set
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
#
# RCU Debugging
#
# CONFIG_PROVE_RCU is not set
# CONFIG_TORTURE_TEST is not set
# CONFIG_RCU_PERF_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_DMA_API_DEBUG is not set
#
# Runtime Testing
#
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_SORT is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_HASH is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_MEMTEST is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
# CONFIG_UBSAN is not set
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_UNWIND=y
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_LL is not set
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
# CONFIG_DEBUG_UART_8250 is not set
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
# CONFIG_PID_IN_CONTEXTIDR is not set
# CONFIG_CORESIGHT is not set
#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
# CONFIG_SECURITY is not set
CONFIG_SECURITYFS=y
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
# CONFIG_CRYPTO_RSA is not set
# CONFIG_CRYPTO_DH is not set
# CONFIG_CRYPTO_ECDH is not set
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_MCRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
# CONFIG_CRYPTO_SEQIV is not set
# CONFIG_CRYPTO_ECHAINIV is not set
#
# Block modes
#
# CONFIG_CRYPTO_CBC is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_KEYWRAP is not set
#
# Hash modes
#
# CONFIG_CRYPTO_CMAC is not set
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_POLY1305 is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_SHA3 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
# CONFIG_CRYPTO_ANUBIS is not set
CONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_CHACHA20 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_LZO is not set
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_DRBG_MENU is not set
# CONFIG_CRYPTO_JITTERENTROPY is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set
CONFIG_CRYPTO_DEV_SUN4I_SS=y
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
#
# Certificates for signature checking
#
# CONFIG_ARM_CRYPTO is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_HAVE_ARCH_BITREVERSE=y
CONFIG_RATIONAL=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
# CONFIG_CRC32_SLICEBY8 is not set
# CONFIG_CRC32_SLICEBY4 is not set
CONFIG_CRC32_SARWATE=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC4 is not set
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
# CONFIG_CRC8 is not set
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_IA64 is not set
CONFIG_XZ_DEC_ARM=y
# CONFIG_XZ_DEC_ARMTHUMB is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_LZMA_COMPRESS=y
CONFIG_LZMA_DECOMPRESS=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
# CONFIG_TEXTSEARCH_KMP is not set
# CONFIG_TEXTSEARCH_BM is not set
# CONFIG_TEXTSEARCH_FSM is not set
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
# CONFIG_SGL_ALLOC is not set
# CONFIG_DMA_NOOP_OPS is not set
# CONFIG_DMA_VIRT_OPS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
# CONFIG_IRQ_POLL is not set
CONFIG_LIBFDT=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_SG_SPLIT is not set
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_SBITMAP=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
CONFIG_KVM_ARM_HOST=y
CONFIG_VHOST_NET=y
CONFIG_VHOST=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
sun8i-v3s.dtsi sun8i-v3s_dtsi.txt
/*
* 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>
#include <dt-bindings/pwm/pwm.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 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
mixer0_out_tcon0: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_in_mixer0>;
};
};
};
};
syscon: syscon@1c00000 {
compatible = "allwinner,sun8i-v3s-system-controller",
"syscon";
reg = <0x01c00000 0x1000>;
};
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";
resets = <&ccu RST_BUS_TCON0>;
reset-names = "lcd";
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
tcon0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
tcon0_in_mixer0: endpoint@0 {
reg = <0>;
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@01c0f000 {
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>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmc1: mmc@01c10000 {
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@01c11000 {
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@01c19000 {
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@01c19400 {
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@01c20000 {
compatible = "allwinner,sun8i-v3s-ccu";
reg = <0x01c20000 0x400>;
clocks = <&osc24M>, <&osc32k>;
clock-names = "hosc", "losc";
#clock-cells = <1>;
#reset-cells = <1>;
};
rtc: rtc@01c20400 {
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@01c20800 {
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>;
i2c0_pins: i2c0 {
pins = "PB6", "PB7";
function = "i2c0";
};
uart0_pins_a: uart0@0 {
pins = "PB8", "PB9";
function = "uart0";
};
uart1_pins_a: uart1@0 {
pins = "PE21", "PE22";
function = "uart1";
};
uart2_pins_a: uart2@0 {
pins = "PB0", "PB1";
function = "uart2";
};
//LCD引脚
lcd_rgb666_pins: lcd-rgb666-pins {
pins = "PE4", "PE5", "PE6", "PE7", "PE8", "PE9",
"PE10", "PE11", "PE12", "PE13" , "PE14", "PE15",
"PE16", "PE17", "PE18", "PE19", "PE23", "PE24",//data信号
"PE3",//VSYNC
"PE2",//HSYNC
"PE1",//DE
"PE0";//CLK
function = "lcd";
};
mmc0_pins_a: mmc0@0 {
pins = "PF0", "PF1", "PF2", "PF3",
"PF4", "PF5";
function = "mmc0";
drive-strength = <30>;
bias-pull-up;
};
mmc1_pins: mmc1 {
pins = "PG0", "PG1", "PG2", "PG3",
"PG4", "PG5";
function = "mmc1";
drive-strength = <30>;
bias-pull-up;
};
spi0_pins: spi0 {
pins = "PC0", "PC1", "PC2", "PC3";
function = "spi0";
};
};
timer@01c20c00 {
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@01c20ca0 {
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@01c28000 {
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@01c28400 {
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@01c28800 {
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@01c2ac00 {
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@01c2b000 {
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";
phy-handle = <&int_mii_phy>;
phy-mode = "mii";
#address-cells = <1>;
#size-cells = <0>;
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>;
};
};
};
};
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@01c81000 {
compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
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.dts sun8i-v3s-licheepi-zero_dts.txt
/*
* 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.
*/
/dts-v1/;
#include "sun8i-v3s.dtsi"
#include "sunxi-common-regulators.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "Lichee Pi Zero";
compatible = "licheepi,licheepi-zero", "allwinner,sun8i-v3s";
aliases {
serial0 = &uart0;
ethernet0 = &emac;
};
chosen {
stdout-path = "serial0:115200n8";
fb0: 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";
};
};
leds {
status = "disabled";
};
/*backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
default-brightness-level = <50>;
enable-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; //PB4 PWM
};*/
panel: panel {
compatible = "qiaodian,qd43003c0-40", "simple-panel";
#address-cells = <1>;
#size-cells = <0>;
enable-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>;//使能引脚 PB4脚为高使能 这里为pwm信号
// power-supply = <®_vcc3v3>;
// enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */
//backlight = <&backlight>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_lcd>;
};
};
};
};
&spi0 {
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 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>;
};
};
};
};
&emac {
status = "okay";
};
&ehci0 {
status = "okay";
};
&mmc0 {
pinctrl-0 = <&mmc0_pins_a>;
pinctrl-names = "default";
broken-cd;
bus-width = <4>;
vmmc-supply = <®_vcc3v3>;
status = "okay";
};
&i2c0 {
status = "okay";
ns2009: ns2009@48 {
compatible = "nsiway,ns2009";
reg = <0x48>;
};
};
&ohci0 {
status = "okay";
};
&uart0 {
pinctrl-0 = <&uart0_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&uart1{
pinctrl-0 = <&uart1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&uart2{
pinctrl-0 = <&uart2_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&codec {
allwinner,audio-routing =
"Headphone", "HP",
"Headphone", "HPCOM",
"MIC1", "Mic",
"Mic", "HBIAS";
status = "okay";
};
&usb_otg {
dr_mode = "host";
status = "okay";
};
&usbphy {
usb0_id_det-gpio = <&pio 5 6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
/*
&pwm {
status = "okay";
};
*/
&de {
status = "okay";
};
&tcon0 {
pinctrl-names = "default";
pinctrl-0 = <&lcd_rgb666_pins>;
status = "okay";
};
&tcon0_out {
tcon0_out_lcd: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};
关于drm的log
# dmesg | grep drm
[ 1.561227] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.568890] [drm] No driver support for vblank timestamp query.
[ 1.585203] sun4i-drm display-engine: bound 1100000.mixer (ops 0xc07d0110)
[ 1.592863] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc07ceef8)
[ 1.661374] sun4i-drm display-engine: fb0: frame buffer device
[ 1.668294] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
<code>
[ 4.478072] sda: sda1
[ 4.489290] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 4.920960] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 4.928814] devtmpfs: mounted
U-Boot SPL 2017.01-rc2-00073-gdd6e8740dc-dirty (Apr 22 2020 - 09:13:27)
DRAM: 64 MiB
Trying to boot from sunxi SPI
</code>
这个地方无任何征兆的重启? 如果是的话,多数是电源问题,可能在这个时候耗电量突然增加后,电压被拉低导致系统复位。
基于官方19.07版本,修改了uboot为2020.01
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.14.187 (njatech@njatech-virtual-machine) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11150-a2c9fc9)) #0 SMP PREEMPT Sun Jul 26 20:39:09 2020
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=30c5387d
[ 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] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat c0c44fc0, node_mem_map c3f3b000
[ 0.000000] Normal zone: 128 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 16384 pages, LIFO batch:3
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: Using PSCI v0.1 Function IDs from DT
[ 0.000000] random: get_random_bytes called from start_kernel+0x88/0x3c0 with crng_init=0
[ 0.000000] percpu: Embedded 15 pages/cpu s30732 r8192 d22516 u61440
[ 0.000000] pcpu-alloc: s30732 r8192 d22516 u61440 alloc=15*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 earlyprintk panic=5 rootwait mtdparts=spi0.0:1M(uboot)ro,64k(dtb)ro,4M(kernel)ro,-(rootfs) root=31:03 rw rootfstype=squashfs
[ 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: 54012K/65536K available (5430K kernel code, 278K rwdata, 1500K rodata, 2048K init, 243K bss, 11524K 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 - 0xc074daa8 (7447 kB)
[ 0.000000] .init : 0xc0a00000 - 0xc0c00000 (2048 kB)
[ 0.000000] .data : 0xc0c00000 - 0xc0c458c0 ( 279 kB)
[ 0.000000] .bss : 0xc0c4c1cc - 0xc0c88fd0 ( 244 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[ 0.000000] Tasks RCU enabled.
[ 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.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000020] Switching to timer-based delay loop, resolution 41ns
[ 0.000198] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000413] Console: colour dummy device 80x30
[ 0.000455] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000473] pid_max: default: 32768 minimum: 301
[ 0.000613] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000627] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.001210] CPU: Testing write buffer coherency: ok
[ 0.001650] /cpus/cpu@0 missing clock-frequency property
[ 0.001675] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.040124] Setting up static identity map for 0x40200000 - 0x40200060
[ 0.060119] Hierarchical SRCU implementation.
[ 0.100221] smp: Bringing up secondary CPUs ...
[ 0.100246] smp: Brought up 1 node, 1 CPU
[ 0.100256] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.100263] CPU: All CPU(s) started in HYP mode.
[ 0.100269] CPU: Virtualization extensions available.
[ 0.103693] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.104338] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.104375] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.104546] pinctrl core: initialized pinctrl subsystem
[ 0.105664] NET: Registered protocol family 16
[ 0.106148] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.107299] No ATAGs?
[ 0.162746] SCSI subsystem initialized
[ 0.162839] libata version 3.00 loaded.
[ 0.163172] usbcore: registered new interface driver usbfs
[ 0.163241] usbcore: registered new interface driver hub
[ 0.165524] usbcore: registered new device driver usb
[ 0.166258] pps_core: LinuxPPS API ver. 1 registered
[ 0.166278] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.166420] PTP clock support registered
[ 0.167733] Advanced Linux Sound Architecture Driver Initialized.
[ 0.172669] clocksource: Switched to clocksource arch_sys_counter
[ 0.199212] NET: Registered protocol family 2
[ 0.199949] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.199983] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.200007] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.200146] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.200193] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.200443] NET: Registered protocol family 1
[ 0.200928] kvm [1]: 8-bit VMID
[ 0.201480] kvm [1]: vgic interrupt IRQ16
[ 0.201553] kvm [1]: Hyp mode initialized successfully
[ 0.204613] No memory allocated for crashlog
[ 0.205504] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.222257] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.223279] jffs2: version 2.2 (NAND) (SUMMARY) (ZLIB) (LZO) (LZMA) (RTIME) (RUBIN) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.249738] io scheduler noop registered
[ 0.249761] io scheduler deadline registered
[ 0.250022] io scheduler cfq registered (default)
[ 0.250852] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[ 0.255429] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.272541] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.277574] console [ttyS0] disabled
[ 0.299220] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 33, base_baud = 1500000) is a U6_16550A
[ 0.866128] console [ttyS0] enabled
[ 0.882107] loop: module loaded
[ 0.895232] random: fast init done
[ 0.899368] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.904614] 4 cmdlinepart partitions found on MTD device spi0.0
[ 0.910536] Creating 4 MTD partitions on "spi0.0":
[ 0.915462] 0x000000000000-0x000000100000 : "uboot"
[ 0.921994] 0x000000100000-0x000000110000 : "dtb"
[ 0.928895] 0x000000110000-0x000000510000 : "kernel"
[ 0.935996] 0x000000510000-0x000001000000 : "rootfs"
[ 0.943179] mtd: device 3 (rootfs) set to be root filesystem
[ 0.949428] 1 squashfs-split partitions found on MTD device rootfs
[ 0.955973] 0x0000008b0000-0x000001000000 : "rootfs_data"
[ 0.965226] libphy: Fixed MDIO Bus: probed
[ 0.971056] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[ 0.977085] dwmac-sun8i 1c30000.ethernet: No regulator found
[ 0.982982] dwmac-sun8i 1c30000.ethernet: Current syscon value is not the default 38000 (expect 58000)
[ 0.992293] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[ 0.998260] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[ 1.005565] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[ 1.011224] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[ 1.018507] dwmac-sun8i 1c30000.ethernet: COE Type 2
[ 1.023487] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[ 1.030287] dwmac-sun8i 1c30000.ethernet (unnamed net_device) (uninitialized): device MAC address 36:71:e4:bf:14:94
[ 1.041109] libphy: stmmac: probed
[ 1.045853] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[ 1.052831] libphy: mdio_mux: probed
[ 1.056457] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[ 1.062891] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[ 1.071012] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.078256] ehci-platform: EHCI generic platform driver
[ 1.083991] ehci-platform 1c1a000.usb: EHCI Host Controller
[ 1.089615] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[ 1.097707] ehci-platform 1c1a000.usb: irq 25, io mem 0x01c1a000
[ 1.132677] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[ 1.139017] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.145851] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.153082] usb usb1: Product: EHCI Host Controller
[ 1.157957] usb usb1: Manufacturer: Linux 4.14.187 ehci_hcd
[ 1.163535] usb usb1: SerialNumber: 1c1a000.usb
[ 1.168997] hub 1-0:1.0: USB hub found
[ 1.173191] hub 1-0:1.0: 1 port detected
[ 1.178353] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.185091] ohci-platform: OHCI generic platform driver
[ 1.190690] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[ 1.197520] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[ 1.205684] ohci-platform 1c1a400.usb: irq 26, io mem 0x01c1a400
[ 1.276915] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[ 1.286277] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.293538] usb usb2: Product: Generic Platform OHCI controller
[ 1.299454] usb usb2: Manufacturer: Linux 4.14.187 ohci_hcd
[ 1.305037] usb usb2: SerialNumber: 1c1a400.usb
[ 1.310530] hub 2-0:1.0: USB hub found
[ 1.314718] hub 2-0:1.0: 1 port detected
[ 1.320117] usbcore: registered new interface driver usb-storage
[ 1.327464] mousedev: PS/2 mouse device common for all mice
[ 1.335348] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[ 1.342150] sun6i-rtc 1c20400.rtc: RTC enabled
[ 1.347813] i2c /dev entries driver
[ 1.354764] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.422916] sunxi-mmc 1c0f000.mmc: base:0xc4a25000 irq:23
[ 1.439166] NET: Registered protocol family 10
[ 1.456074] Segment Routing with IPv6
[ 1.459841] NET: Registered protocol family 17
[ 1.464950] can: controller area network core (rev 20170425 abi 9)
[ 1.471237] NET: Registered protocol family 29
[ 1.475935] 8021q: 802.1Q VLAN Support v1.8
[ 1.480298] Registering SWP/SWPB emulation handler
[ 1.491632] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 00:06:47 UTC (407)
[ 1.500332] vcc3v0: disabling
[ 1.503439] vcc3v3: disabling
[ 1.506410] vcc5v0: disabling
[ 1.509376] ALSA device list:
[ 1.512341] No soundcards found.
[ 1.520808] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[ 1.530348] Freeing unused kernel memory: 2048K
[ 1.679330] random: crng init done
[ 1.857439] init: Console is alive
[ 1.861166] init: - watchdog -
[ 2.014279] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 2.021315] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 2.039278] init: - preinit -
[ 2.644465] Generic PHY 0.1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0.1:01, irq=POLL)
[ 2.655757] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[ 2.663746] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[ 2.672345] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 5.763920] dwmac-sun8i 1c30000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 5.772514] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 5.905951] jffs2: notice: (721) jffs2_build_xattr_subsystem: complete building xattr subsystem, 3 of xdatum (0 unchecked, 1 orphan) and 7 of xref (1 dead, 0 orphan) found.
[ 5.928084] mount_root: switching to jffs2 overlay
[ 5.960261] overlayfs: upper fs does not support tmpfile.
[ 5.983826] urandom-seed: Seeding with /etc/urandom.seed
[ 6.067733] procd: - early -
[ 6.070763] procd: - watchdog -
[ 6.830489] procd: - watchdog -
[ 6.834117] procd: - ubus -
[ 6.890657] procd: - init -
[ 7.306177] kmodloader: loading kernel modules from /etc/modules.d/*
[ 7.331367] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 7.363180] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 7.389027] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[ 7.411567] urngd: v1.0.2 started.
[ 7.503342] xt_time: kernel timezone is -0000
[ 7.526031] PPP generic driver version 2.4.2
[ 7.535590] NET: Registered protocol family 24
[ 7.555138] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 12.803469] Generic PHY 0.1:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0.1:01, irq=POLL)
[ 12.840109] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[ 12.882915] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[ 12.920471] br-lan: port 1(eth0) entered blocking state
[ 12.935996] br-lan: port 1(eth0) entered disabled state
[ 12.954319] device eth0 entered promiscuous mode
[ 13.023517] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[ 15.123700] dwmac-sun8i 1c30000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 15.132320] br-lan: port 1(eth0) entered blocking state
[ 15.137642] br-lan: port 1(eth0) entered forwarding state
[ 15.211540] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
root@OpenWrt:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3840 3840 0 100% /rom
tmpfs 28028 84 27944 0% /tmp
/dev/mtdblock4 7488 388 7100 5% /overlay
overlayfs:/overlay 7488 388 7100 5% /
tmpfs 512 0 512 0% /dev
openwrt-sunxi-cortexa7-sun8i-v3s-licheepi-zero-squashfs-spiflash_img.gz
我试过用中科世为的Z6的编译器可以编译,到我自己编译的LINUX上运行。
是哪个版本的LINUX不记得了。
方法就是装中科世为的IDE,下面可以找到Z6的对应目录。另外我试过交叉编译WINDOWS版本的GCC,能生成gcc,g++这些exe,但还有很多没有生成,不知怎么回事。
根据你的提示,问题解决,记录一下;
安装中科世为的IDE,找到里面的z6s文件夹下的toolchain。 eclipse交叉编译设置交叉编译器就选择这个目录下的toolchain/bin。
注意的是中科世为使用的是musl, rootfs的toolchain重新设置成musl,gcc 版本选择5.x 进行重新编译一次。 然后windows下使用eclipse编译出来的程序就可以直接拷贝到nano上进行运行了。
toolchain.rar
[笑哭] 还没搞成功 哈哈
可以参考nano的原理图啊 lichee_nano_new.pdf
esp8089_20191009-1512.rar
貌似把firmware做成头文件了。
这个我测试了 https://github.com/al177/esp8089.git ,半天没问题,有人一起测试测试吗?
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (njatech@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #67 Sun Sep 15 23:05:35 PDT 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] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[ 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: 56224K/65536K available (5120K kernel code, 220K rwdata, 1064K rodata, 1024K init, 222K bss, 9312K 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 : 0x(ptrval) - 0x(ptrval) (6112 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 221 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 223 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.000045] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000108] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000654] Console: colour dummy device 80x30
[ 0.000744] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070223] pid_max: default: 32768 minimum: 301
[ 0.070540] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070578] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.071968] CPU: Testing write buffer coherency: ok
[ 0.073537] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076025] devtmpfs: initialized
[ 0.083216] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.083277] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083529] pinctrl core: initialized pinctrl subsystem
[ 0.085427] NET: Registered protocol family 16
[ 0.086635] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.088330] cpuidle: using governor menu
[ 0.107733] SCSI subsystem initialized
[ 0.108074] usbcore: registered new interface driver usbfs
[ 0.108221] usbcore: registered new interface driver hub
[ 0.108399] usbcore: registered new device driver usb
[ 0.108790] pps_core: LinuxPPS API ver. 1 registered
[ 0.108816] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.108876] PTP clock support registered
[ 0.110574] clocksource: Switched to clocksource timer
[ 0.135362] NET: Registered protocol family 2
[ 0.136993] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.137066] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.137116] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.137356] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.137415] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.137968] NET: Registered protocol family 1
[ 0.140231] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.142115] Initialise system trusted keyrings
[ 0.142644] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.157809] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.158370] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.172363] Key type asymmetric registered
[ 0.172402] Asymmetric key parser 'x509' registered
[ 0.172594] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.172628] io scheduler noop registered
[ 0.172647] io scheduler deadline registered
[ 0.173394] io scheduler cfq registered (default)
[ 0.173428] io scheduler mq-deadline registered
[ 0.173446] io scheduler kyber registered
[ 0.174540] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.184080] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.343083] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.349396] console [ttyS0] disabled
[ 0.369642] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.808325] console [ttyS0] enabled
[ 0.834289] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 24, base_baud = 6250000) is a 16550A
[ 0.865579] 1c25800.serial: ttyS2 at MMIO 0x1c25800 (irq = 25, base_baud = 6250000) is a 16550A
[ 0.876395] SCSI Media Changer driver v0.25
[ 0.884232] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.889014] 4 ofpart partitions found on MTD device spi0.0
[ 0.894604] Creating 4 MTD partitions on "spi0.0":
[ 0.899412] 0x000000000000-0x000000070000 : "u-boot"
[ 0.906799] 0x000000070000-0x000000080000 : "dtb"
[ 0.913983] 0x000000080000-0x000000480000 : "kernel"
[ 0.921489] 0x000000480000-0x000001000000 : "rootfs"
[ 0.931597] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.938133] ehci-platform: EHCI generic platform driver
[ 0.943755] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.949976] ohci-platform: OHCI generic platform driver
[ 0.955659] usbcore: registered new interface driver usb-storage
[ 0.962541] i2c /dev entries driver
[ 0.970348] rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
[ 0.978371] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 1.040702] sunxi-mmc 1c0f000.mmc: base:0xbaedaa90 irq:19
[ 1.049627] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 1.056475] Initializing XFRM netlink socket
[ 1.060954] NET: Registered protocol family 17
[ 1.065456] NET: Registered protocol family 15
[ 1.069947] Key type dns_resolver registered
[ 1.076355] Loading compiled-in X.509 certificates
[ 1.091069] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.102860] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.108650] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.119290] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.126221] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.133495] usb usb1: Product: MUSB HDRC host driver
[ 1.138459] usb usb1: Manufacturer: Linux 4.15.0-rc8-licheepi-nano+ musb-hcd
[ 1.145541] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 1.152235] hub 1-0:1.0: USB hub found
[ 1.156190] hub 1-0:1.0: 1 port detected
[ 1.163273] rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
[ 1.170774] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 1.178095] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.195693] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.202875] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.211591] cfg80211: failed to load regulatory.db
[ 1.221553] mmc0: queuing unknown CIS tuple 0x01 (3 bytes)
[ 1.249271] mmc0: queuing unknown CIS tuple 0x1a (5 bytes)
[ 1.265986] mmc0: queuing unknown CIS tuple 0x1b (8 bytes)
[ 1.278479] mmc0: queuing unknown CIS tuple 0x80 (1 bytes)
[ 1.289420] mmc0: queuing unknown CIS tuple 0x81 (1 bytes)
[ 1.300975] mmc0: queuing unknown CIS tuple 0x82 (1 bytes)
[ 1.312434] mmc0: new high speed SDIO card at address 0001
[ 1.355755] random: crng init done
[ 3.406601] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 3.415330] devtmpfs: mounted
[ 3.422804] Freeing unused kernel memory: 1024K
Starting syslogd: OK
Starting klogd: OK
Initializing random number generator... done.
Starting ntpd: /etc/init.d/S39ntpd: line 9: /usr/sbin/ntpd: not found
FAIL
Starting udhcpd: /etc/init.d/S39udhcpd: line 9: /usr/sbin/udhcpd: not found
FAIL
Starting network: [ 11.681581] mmc0: card 0001 removed
[ 11.775966] mmc0: queuing unknown CIS tuple 0x01 (3 bytes)
[ 11.793141] mmc0: queuing unknown CIS tuple 0x1a (5 bytes)
[ 11.805994] mmc0: queuing unknown CIS tuple 0x1b (8 bytes)
[ 11.820242] mmc0: queuing unknown CIS tuple 0x80 (1 bytes)
[ 11.834011] mmc0: queuing unknown CIS tuple 0x81 (1 bytes)
[ 11.847252] mmc0: queuing unknown CIS tuple 0x82 (1 bytes)
[ 11.859547] mmc0: new high speed SDIO card at address 0001
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
udhcpc: started, v1.29.3
udhcpc: sending discover
[ 22.730843] wlan0: authenticate with b8:f8:83:07:a4:ca
[ 22.736271] wlan0: send auth to b8:f8:83:07:a4:ca (try 1/3)
[ 22.745882] wlan0: authenticated
[ 22.760737] wlan0: associate with b8:f8:83:07:a4:ca (try 1/3)
[ 22.780676] wlan0: RX AssocResp from b8:f8:83:07:a4:ca (capab=0x31 status=0 aid=6)
[ 22.788476] wlan0: associated
udhcpc: sending discover
udhcpc: sending select for 192.168.16.67
udhcpc: lease of 192.168.16.67 obtained, lease time 3600
deleting routers
adding dns 218.2.2.2
adding dns 218.4.4.4
OK
Starting wpa_cli: Selected interface 'wlan0'
OK
[ 25.489044] file system registered
/etc/init.d/S90thttpd: .: line 20: can't open '/etc/rc.subr': No such file or directory
# install_listener('tcp:5037','*smartsocket*')
[ 27.453124] read descriptors
[ 27.456090] read strings
[ 27.458827] g_ffs gadget: g_ffs ready
[ 525.442399] wlan0: deauthenticating from b8:f8:83:07:a4:ca by local choice (Reason: 3=DEAUTH_LEAVING)
[ 525.605901] mmc0: card 0001 removed
[ 525.717189] mmc0: queuing unknown CIS tuple 0x01 (3 bytes)
[ 525.742506] mmc0: queuing unknown CIS tuple 0x1a (5 bytes)
[ 525.764860] mmc0: queuing unknown CIS tuple 0x1b (8 bytes)
[ 525.783052] mmc0: queuing unknown CIS tuple 0x80 (1 bytes)
[ 525.792949] mmc0: queuing unknown CIS tuple 0x81 (1 bytes)
[ 525.810852] mmc0: queuing unknown CIS tuple 0x82 (1 bytes)
[ 525.820275] mmc0: new high speed SDIO card at address 0001
[ 525.851177] esp_dump_var failed, debugfs root removed; var name: esp_msg_level
[ 526.571967] sip_write_memory send buffer failed
[ 526.576528] esp_download_fw Failed to write fw, err: -16
[ 526.581917] download firmware failed
[ 526.585494] esp_init_all failed: -16
[ 526.589060] first error exit
[ 527.601095] sip_detach wrong state 1
[ 527.605218] mmc0: card 0001 removed
[ 527.702166] mmc0: queuing unknown CIS tuple 0x01 (3 bytes)
[ 527.716867] mmc0: queuing unknown CIS tuple 0x1a (5 bytes)
[ 527.725633] mmc0: queuing unknown CIS tuple 0x1b (8 bytes)
[ 527.734705] mmc0: queuing unknown CIS tuple 0x80 (1 bytes)
[ 527.740405] mmc0: new high speed SDIO card at address 0001
[ 527.748088] Unable to handle kernel NULL pointer dereference at virtual address 0000002c
[ 527.756294] pgd = 7e72ea90
[ 527.759008] [0000002c] *pgd=00000000
[ 527.762676] Internal error: Oops: 17 [#1] ARM
[ 527.767030] Modules linked in: g_ffs usb_f_fs libcomposite esp8089
[ 527.773231] CPU: 0 PID: 16 Comm: kworker/0:1 Not tainted 4.15.0-rc8-licheepi-nano+ #67
[ 527.781121] Hardware name: Allwinner suniv Family
[ 527.785862] Workqueue: events_freezable mmc_rescan
[ 527.790792] PC is at esp_sdio_probe+0x54/0x410 [esp8089]
[ 527.796119] LR is at sdio_bus_probe+0xa0/0x118
[ 527.800556] pc : [<bf001110>] lr : [<c042c754>] psr: a0000013
[ 527.806808] sp : c3935df0 ip : c3b3ea24 fp : c3b3e800
[ 527.812020] r10: bf009150 r9 : c3b65808 r8 : bf00b9a4
[ 527.817236] r7 : bf00b07c r6 : c3190ce0 r5 : c3b65800 r4 : c309b200
[ 527.823746] r3 : 00000000 r2 : 00000003 r1 : bf009150 r0 : c3b65800
[ 527.830258] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 527.837374] Control: 0005317f Table: 83064000 DAC: 00000053
[ 527.843113] Process kworker/0:1 (pid: 16, stack limit = 0x95963aa7)
[ 527.849366] Stack: (0xc3935df0 to 0xc3936000)
[ 527.853726] 5de0: 00000000 60000013 00000000 c3b65808
[ 527.861897] 5e00: 00000000 c3b65800 bf00b090 bf009150 00000000 00000000 00000000 c042c754
[ 527.870067] 5e20: c3b65808 c0969c34 00000000 bf00b090 0000000a c037c624 00000000 c3935e70
[ 527.878237] 5e40: c037c7b0 00000001 c0969c10 00000000 00000000 c037ac28 c38e541c c3010c34
[ 527.886408] 5e60: c3b65808 c3b6583c c3b65808 c037c2f0 c3b65808 00000001 c3b65808 c3b65810
[ 527.894579] 5e80: c092b2d0 c3b65808 00000000 c037b8fc c3b65810 c30d4008 c3b65808 c0379d84
[ 527.902750] 5ea0: 00000001 c057fffc c3b65800 c3b65808 c3b65800 c3b65808 c3b3e800 c30d4000
[ 527.910920] 5ec0: 00000000 00000001 c30d4000 c042ca6c 00000000 00000001 c3b3e800 c042bef8
[ 527.919089] 5ee0: 00000000 c3935eeb 00000000 10ffff00 00000000 c3b3ea38 00000000 c3b3e800
[ 527.927260] 5f00: 00061a80 c0631d70 00000000 00000008 c0909218 c0423794 c3b3ea38 c390a840
[ 527.935431] 5f20: c3f6a400 00000000 c0909218 c0129a64 c090922c c090e680 c390a840 c0909218
[ 527.943601] 5f40: ffffe000 c090922c c090e680 c390a858 00000008 c0129cc8 c3914620 00000000
[ 527.951772] 5f60: ffffe000 c38f9f40 c3914620 00000000 c3934000 c390a840 c0129c78 c383bee4
[ 527.959941] 5f80: c38f9f58 c012ec54 c3934000 c3914620 c012eb38 00000000 00000000 00000000
[ 527.968109] 5fa0: 00000000 00000000 00000000 c0107dc0 00000000 00000000 00000000 00000000
[ 527.976276] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 527.984444] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 98911800 1a959a95
[ 527.992750] [<bf001110>] (esp_sdio_probe [esp8089]) from [<c042c754>] (sdio_bus_probe+0xa0/0x118)
[ 528.001636] [<c042c754>] (sdio_bus_probe) from [<c037c624>] (driver_probe_device+0x250/0x334)
[ 528.010175] [<c037c624>] (driver_probe_device) from [<c037ac28>] (bus_for_each_drv+0x48/0x94)
[ 528.018698] [<c037ac28>] (bus_for_each_drv) from [<c037c2f0>] (__device_attach+0xac/0x114)
[ 528.026951] [<c037c2f0>] (__device_attach) from [<c037b8fc>] (bus_probe_device+0x84/0x8c)
[ 528.035122] [<c037b8fc>] (bus_probe_device) from [<c0379d84>] (device_add+0x370/0x58c)
[ 528.043046] [<c0379d84>] (device_add) from [<c042ca6c>] (sdio_add_func+0x58/0x70)
[ 528.050531] [<c042ca6c>] (sdio_add_func) from [<c042bef8>] (mmc_attach_sdio+0x250/0x324)
[ 528.058635] [<c042bef8>] (mmc_attach_sdio) from [<c0423794>] (mmc_rescan+0x324/0x3d0)
[ 528.066484] [<c0423794>] (mmc_rescan) from [<c0129a64>] (process_one_work+0x1d8/0x3ec)
[ 528.074407] [<c0129a64>] (process_one_work) from [<c0129cc8>] (worker_thread+0x50/0x5b8)
[ 528.082499] [<c0129cc8>] (worker_thread) from [<c012ec54>] (kthread+0x11c/0x134)
[ 528.089903] [<c012ec54>] (kthread) from [<c0107dc0>] (ret_from_fork+0x14/0x34)
[ 528.097124] Code: e5946004 e5883000 e5963004 e5862014 (e593302c)
[ 528.103369] ---[ end trace 215fc29dc0b199e9 ]---
参考了论坛中的,还有晕哥的git里面的4.15等等,加载完ko后,都是没有任何log出来。所以我觉得源码应该没问题,怀疑是否需要设置设备树或者其他什么设置。 我用https://whycan.cn/t_2091.html 这个里面的整个镜像,是可以出来wlan0和连接网络的,说明硬件没问题。 感觉要么设备数有问题,要么kernel的menuconfig配置有问题
启动日志
U-Boot 2018.01-05679-g013ca45-dirty (Aug 29 2019 - 17:55:54 -0700) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x70000, size 0x10000
SF: 65536 bytes @ 0x70000 Read: OK
device 0 offset 0x80000, size 0x400000
SF: 4194304 bytes @ 0x80000 Read: OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 816fa000, end 816ff442 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (njatech@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #66 Tue Sep 10 04:20:55 PDT 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] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[ 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: 56224K/65536K available (5120K kernel code, 220K rwdata, 1064K rodata, 1024K init, 223K bss, 9312K 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 : 0x(ptrval) - 0x(ptrval) (6112 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 221 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 224 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.000044] 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.000639] Console: colour dummy device 80x30
[ 0.000730] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070226] pid_max: default: 32768 minimum: 301
[ 0.070530] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070569] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.071954] CPU: Testing write buffer coherency: ok
[ 0.073538] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076026] devtmpfs: initialized
[ 0.082882] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.082944] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083184] pinctrl core: initialized pinctrl subsystem
[ 0.085113] NET: Registered protocol family 16
[ 0.086323] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.088033] cpuidle: using governor menu
[ 0.106793] SCSI subsystem initialized
[ 0.107116] usbcore: registered new interface driver usbfs
[ 0.107256] usbcore: registered new interface driver hub
[ 0.107432] usbcore: registered new device driver usb
[ 0.107828] pps_core: LinuxPPS API ver. 1 registered
[ 0.107855] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.107912] PTP clock support registered
[ 0.109514] clocksource: Switched to clocksource timer
[ 0.134778] NET: Registered protocol family 2
[ 0.136395] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.136471] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.136520] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.136759] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.136817] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.137353] NET: Registered protocol family 1
[ 0.139727] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.141471] Initialise system trusted keyrings
[ 0.142001] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.157142] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.157702] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.171831] Key type asymmetric registered
[ 0.171872] Asymmetric key parser 'x509' registered
[ 0.172067] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.172098] io scheduler noop registered
[ 0.172116] io scheduler deadline registered
[ 0.172852] io scheduler cfq registered (default)
[ 0.172886] io scheduler mq-deadline registered
[ 0.172904] io scheduler kyber registered
[ 0.173967] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.183284] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.344795] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.351272] console [ttyS0] disabled
[ 0.371514] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 22, base_baud = 6250000) is a 16550A
[ 0.810223] console [ttyS0] enabled
[ 0.836174] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.867443] 1c25800.serial: ttyS2 at MMIO 0x1c25800 (irq = 24, base_baud = 6250000) is a 16550A
[ 0.878225] SCSI Media Changer driver v0.25
[ 0.886041] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.890931] 4 ofpart partitions found on MTD device spi0.0
[ 0.896411] Creating 4 MTD partitions on "spi0.0":
[ 0.901271] 0x000000000000-0x000000070000 : "u-boot"
[ 0.908622] 0x000000070000-0x000000080000 : "dtb"
[ 0.915817] 0x000000080000-0x000000480000 : "kernel"
[ 0.923296] 0x000000480000-0x000001000000 : "rootfs"
[ 0.933387] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.940048] ehci-platform: EHCI generic platform driver
[ 0.945526] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.951824] ohci-platform: OHCI generic platform driver
[ 0.957402] usbcore: registered new interface driver usb-storage
[ 0.964242] i2c /dev entries driver
[ 0.972185] rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
[ 0.980176] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 0.990683] ipip: IPv4 and MPLS over IPv4 tunneling driver
[ 0.997374] Initializing XFRM netlink socket
[ 1.001843] NET: Registered protocol family 17
[ 1.006348] NET: Registered protocol family 15
[ 1.010934] Key type dns_resolver registered
[ 1.017120] Loading compiled-in X.509 certificates
[ 1.030387] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.042160] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.047952] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.056471] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.063363] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.070625] usb usb1: Product: MUSB HDRC host driver
[ 1.075589] usb usb1: Manufacturer: Linux 4.15.0-rc8-licheepi-nano+ musb-hcd
[ 1.082669] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 1.089184] hub 1-0:1.0: USB hub found
[ 1.093222] hub 1-0:1.0: 1 port detected
[ 1.100251] rtc-pcf8563 0-0051: low voltage detected, date/time is not reliable.
[ 1.107667] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 1.115108] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.132317] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.139354] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.148093] cfg80211: failed to load regulatory.db
[ 1.153102] vcc3v3: disabling
[ 1.252387] random: crng init done
[ 3.439778] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 3.448439] devtmpfs: mounted
[ 3.455932] Freeing unused kernel memory: 1024K
Starting syslogd: OK
Starting klogd: OK
Initializing random number generator... done.
Starting ntpd: /etc/init.d/S39ntpd: line 9: /usr/sbin/ntpd: not found
FAIL
Starting udhcpd: /etc/init.d/S39udhcpd: line 9: /usr/sbin/udhcpd: not found
FAIL
Starting network: Successfully initialized wpa_supplicant
Failed to open config file '/overlay/etc/wpa_supplicant.conf', error: No such file or directory
Failed to read or parse configuration '/overlay/etc/wpa_supplicant.conf'.
FAIL
Starting wpa_cli: Failed to connect to non-global ctrl_ifname: (nil) error: No such file or directory
FAIL
[ 20.033880] file system registered
# install_listener('tcp:5037','*smartsocket*')
[ 20.868288] read descriptors
[ 20.871903] read strings
[ 20.874662] g_ffs gadget: g_ffs ready
#
#
#
# cd /mnt/
# ls
esp8089.ko
# rz -y
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring esp8089.ko...
100% 75 KB 10 KB/sec 00:00:07 0 Errors
# cat /lib/modules/4.15.0-rc8-licheepi-nano\+/
build modules.builtin.bin modules.softdep
kernel/ modules.dep modules.symbols
modules.alias modules.dep.bin modules.symbols.bin
modules.alias.bin modules.devname source
modules.builtin modules.order
# cat /lib/modules/4.15.0-rc8-licheepi-nano\+/modules.dep
kernel/crypto/echainiv.ko:
kernel/drivers/video/backlight/lcd.ko:
kernel/drivers/net/ethernet/davicom/dm9000.ko: kernel/drivers/net/mii.ko
kernel/drivers/net/ethernet/davicom/dm9051.ko: kernel/drivers/net/mii.ko
kernel/drivers/net/wireless/esp8089/esp8089.ko:
kernel/drivers/net/mii.ko:
kernel/drivers/usb/gadget/function/usb_f_fs.ko: kernel/drivers/usb/gadget/libcomposite.ko
kernel/drivers/usb/gadget/legacy/gadgetfs.ko:
kernel/drivers/usb/gadget/legacy/g_ffs.ko: kernel/drivers/usb/gadget/function/usb_f_fs.ko kernel/drivers/usb/gadget/libcomposite.ko
kernel/drivers/usb/gadget/libcomposite.ko:
kernel/drivers/usb/mon/usbmon.ko:
# insmod esp8089.ko
#
#
#
#
#
#
设备树
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
* Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
*/
/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Lichee Pi Nano";
compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s",
"allwinner,suniv";
aliases {
serial0 = &uart0;
spi0 = &spi0;
};
chosen {
stdout-path = "serial0:115200n8";
};
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
};
&mmc0 {
vmmc-supply = <®_vcc3v3>;
bus-width = <4>;
broken-cd;
status = "okay";
};
&otg_sram {
status = "okay";
};
&pio {
dm9051_default:dm9051_default{
};
dm9051_rst:dm9051_rst{
pins = "PE3";
};
dm9051_int:dm9051_int{
pins = "PE2";
};
};
/*&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
};
};*/
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-max-frequency = <50000000>;
flash: w25q128@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x70000>;
read-only;
};
partition@70000 {
label = "dtb";
reg = <0x70000 0x10000>;
read-only;
};
partition@80000 {
label = "kernel";
reg = <0x80000 0x400000>;
read-only;
};
partition@480000 {
label = "rootfs";
reg = <0x480000 0xB80000>;
};
};
};
};
&spi1 {
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins_a>;
pinctrl-1 = <&spi1_pins_a>;
status = "okay";
spi-max-frequency = <25000000>;
dm9051@0 {
compatible = "davicom,dm9051";
reg = <0>;
spi-max-frequency = <25000000>;/*<109000000>;*/
dm9051_rst = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* PE3 */
status = "okay";
};
};
&spi_int {
interrupt-parent = <&pio>;
interrupts = <39>; /* pe2 */
status = "okay";
};
&i2c1 {
clock_frequency = <400000>;
pinctrl-0 = <&i2c1_pins>;
pinctrl-names = "default";
status = "okay";
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
status = "okay";
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_a>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_a>;
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpio = <&pio 3 10 GPIO_ACTIVE_HIGH>; /* PD10 */
status = "okay";
};
ko文件esp8089.rar
pinctrl 是登记 soc 芯片上面所有引脚复用。
你先搜索一下哪个 pinctrl 文件参与了编译:
find . |grep pinctrl |grep \\.o$
然后看下 D14 是不是没有注册复用UART功能, 只注册了GPIO。
查过了,
./drivers/pinctrl/sunxi/pinctrl-suniv.c 中 第 207行
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 14),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd"), /* D20 */
SUNXI_FUNCTION(0x3, "lvds1"), /* RX 这一行*/
SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 14)),
应改为
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 14),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd"), /* D20 */
SUNXI_FUNCTION(0x3, "uart2"), /* RX 这一行*/
SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 14)),
LOG中有一句
[ 0.832283] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.841925] suniv-pinctrl 1c20800.pinctrl: unsupported function uart2 on pin PD14
[ 0.871149] 1c25800.serial: ttyS2 at MMIO 0x1c25800 (irq = 24, base_baud = 6250000) is a 16550A
[ 0.881947] SCSI Media Changer driver v0.25
回头查查pinctrl中是啥意思
Windows 工具链安装版下载 arm-2014.05-29-arm-none-linux-gnueabi.exe
https://pan.baidu.com/s/12uzOs1tHD8Lla6LXBKb4BQWindows 工具链绿色版下载(推荐) arm-2014.05-29-arm-none-linux-gnueabi-i686-mingw32.tar.bz2
https://pan.baidu.com/s/1hvdi7vyoIVuI2CLkJatSHALinux解压版: arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
https://pan.baidu.com/s/1-WXlwxLoQNzKGDdIJ5JDpw使用最后一个软件构建文件系统, 然后用第二个在 Windows 编译, 应该是没有问题的。
谢谢晕哥,只是用这些工具链编译应该没问题,只是涉及到大小问题,涉及工具链中的so文件比较大,估计16M Flash很难装得下。所以才用musl和uclibc-ng的。实测uclibc-ng更小一点
很奇怪,设备树中配置了串口0、串口1、串口2,串口0和串口1都可以正常收发,串口2只能发送,无法接收到数据,接收引脚上有波形。
uart0_pins_a: uart-pins-pe {
pins = "PE0", "PE1";
function = "uart0";
};
uart1_pins_a: uart-pins-pd {
pins = "PD3", "PD4";
function = "uart1";
};
uart2_pins_a: uart2-pins-pd {
pins = "PD14", "PD13";
function = "uart2";
};
经过排查,发现PD14脚的复用功能并未生效,PD14还是禁用的状态(0x7),将其设置为0x3之后就可以收到数据了。
# devmem 0x01c20870
0x77377677
devmem 0x01c20870 32 0x73377677
设备树文件 suniv.dtsi
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
* Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
*/
#include <dt-bindings/clock/suniv-ccu.h>
#include <dt-bindings/reset/suniv-ccu.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
interrupt-parent = <&intc>;
clocks {
#address-cells = <1>;
#size-cells = <1>;
ranges;
osc24M: clk-24M {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <24000000>;
clock-output-names = "osc24M";
};
osc32k: clk-32k {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <32768>;
clock-output-names = "osc32k";
};
fake100M: clk-100M {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <100000000>;
clock-output-names = "fake-100M";
};
};
cpus {
#address-cells = <0>;
#size-cells = <0>;
cpu {
compatible = "arm,arm926ej-s";
device_type = "cpu";
};
};
de: display-engine {
compatible = "allwinner,suniv-display-engine";
allwinner,pipelines = <&fe0>;
status = "disabled";
};
soc {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
sram-controller@1c00000 {
compatible = "allwinner,sun4i-a10-sram-controller";
reg = <0x01c00000 0x30>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
sram_d: sram@10000 {
compatible = "mmio-sram";
reg = <0x00010000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x00010000 0x1000>;
otg_sram: sram-section@0 {
compatible = "allwinner,sun4i-a10-sram-d";
reg = <0x0000 0x1000>;
status = "disabled";
};
};
};
spi0: spi@1c05000 {
compatible = "allwinner,suniv-spi",
"allwinner,sun8i-h3-spi";
reg = <0x01c05000 0x1000>;
interrupts = <10>;
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>;
clock-names = "ahb", "mod";
resets = <&ccu RST_BUS_SPI0>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
spi1: spi@1c06000 {
compatible = "allwinner,suniv-spi",
"allwinner,sun8i-h3-spi";
reg = <0x01c06000 0x1000>;
interrupts = <11>;
clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_BUS_SPI1>;
clock-names = "ahb", "mod";
resets = <&ccu RST_BUS_SPI1>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
tcon0: lcd-controller@1c0c000 {
compatible = "allwinner,suniv-tcon";
reg = <0x01c0c000 0x1000>;
interrupts = <29>;
clocks = <&ccu CLK_BUS_LCD>,
<&ccu CLK_TCON>,
<&osc24M>; /* Still unknown */
clock-names = "ahb",
"tcon-ch0",
"tcon-ch1";
clock-output-names = "tcon-pixel-clock";
resets = <&ccu RST_BUS_LCD>;
reset-names = "lcd";
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
tcon0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
tcon0_in_be0: endpoint@0 {
reg = <0>;
remote-endpoint = <&be0_out_tcon0>;
};
};
tcon0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
};
};
mmc0: mmc@1c0f000 {
compatible = "allwinner,suniv-mmc",
"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 = <23>;
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
mmc1: mmc@1c10000 {
compatible = "allwinner,suniv-mmc",
"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 = <24>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
ccu: clock@1c20000 {
compatible = "allwinner,suniv-ccu";
reg = <0x01c20000 0x400>;
clocks = <&osc24M>, <&osc32k>;
clock-names = "hosc", "losc";
#clock-cells = <1>;
#reset-cells = <1>;
};
intc: interrupt-controller@1c20400 {
compatible = "allwinner,suniv-ic";
reg = <0x01c20400 0x400>;
interrupt-controller;
#interrupt-cells = <1>;
};
pio: pinctrl@1c20800 {
compatible = "allwinner,suniv-pinctrl";
reg = <0x01c20800 0x400>;
interrupts = <38>, <39>, <40>;
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
clock-names = "apb", "hosc", "losc";
gpio-controller;
interrupt-controller;
#interrupt-cells = <3>;
#gpio-cells = <3>;
spi0_pins_a: spi0-pins-pc {
pins = "PC0", "PC1", "PC2", "PC3";
function = "spi0";
};
spi1_pins_a: spi1-pins-pc {
pins = "PE7", "PE8", "PE9", "PE10";
function = "spi1";
};
lcd_rgb666_pins: 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";
};
uart0_pins_a: uart-pins-pe {
pins = "PE0", "PE1";
function = "uart0";
};
uart1_pins_a: uart-pins-pd {
pins = "PD3", "PD4";
function = "uart1";
};
uart2_pins_a: uart2-pins-pd {
pins = "PD14", "PD13";
function = "uart2";
};
mmc0_pins: mmc0-pins {
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
function = "mmc0";
};
rtp_pins: rtp-pins {
pins = "PA0", "PA1", "PA2", "PA3";
function = "rtp";
};
i2c0_pins: i2c0 {
pins = "PE11", "PE12";
function = "i2c0";
};
i2c1_pins: i2c1 {
pins = "PD5", "PD6";
function = "i2c1";
};
spi_int: spi_int {
pins = "PE2";
function = "gpio_in";
};
};
timer@1c20c00 {
compatible = "allwinner,suniv-timer";
reg = <0x01c20c00 0x90>;
interrupts = <13>;
clocks = <&osc24M>;
};
wdt: watchdog@1c20ca0 {
compatible = "allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>;
};
rtp: rtp@1c24800 {
compatible = "allwinner,sun4i-a10-ts";
reg = <0x01c24800 0x100>;
interrupts = <20>;
allwinner,ts-attached;
#thermal-sensor-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&rtp_pins>;
status = "disabled";
};
uart0: serial@1c25000 {
compatible = "snps,dw-apb-uart";
reg = <0x01c25000 0x400>;
interrupts = <1>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART0>;
resets = <&ccu RST_BUS_UART0>;
status = "disabled";
};
uart1: serial@1c25400 {
compatible = "snps,dw-apb-uart";
reg = <0x01c25400 0x400>;
interrupts = <2>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART1>;
resets = <&ccu RST_BUS_UART1>;
status = "disabled";
};
uart2: serial@1c25800 {
compatible = "snps,dw-apb-uart";
reg = <0x01c25800 0x400>;
interrupts = <3>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART2>;
resets = <&ccu RST_BUS_UART2>;
status = "disabled";
};
i2c0: i2c@1C27000 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x01C27000 0x400>;
interrupts = <7>;
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@1C27400 {
compatible = "allwinner,sun6i-a31-i2c";
reg = <0x01C27400 0x400>;
interrupts = <8>;
clocks = <&ccu CLK_BUS_I2C1>;
resets = <&ccu RST_BUS_I2C1>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
usb_otg: usb@1c13000 {
compatible = "allwinner,suniv-musb";
reg = <0x01c13000 0x0400>;
clocks = <&ccu CLK_BUS_OTG>;
resets = <&ccu RST_BUS_OTG>;
interrupts = <26>;
interrupt-names = "mc";
phys = <&usbphy 0>;
phy-names = "usb";
extcon = <&usbphy 0>;
allwinner,sram = <&otg_sram 1>;
status = "disabled";
};
usbphy: phy@1c13400 {
compatible = "allwinner,suniv-usb-phy";
reg = <0x01c13400 0x10>;
reg-names = "phy_ctrl";
clocks = <&ccu CLK_USB_PHY0>;
clock-names = "usb0_phy";
resets = <&ccu RST_USB_PHY0>;
reset-names = "usb0_reset";
#phy-cells = <1>;
status = "disabled";
};
fe0: display-frontend@1e00000 {
compatible = "allwinner,suniv-display-frontend";
reg = <0x01e00000 0x20000>;
interrupts = <30>;
clocks = <&ccu CLK_BUS_DE_FE>, <&ccu CLK_DE_FE>,
<&ccu CLK_DRAM_DE_FE>;
clock-names = "ahb", "mod",
"ram";
resets = <&ccu RST_BUS_DE_FE>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
fe0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
fe0_out_be0: endpoint@0 {
reg = <0>;
remote-endpoint = <&be0_in_fe0>;
};
};
};
};
be0: display-backend@1e60000 {
compatible = "allwinner,suniv-display-backend";
reg = <0x01e60000 0x10000>;
reg-names = "be";
interrupts = <31>;
clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>,
<&ccu CLK_DRAM_DE_BE>;
clock-names = "ahb", "mod",
"ram";
resets = <&ccu RST_BUS_DE_BE>;
reset-names = "be";
assigned-clocks = <&ccu CLK_DE_BE>;
assigned-clock-rates = <300000000>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
be0_in: port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
be0_in_fe0: endpoint@0 {
reg = <0>;
remote-endpoint = <&fe0_out_be0>;
};
};
be0_out: port@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
be0_out_tcon0: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_in_be0>;
};
};
};
};
};
};
设备树 sunxi-f1c100s-nano.dts
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
/*
* Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
*/
/dts-v1/;
#include "suniv-f1c100s.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Lichee Pi Nano";
compatible = "licheepi,licheepi-nano", "allwinner,suniv-f1c100s",
"allwinner,suniv";
aliases {
serial0 = &uart0;
spi0 = &spi0;
};
chosen {
stdout-path = "serial0:115200n8";
};
reg_vcc3v3: vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
};
&otg_sram {
status = "okay";
};
&pio {
dm9051_default:dm9051_default{
};
dm9051_rst:dm9051_rst{
pins = "PE3";
};
dm9051_int:dm9051_int{
pins = "PE2";
};
};
/*&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
};
};*/
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-max-frequency = <50000000>;
flash: w25q128@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x000000 0x70000>;
read-only;
};
partition@70000 {
label = "dtb";
reg = <0x70000 0x10000>;
read-only;
};
partition@80000 {
label = "kernel";
reg = <0x80000 0x400000>;
read-only;
};
partition@480000 {
label = "rootfs";
reg = <0x480000 0xB80000>;
};
};
};
};
&spi1 {
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins_a>;
pinctrl-1 = <&spi1_pins_a>;
status = "okay";
spi-max-frequency = <25000000>;
dm9051@0 {
compatible = "davicom,dm9051";
reg = <0>;
spi-max-frequency = <25000000>;/*<109000000>;*/
dm9051_rst = <&pio 4 3 GPIO_ACTIVE_HIGH>; /* PE3 */
status = "okay";
};
};
&spi_int {
interrupt-parent = <&pio>;
interrupts = <39>; /* pe2 */
status = "okay";
};
&i2c1 {
clock_frequency = <400000>;
pinctrl-0 = <&i2c1_pins>;
pinctrl-names = "default";
status = "okay";
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
status = "okay";
};
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_a>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_a>;
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpio = <&pio 3 10 GPIO_ACTIVE_HIGH>; /* PD10 */
status = "okay";
};
但是查了下设备树,唯一用到PD14的功能是rgb接口,但是并未启用。很奇怪为什么发送脚已经被正确设置了,接收脚却没有被正确设置复用。
我遇到个奇怪的问题,在家里的win10下就不行
启动日志
U-Boot 2018.01-05679-g013ca45-dirty (Aug 29 2019 - 17:55:54 -0700) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x70000, size 0x10000
SF: 65536 bytes @ 0x70000 Read: OK
device 0 offset 0x80000, size 0x400000
SF: 4194304 bytes @ 0x80000 Read: OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 816fa000, end 816ff40a ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (ubuntu@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #58 Sat Aug 31 07:23:27 CST 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] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[ 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: 56236K/65536K available (5120K kernel code, 214K rwdata, 1020K rodata, 1024K init, 221K bss, 9300K 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 : 0x(ptrval) - 0x(ptrval) (6112 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 215 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 222 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.000044] 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.000639] Console: colour dummy device 80x30
[ 0.000729] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070228] pid_max: default: 32768 minimum: 301
[ 0.070541] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070582] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.071965] CPU: Testing write buffer coherency: ok
[ 0.073559] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076050] devtmpfs: initialized
[ 0.082908] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.082970] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083222] pinctrl core: initialized pinctrl subsystem
[ 0.085141] NET: Registered protocol family 16
[ 0.086341] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.088034] cpuidle: using governor menu
[ 0.107083] SCSI subsystem initialized
[ 0.107395] usbcore: registered new interface driver usbfs
[ 0.107543] usbcore: registered new interface driver hub
[ 0.107722] usbcore: registered new device driver usb
[ 0.108133] pps_core: LinuxPPS API ver. 1 registered
[ 0.108163] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.108226] PTP clock support registered
[ 0.109638] clocksource: Switched to clocksource timer
[ 0.134228] NET: Registered protocol family 2
[ 0.135605] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.135680] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.135731] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.135980] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.136041] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.136506] NET: Registered protocol family 1
[ 0.138764] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.140651] Initialise system trusted keyrings
[ 0.141184] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.156226] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.156808] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.171191] Key type asymmetric registered
[ 0.171230] Asymmetric key parser 'x509' registered
[ 0.171430] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.171463] io scheduler noop registered
[ 0.171483] io scheduler deadline registered
[ 0.172244] io scheduler cfq registered (default)
[ 0.172279] io scheduler mq-deadline registered
[ 0.172298] io scheduler kyber registered
[ 0.173397] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.183229] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.341042] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.347340] console [ttyS0] disabled
[ 0.367589] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 22, base_baud = 6250000) is a 16550A
[ 0.806314] console [ttyS0] enabled
[ 0.832283] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.841925] suniv-pinctrl 1c20800.pinctrl: unsupported function uart2 on pin PD14
[ 0.871149] 1c25800.serial: ttyS2 at MMIO 0x1c25800 (irq = 24, base_baud = 6250000) is a 16550A
[ 0.881947] SCSI Media Changer driver v0.25
[ 0.889746] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.894527] 4 ofpart partitions found on MTD device spi0.0
[ 0.900074] Creating 4 MTD partitions on "spi0.0":
[ 0.904908] 0x000000000000-0x000000070000 : "u-boot"
[ 0.912312] 0x000000070000-0x000000080000 : "dtb"
[ 0.919317] 0x000000080000-0x000000480000 : "kernel"
[ 0.926780] 0x000000480000-0x000001000000 : "rootfs"
[ 0.936907] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.943571] ehci-platform: EHCI generic platform driver
[ 0.949063] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.955365] ohci-platform: OHCI generic platform driver
[ 0.961030] usbcore: registered new interface driver usb-storage
[ 0.967844] i2c /dev entries driver
[ 0.976503] NET: Registered protocol family 17
[ 0.981183] Key type dns_resolver registered
[ 0.987291] Loading compiled-in X.509 certificates
[ 1.000376] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.012157] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.017950] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.026445] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.033331] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.040592] usb usb1: Product: MUSB HDRC host driver
[ 1.045556] usb usb1: Manufacturer: Linux 4.15.0-rc8-licheepi-nano+ musb-hcd
[ 1.052639] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 1.059118] hub 1-0:1.0: USB hub found
[ 1.063150] hub 1-0:1.0: 1 port detected
[ 1.068805] hctosys: unable to open rtc device (rtc0)
[ 1.074437] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.091945] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.098690] vcc3v3: disabling
[ 1.102594] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.111302] cfg80211: failed to load regulatory.db
[ 1.212105] random: crng init done
[ 2.880061] VFS: Mounted root (jffs2 filesystem) on device 31:3.
[ 2.888776] devtmpfs: mounted
[ 2.896262] Freeing unused kernel memory: 1024K
Starting syslogd: OK
Starting klogd: OK
Initializing random number generator... done.
Starting ntpd: /etc/init.d/S39ntpd: line 9: /usr/sbin/ntpd: not found
FAIL
Starting udhcpd: /etc/init.d/S39udhcpd: line 9: /usr/sbin/udhcpd: not found
FAIL
Starting network: /bin/sh: wpa_supplicant: not found
FAIL
Starting wpa_cli: /etc/init.d/S41wpa_cli: line 9: /usr/sbin/wpa_cli: not found
FAIL
[ 10.350506] file system registered
# install_listener('tcp:5037','*smartsocket*')
[ 15.598118] read descriptors
[ 15.601558] read strings
[ 15.604359] g_ffs gadget: g_ffs ready
[ 15.887494] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 15.934514] g_ffs gadget: high-speed config #1: FunctionFS
[ 52.145089] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 52.161146] g_ffs gadget: high-speed config #1: FunctionFS
[ 52.167815] read descriptors
[ 52.172418] read strings
[ 52.175193] g_ffs gadget: g_ffs ready
[ 52.425135] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 53.102215] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 53.297238] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 53.308229] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 53.316262] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 53.323326] musb_g_ep0_irq 779: SETUP packet len 0 != 8 ?
[ 53.357234] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
#
#
#
# [ 456.763383] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 456.773412] g_ffs gadget: high-speed config #1: FunctionFS
[ 457.713994] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage in/status
[ 458.396588] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 459.274700] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 459.314707] g_ffs gadget: high-speed config #1: FunctionFS
[ 459.321355] read descriptors
[ 459.324291] read strings
[ 459.327026] g_ffs gadget: g_ffs ready
[ 459.598764] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 460.899399] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage in/status
[ 461.780025] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 461.819026] g_ffs gadget: high-speed config #1: FunctionFS
[ 463.585249] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 467.692256] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage in/status
[ 468.904940] g_ffs gadget: high-speed config #1: FunctionFS
[ 468.911546] read descriptors
[ 468.914481] read strings
[ 468.917216] g_ffs gadget: g_ffs ready
[ 470.332608] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage in/status
[ 471.199228] musb_g_ep0_irq 687: SetupEnd came in a wrong ep0stage out/status
[ 471.260235] g_ffs gadget: high-speed config #1: FunctionFS
但是在公司的win10下就好的。在家里的就不行,CPU均为AMD 1600, win10 x64.
晕哥 说:/dev/console 这个设备存在吗?
一直在打印,按Enter也没法到登录那一步,因此也没法看/dev目录。 但如果只是挂载到/overlay,而不执行povit_root的话,就没问题
貌似切换后,/dev目录中的各个设备没有自动复制底层的/dev/,因此没有console之类的,也没有ttyS*,查了很多文章,需要把/dev中的加载到新的/dev中
mount -n -t overlay overlayfs:/overlay -o lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir /merged
mount -n /proc -o noatime,--move /merged/proc
pivot_root /merged /merged/rom
mount -n /rom/dev -o noatime,--move /dev
mount -n /rom/tmp -o noatime,--move /tmp
mount -n /rom/sys -o noatime,--move /sys
mount -n /rom/overlay -o noatime,--move /overlay
我再试试看
请教下,切换根目录应该在哪一步切换,povit_root /merged /merged/rom。我尝试了在inittab中,执行rcS之前,执行是对的,但就是一直报 can't open /dev/console: No such file or directory和can't open /dev/ttyGS0: No such file or directory
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run
# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts /dev/shm
::sysinit:/bin/mount -a
::sysinit:/sbin/swapon -a
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
::sysinit:/bin/hostname -F /etc/hostname
# Load Wifi driver
::sysinit:/sbin/modprobe r8723bs
# now run any rc scripts
::sysinit:mount -n -t overlay overlayfs:/overlay -o lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir /merged/
::sysinit:pivot_root /merged /merged/rom
::sysinit:/etc/init.d/rcS
# Put a getty on the serial port
ttyGS0::respawn:/sbin/getty -L ttyGS0 0 vt100 # GENERIC_SERIAL
console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
系统启动日志
U-Boot 2018.01-05679-g013ca45-dirty (Jul 08 2019 - 05:04:44 -0700) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 64 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x70000, size 0x10000
SF: 65536 bytes @ 0x70000 Read: OK
device 0 offset 0x80000, size 0x400000
SF: 4194304 bytes @ 0x80000 Read: OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 816fa000, end 816ff43e ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (njatech@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #55 Tue Aug 27 00:47:58 PDT 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] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=squashfs
[ 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: 56232K/65536K available (5120K kernel code, 217K rwdata, 1040K rodata, 1024K init, 221K bss, 9304K 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 : 0x(ptrval) - 0x(ptrval) (6112 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 218 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 222 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.000045] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000110] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000639] Console: colour dummy device 80x30
[ 0.000726] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070229] pid_max: default: 32768 minimum: 301
[ 0.070535] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070576] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.071946] CPU: Testing write buffer coherency: ok
[ 0.073508] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.075989] devtmpfs: initialized
[ 0.082758] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.082820] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083069] pinctrl core: initialized pinctrl subsystem
[ 0.084984] NET: Registered protocol family 16
[ 0.086191] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.087888] cpuidle: using governor menu
[ 0.106547] SCSI subsystem initialized
[ 0.106848] usbcore: registered new interface driver usbfs
[ 0.106987] usbcore: registered new interface driver hub
[ 0.107161] usbcore: registered new device driver usb
[ 0.107549] pps_core: LinuxPPS API ver. 1 registered
[ 0.107578] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.107635] PTP clock support registered
[ 0.109064] clocksource: Switched to clocksource timer
[ 0.134427] NET: Registered protocol family 2
[ 0.135785] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.135858] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.135909] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.136164] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.136224] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.136697] NET: Registered protocol family 1
[ 0.138944] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.140781] Initialise system trusted keyrings
[ 0.141313] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.155964] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.156529] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 0.171007] Key type asymmetric registered
[ 0.171048] Asymmetric key parser 'x509' registered
[ 0.171241] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.171271] io scheduler noop registered
[ 0.171289] io scheduler deadline registered
[ 0.172032] io scheduler cfq registered (default)
[ 0.172065] io scheduler mq-deadline registered
[ 0.172083] io scheduler kyber registered
[ 0.173151] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.182560] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.346331] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.352870] console [ttyS0] disabled
[ 0.373113] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 22, base_baud = 6250000) is a 16550A
[ 0.812106] console [ttyS0] enabled
[ 0.838007] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.847644] suniv-pinctrl 1c20800.pinctrl: unsupported function uart2 on pin PD14
[ 0.876866] 1c25800.serial: ttyS2 at MMIO 0x1c25800 (irq = 24, base_baud = 6250000) is a 16550A
[ 0.887665] SCSI Media Changer driver v0.25
[ 0.895490] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.900384] 5 ofpart partitions found on MTD device spi0.0
[ 0.905869] Creating 5 MTD partitions on "spi0.0":
[ 0.910755] 0x000000000000-0x000000070000 : "u-boot"
[ 0.918127] 0x000000070000-0x000000080000 : "dtb"
[ 0.925286] 0x000000080000-0x000000480000 : "kernel"
[ 0.932753] 0x000000480000-0x000000c00000 : "rootfs"
[ 0.940150] 0x000000c00000-0x000001000000 : "overlayfs"
[ 0.950543] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.957078] ehci-platform: EHCI generic platform driver
[ 0.962667] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.968888] ohci-platform: OHCI generic platform driver
[ 0.974552] usbcore: registered new interface driver usb-storage
[ 0.981714] i2c /dev entries driver
[ 0.988643] NET: Registered protocol family 17
[ 0.993319] Key type dns_resolver registered
[ 0.999615] Loading compiled-in X.509 certificates
[ 1.012417] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.024204] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 1.030113] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 1.038552] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.045440] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.052698] usb usb1: Product: MUSB HDRC host driver
[ 1.057663] usb usb1: Manufacturer: Linux 4.15.0-rc8-licheepi-nano+ musb-hcd
[ 1.064734] usb usb1: SerialNumber: musb-hdrc.1.auto
[ 1.071248] hub 1-0:1.0: USB hub found
[ 1.075168] hub 1-0:1.0: 1 port detected
[ 1.080960] hctosys: unable to open rtc device (rtc0)
[ 1.086483] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.103942] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.110749] vcc3v3: disabling
[ 1.114526] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.123240] cfg80211: failed to load regulatory.db
[ 1.133930] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[ 1.145509] devtmpfs: mounted
[ 1.153006] Freeing unused kernel memory: 1024K
[ 1.396362] random: crng init done
modprobe: can't change directory to '/lib/modules': No such file or directory
[ 2.253216] overlayfs: upper fs does not support tmpfile.
[ 2.258645] overlayfs: upper fs does not support xattr.
[ 2.263967] overlayfs: upper fs does not support file handles, falling back to index=off.
Starting syslogd: OK
Starting klogd: OK
Configure the USB Gadget: [ 2.585666] using random self ethernet address
[ 2.590268] using random host ethernet address
/usr/bin/gadget_init: line 41: udevadm: not found
ls: /sys/class/udc/: No such file or directory
FAIL
Starting album: /etc/init.d/S36album: line 9: can't create /sys/class/graphics/fbcon/cursor_blink: nonexistent directory
/etc/init.d/S36album: line 10: can't create /sys/class/vtconsole/vtcon1/bind: nonexistent directory
OK
/etc/init.d/S36album: cd: line 11: can't cd to /overlay/album: No such file or directory
Starting ntpd: /etc/init.d/S39ntpd: line 9: /usr/sbin/ntpd: not found
FAIL
Starting udhcpd: /etc/init.d/S39udhcpd: line 9: /usr/sbin/udhcpd: not found
FAIL
Starting network: ifup: interface lo already configured
ip: can't find device 'usb0'
ip: SIOCGIFFLAGS: No such device
ip: can't find device 'usb0'
random: Cannot open /dev/random: No such file or directory
Successfully initialized wpa_supplicant
Failed to open config file '/overlay/etc/wpa_supplicant.conf', error: No such file or directory
Failed to read or parse configuration '/overlay/etc/wpa_supplicant.conf'.
FAIL
Starting wpa_cli: Failed to connect to non-global ctrl_ifname: (nil) error: No such file or directory
FAIL
Starting sshd: OK
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/ttyGS0: No such file or directory
明显的,切换根目录已经成功,因为ssh可以生成key,不会报readonly fs了, 但执行完rcS之后(ssh是rcS中最后一个),就报错误。但如果我不切换跟目录,gadget是OK的,也不会报这个错误。
我驱动DM9051NP的时候,需要用到INT引脚(PE2,下降沿中断),想在设备树中进行描述该中断。
参考了 https://whycan.cn/t_2393.html 和 https://whycan.cn/t_1261.html
设备树中这样写不知道对不对,
<code>
&spi1 {
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins_a>;
status = "okay";
spi-max-frequency = <25000000>;
dm9051@0 {
compatible = "davicom,dm9051";
reg = <0>;
spi-max-frequency = <25000000>;/*<109000000>;*/
status = "okay";
autorepeat;
dm9051_int {
label = "DM9051 INT IRQ";
linux,code = <DM9051 INT>;
interrupt-parent = <&pio>;
interrupts = <4 2 IRQ_TYPE_EDGE_FALLING> /* pe2 */
};
};
};
</code>
驱动中应该是使用platform_get_irq 还是of_xxx进行获取中断号呢?
请教晕哥,我这个好像加载不了rootfs,是没生成mtd节点吗?
....
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=squashfs
...
[ 1.323210] VFS: Cannot open root device "mtdblock3" or unknown-block(31,3): error -19
[ 1.342675] Please append a correct "root=" boot option; here are the available partitions:
...
U-Boot SPL 2018.01-05679-g013ca45-dirty (Jun 18 2019 - 09:56:36)
DRAM: 32 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
Trying to boot from sunxi SPI
U-Boot 2018.01-05679-g013ca45-dirty (Jun 18 2019 - 09:56:36 -0700) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Setting up a 480x272 lcd console (overscan 0x0)
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
device 0 offset 0x70000, size 0x10000
SF: 65536 bytes @ 0x70000 Read: OK
device 0 offset 0x80000, size 0x400000
SF: 4194304 bytes @ 0x80000 Read: OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 80e5f000, end 80e6410e ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (njatech@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #15 Tue Jun 18 10:33:40 PDT 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] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=squashfs
[ 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: 23452K/32768K available (5120K kernel code, 481K rwdata, 1352K rodata, 1024K init, 247K bss, 9316K 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) (6112 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 482 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 248 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.000113] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000674] Console: colour dummy device 80x30
[ 0.001539] console [tty0] enabled
[ 0.001620] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070284] pid_max: default: 32768 minimum: 301
[ 0.070603] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070695] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.072247] CPU: Testing write buffer coherency: ok
[ 0.074144] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076837] devtmpfs: initialized
[ 0.082479] random: get_random_u32 called from bucket_table_alloc+0x80/0x1a8 with crng_init=0
[ 0.083786] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.083946] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.084271] pinctrl core: initialized pinctrl subsystem
[ 0.086444] NET: Registered protocol family 16
[ 0.087868] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.089832] cpuidle: using governor menu
[ 0.113769] SCSI subsystem initialized
[ 0.114211] usbcore: registered new interface driver usbfs
[ 0.114471] usbcore: registered new interface driver hub
[ 0.114723] usbcore: registered new device driver usb
[ 0.115231] pps_core: LinuxPPS API ver. 1 registered
[ 0.115310] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.115437] PTP clock support registered
[ 0.116557] random: fast init done
[ 0.117129] clocksource: Switched to clocksource timer
[ 0.242515] NET: Registered protocol family 2
[ 0.244077] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.244236] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.244327] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.244667] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.244781] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.245342] NET: Registered protocol family 1
[ 0.246710] RPC: Registered named UNIX socket transport module.
[ 0.246827] RPC: Registered udp transport module.
[ 0.246876] RPC: Registered tcp transport module.
[ 0.246919] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.247981] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.250137] Initialise system trusted keyrings
[ 0.250791] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.268792] NFS: Registering the id_resolver key type
[ 0.268953] Key type id_resolver registered
[ 0.269013] Key type id_legacy registered
[ 0.269193] jffs2: version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
[ 0.284645] Key type asymmetric registered
[ 0.284760] Asymmetric key parser 'x509' registered
[ 0.285009] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.285106] io scheduler noop registered
[ 0.285153] io scheduler deadline registered
[ 0.285988] io scheduler cfq registered (default)
[ 0.286087] io scheduler mq-deadline registered
[ 0.286142] io scheduler kyber registered
[ 0.287518] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.297956] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.484553] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.512025] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 24, base_baud = 6250000) is a 16550A
[ 0.986581] console [ttyS0] enabled
[ 1.012946] 1c25800.serial: ttyS1 at MMIO 0x1c25800 (irq = 25, base_baud = 6250000) is a 16550A
[ 1.029386] panel-simple panel: panel supply power not found, using dummy regulator
[ 1.038950] SCSI Media Changer driver v0.25
[ 1.047098] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 1.052082] 5 ofpart partitions found on MTD device spi0.0
[ 1.057691] Creating 5 MTD partitions on "spi0.0":
[ 1.062544] 0x000000000000-0x000000070000 : "u-boot"
[ 1.070282] 0x000000070000-0x000000080000 : "dtb"
[ 1.077814] 0x000000080000-0x000000480000 : "kernel"
[ 1.085509] 0x000000480000-0x000000c00000 : "rootfs"
[ 1.093288] 0x000000c00000-0x000001000000 : "overlayfs"
[ 1.101846] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.108596] ehci-platform: EHCI generic platform driver
[ 1.114202] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.120590] ohci-platform: OHCI generic platform driver
[ 1.126648] musb-sunxi 1c13000.usb: Invalid or missing 'dr_mode' property
[ 1.133676] musb-sunxi: probe of 1c13000.usb failed with error -22
[ 1.141923] input: 1c24800.rtp as /devices/platform/soc/1c24800.rtp/input/input0
[ 1.150479] i2c /dev entries driver
[ 1.156167] NET: Registered protocol family 17
[ 1.161040] Key type dns_resolver registered
[ 1.167599] Loading compiled-in X.509 certificates
[ 1.183070] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc064339c)
[ 1.192121] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc0642680)
[ 1.199993] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.206649] [drm] No driver support for vblank timestamp query.
[ 1.260880] Console: switching to colour frame buffer device 60x34
[ 1.284416] sun4i-drm display-engine: fb0: frame buffer device
[ 1.291953] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 1.312120] vcc3v3: disabling
[ 1.323210] VFS: Cannot open root device "mtdblock3" or unknown-block(31,3): error -19
[ 1.342675] Please append a correct "root=" boot option; here are the available partitions:
[ 1.362642] 1f00 448 mtdblock0
[ 1.362655] (driver?)
[ 1.381091] 1f01 64 mtdblock1
[ 1.381104] (driver?)
[ 1.399682] 1f02 4096 mtdblock2
[ 1.399695] (driver?)
[ 1.418112] 1f03 7680 mtdblock3
[ 1.418125] (driver?)
[ 1.436248] 1f04 4096 mtdblock4
[ 1.436261] (driver?)
[ 1.454200] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
[ 1.473718] CPU: 0 PID: 1 Comm: swapper Not tainted 4.15.0-rc8-licheepi-nano+ #15
[ 1.492521] Hardware name: Allwinner suniv Family
[ 1.503113] [<c010ea50>] (unwind_backtrace) from [<c010bba0>] (show_stack+0x10/0x14)
[ 1.522497] [<c010bba0>] (show_stack) from [<c0117d04>] (panic+0xb8/0x230)
[ 1.540984] [<c0117d04>] (panic) from [<c0801198>] (mount_block_root+0x170/0x250)
[ 1.560073] [<c0801198>] (mount_block_root) from [<c080136c>] (mount_root+0xf4/0x120)
[ 1.579666] [<c080136c>] (mount_root) from [<c08014c0>] (prepare_namespace+0x128/0x188)
[ 1.599467] [<c08014c0>] (prepare_namespace) from [<c0800dc8>] (kernel_init_freeable+0x174/0x1b8)
[ 1.620221] [<c0800dc8>] (kernel_init_freeable) from [<c05f0ef0>] (kernel_init+0x8/0x10c)
[ 1.640342] [<c05f0ef0>] (kernel_init) from [<c0107e60>] (ret_from_fork+0x14/0x34)
[ 1.659949] Rebooting in 5 seconds..
[ 7.645142] Reboot failed -- System halted
Step:
1、在linux/drivers/net/wireless/realtek 目录下,git clone https://gitee.com/buyadong/TL-WN722N-V2.git
2、cd TL-WN722N-V2
3、修改Makefile文件
CONFIG_POWER_SAVING = n
CONFIG_PLATFORM_I386_PC = n
# 增加型号
CONFIG_PLATFORM_ARM_SUNIV = y
# 增加编译路径
ifeq ($(CONFIG_PLATFORM_ARM_SUNIV), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_PLATFORM_ARM_SUNIV
# default setting for Android 4.1, 4.2
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
EXTRA_CFLAGS += -DDCONFIG_P2P_IPS
EXTRA_CFLAGS += -DCONFIG_PLATFORM_OPS
ifeq ($(CONFIG_USB_HCI), y)
EXTRA_CFLAGS += -DCONFIG_USE_USB_BUFFER_ALLOC_TX
_PLATFORM_FILES += platform/platform_ARM_SUNxI_usb.o
endif
ifeq ($(CONFIG_SDIO_HCI), y)
# default setting for A10-EVB mmc0
#EXTRA_CFLAGS += -DCONFIG_WITS_EVB_V13
_PLATFORM_FILES += platform/platform_ARM_SUNxI_sdio.o
endif
ARCH := arm
CROSS_COMPILE := arm-none-linux-gnueabi-
#CROSS_COMPILE=/home/android_sdk/Allwinner/a10/android-jb42/lichee-jb42/buildroot/output/external-toolchain/bin/arm-none-linux-gnueabi-
KVER := 4.15.0
KSRC:= ../../../../../
#KSRC=/home/android_sdk/Allwinner/a10/android-jb42/lichee-jb42/linux-3.0
endif
4、修改TL-WN722N-V2/platform/platform_ARM_SUNxI_usb.c
//#include <mach/sys_config.h>
5、修改realtek目录下Kconfig,增加一行 source "drivers/net/wireless/realtek/TL-WN722N-V2/Kconfig"
6、修改realtek目录下Makefile,增加一行 obj-$(CONFIG_RTL8188EU) += TL-WN722N-V2/
7、配置kernel的menuconfig : make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm menuconfig
[ * ] Device Drivers ---> [ * ] Network device Support ---> [ * ] Wireless LAN ---> [ * ] Realtek devices ---> <M> Realtek 8188E USB Wifi
8、编译 make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm -j4
9、拷贝TL-WN722N-V2文件中 8188eu.ko文件到nano,并加载.
======================================================================
不知道怎么回事,我加载了8188eu之后,内核会崩溃
# lsusb
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 003: ID 1a86:7523
Bus 001 Device 002: ID 05e3:0608
Bus 001 Device 004: ID 0bda:8179
#
#
#
#
# insmod /mnt/8188eu.ko
[ 32.081646] RTL871X: module init start
[ 32.089295] RTL871X: rtl8188eu v4.3.0.8_13968.20150417
[ 32.098202] RTL871X: build time: __DATE__ __TIME__
[ 32.107163] RTL871X:
[ 32.107163] usb_endpoint_descriptor(0):
[ 32.120353] RTL871X: bLength=7
[ 32.126832] RTL871X: bDescriptorType=5
[ 32.134016] RTL871X: bEndpointAddress=81
[ 32.141319] RTL871X: wMaxPacketSize=512
[ 32.148464] RTL871X: bInterval=0
[ 32.154880] RTL871X: RT_usb_endpoint_is_bulk_in = 1
[ 32.162958] RTL871X:
[ 32.162958] usb_endpoint_descriptor(1):
[ 32.175160] RTL871X: bLength=7
[ 32.181282] RTL871X: bDescriptorType=5
[ 32.188123] RTL871X: bEndpointAddress=2
[ 32.194960] RTL871X: wMaxPacketSize=512
[ 32.201790] RTL871X: bInterval=0
[ 32.207952] RTL871X: RT_usb_endpoint_is_bulk_out = 2
[ 32.215789] RTL871X:
[ 32.215789] usb_endpoint_descriptor(2):
[ 32.227398] RTL871X: bLength=7
[ 32.233146] RTL871X: bDescriptorType=5
[ 32.239593] RTL871X: bEndpointAddress=3
[ 32.245987] RTL871X: wMaxPacketSize=512
[ 32.252375] RTL871X: bInterval=0
[ 32.258157] RTL871X: RT_usb_endpoint_is_bulk_out = 3
[ 32.265609] RTL871X: nr_endpoint=3, in_num=1, out_num=2
[ 32.265609]
[ 32.277090] RTL871X: USB_SPEED_HIGH
[ 32.301718] RTL871X: CHIP TYPE: RTL8188E
[ 32.308359] RTL871X: register rtw_netdev_ops to netdev_ops
[ 32.318645] RTL871X: rtw_wdev_alloc(padapter=b91c52d3)
[ 32.327620] RTL871X: Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
[ 32.340765] RTL871X: RF_Type is 3!!
[ 32.346704] RTL871X: _ConfigNormalChipOutEP_8188E OutEpQueueSel(0x05), OutEpNumber(2)
[ 32.363568] RTL871X: EEPROM type is E-FUSE
[ 32.370461] RTL871X: ====> _ReadAdapterInfo8188EU
[ 32.378038] RTL871X: Boot from EFUSE, Autoload OK !
[ 32.389555] RTL871X: SetHwReg8188EU: bMacPwrCtrlOn=1
[ 32.400388] bFWReady == _FALSE call reset 8051...
[ 32.408722] RTL871X: =====> _8051Reset88E(): 8051 reset success .
[ 32.434492] RTL871X: efuse_read_phymap_from_txpktbuf bcnhead:0
[ 32.446915] RTL871X: efuse_read_phymap_from_txpktbuf len:109, lenbak:109, aaa:109, aaabak:109
[ 32.469120] RTL871X: efuse_read_phymap_from_txpktbuf read count:107
[ 32.482135] RTL871X: EEPROM ID=0x8129
[ 32.489087] RTL871X: VID = 0x0BDA, PID = 0x8179
[ 32.496749] RTL871X: Customer ID: 0x00, SubCustomer ID: 0xCD
[ 32.508679] RTL871X: Hal_ReadPowerSavingMode88E...bHWPwrPindetect(0)-bHWPowerdown(0) ,bSupportRemoteWakeup(1)
[ 32.525229] RTL871X: ### PS params=> power_mgnt(0),usbss_enable(0) ###
[ 32.538660] RTL871X: ======= Path 0, Channel 1 =======
[ 32.547404] RTL871X: Index24G_CCK_Base[0][1] = 0x28
[ 32.555765] RTL871X: Index24G_BW40_Base[0][1] = 0x31
[ 32.564286] RTL871X: ======= Path 0, Channel 2 =======
[ 32.572993] RTL871X: Index24G_CCK_Base[0][2] = 0x28
[ 32.581446] RTL871X: Index24G_BW40_Base[0][2] = 0x31
[ 32.589908] RTL871X: ======= Path 0, Channel 3 =======
[ 32.598520] RTL871X: Index24G_CCK_Base[0][3] = 0x28
[ 32.606791] RTL871X: Index24G_BW40_Base[0][3] = 0x31
[ 32.615168] RTL871X: ======= Path 0, Channel 4 =======
[ 32.623715] RTL871X: Index24G_CCK_Base[0][4] = 0x28
[ 32.632025] RTL871X: Index24G_BW40_Base[0][4] = 0x31
[ 32.640328] RTL871X: ======= Path 0, Channel 5 =======
[ 32.648821] RTL871X: Index24G_CCK_Base[0][5] = 0x28
[ 32.657034] RTL871X: Index24G_BW40_Base[0][5] = 0x31
[ 32.665288] RTL871X: ======= Path 0, Channel 6 =======
[ 32.673737] RTL871X: Index24G_CCK_Base[0][6] = 0x28
[ 32.681948] RTL871X: Index24G_BW40_Base[0][6] = 0x31
[ 32.690193] RTL871X: ======= Path 0, Channel 7 =======
[ 32.698600] RTL871X: Index24G_CCK_Base[0][7] = 0x28
[ 32.706597] RTL871X: Index24G_BW40_Base[0][7] = 0x31
[ 32.714705] RTL871X: ======= Path 0, Channel 8 =======
[ 32.722940] RTL871X: Index24G_CCK_Base[0][8] = 0x28
[ 32.730862] RTL871X: Index24G_BW40_Base[0][8] = 0x31
[ 32.738814] RTL871X: ======= Path 0, Channel 9 =======
[ 32.746839] RTL871X: Index24G_CCK_Base[0][9] = 0x28
[ 32.754655] RTL871X: Index24G_BW40_Base[0][9] = 0x31
[ 32.762575] RTL871X: ======= Path 0, Channel 10 =======
[ 32.770766] RTL871X: Index24G_CCK_Base[0][10] = 0x28
[ 32.778652] RTL871X: Index24G_BW40_Base[0][10] = 0x31
[ 32.786496] RTL871X: ======= Path 0, Channel 11 =======
[ 32.794522] RTL871X: Index24G_CCK_Base[0][11] = 0x28
[ 32.802257] RTL871X: Index24G_BW40_Base[0][11] = 0x31
[ 32.810031] RTL871X: ======= Path 0, Channel 12 =======
[ 32.817969] RTL871X: Index24G_CCK_Base[0][12] = 0x28
[ 32.825561] RTL871X: Index24G_BW40_Base[0][12] = 0x31
[ 32.833310] RTL871X: ======= Path 0, Channel 13 =======
[ 32.841225] RTL871X: Index24G_CCK_Base[0][13] = 0x28
[ 32.848874] RTL871X: Index24G_BW40_Base[0][13] = 0x31
[ 32.856552] RTL871X: ======= Path 0, Channel 14 =======
[ 32.864461] RTL871X: Index24G_CCK_Base[0][14] = 0x28
[ 32.872130] RTL871X: Index24G_BW40_Base[0][14] = 0x31
[ 32.879882] RTL871X: ======= TxCount 0 =======
[ 32.886942] RTL871X: CCK_24G_Diff[0][0]= 0
[ 32.893683] RTL871X: OFDM_24G_Diff[0][0]= 0
[ 32.900516] RTL871X: BW20_24G_Diff[0][0]= 0
[ 32.907308] RTL871X: BW40_24G_Diff[0][0]= 0
[ 32.913980] RTL871X: EEPROMRegulatory = 0x2
[ 32.920715] RTL871X: mlmepriv.ChannelPlan = 0x20
[ 32.927892] RTL871X: CrystalCap: 0x20
[ 32.934000] RTL871X: EEPROM Customer ID: 0x 0
[ 32.940878] RTL871X: EEPROM : AntDivCfg = 0, TRxAntDivType = 3
[ 32.951623] RTL871X: Board Type: 0x 0
[ 32.957851] RTL871X: ThermalMeter = 0x1a
[ 32.964263] RTL871X: <==== _ReadAdapterInfo8188EU in 590 ms
[ 33.004059] RTL871X: init_channel_set ChannelPlan ID 20 Chan num:13
[ 33.018616] RTL871X: pwrctrlpriv.bSupportRemoteWakeup~~~~~~
[ 33.029750] RTL871X: pwrctrlpriv.bSupportRemoteWakeup~~~[1]~~~
[ 33.041216] RTL871X: can't get autopm:
[ 33.047972] RTL871X: rtw_macaddr_cfg MAC Address = 4c:0f:c7:5c:aa:64
[ 33.060099] RTL871X: bDriverStopped:1, bSurpriseRemoved:0, bup:0, hw_init_completed:0
[ 33.075447] RTL871X: register rtw_netdev_ops to netdev_ops
[ 33.087120] RTL871X: register rtw_netdev_if2_ops to netdev_ops
[ 33.099429] RTL871X: rtw_wdev_alloc(padapter=a383325a)
[ 33.109914] RTL871X: Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
[ 33.124604] RTL871X: RF_Type is 3!!
[ 33.131452] RTL871X: _ConfigNormalChipOutEP_8188E OutEpQueueSel(0x05), OutEpNumber(2)
[ 33.147774] RTL871X: init_channel_set ChannelPlan ID 20 Chan num:13
[ 33.162958] Unable to handle kernel NULL pointer dereference at virtual address 00000004 <---------------------------------
[ 33.178489] pgd = 582847d4
[ 33.184819] [00000004] *pgd=81045831, *pte=00000000, *ppte=00000000
[ 33.198424] Internal error: Oops: 817 [#1] ARM
[ 33.206542] Modules linked in: 8188eu(+)
[ 33.214138] CPU: 0 PID: 93 Comm: insmod Not tainted 4.15.0-rc8-licheepi-nano+ #8
[ 33.228930] Hardware name: Allwinner suniv Family
[ 33.237384] PC is at memcpy+0xb4/0x330 <---------------------------------
[ 33.244824] LR is at 0x5cc70f4c
[ 33.251571] pc : [<c0612d74>] lr : [<5cc70f4c>] psr: 00000013
[ 33.264938] sp : c1befcbc ip : 0000001c fp : bf0a646c
[ 33.273746] r10: c2a3f22b r9 : c2a3f200 r8 : c1aeb000
[ 33.282522] r7 : c1aeb184 r6 : 00000000 r5 : c1040000 r4 : c2a3c000
[ 33.296066] r3 : 00000030 r2 : ffffffe6 r1 : c2a3f258 r0 : 00000004
[ 33.309610] Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 33.323722] Control: 0005317f Table: 81038000 DAC: 00000051
[ 33.336425] Process insmod (pid: 93, stack limit = 0x92c6ddb1)
[ 33.349260] Stack: (0xc1befcbc to 0xc1bf0000)
[ 33.357152] fca0: c1040000
[ 33.372259] fcc0: 00000000 c1aeb184 c1aeb000 00000004 c2a3c000 bf0400f4 c2a3c000 bf041f6c
[ 33.387401] fce0: c2aa8254 bf03aaa0 c2aa5000 c2aa8254 c2a3c000 bf041cb4 0f4e0000 c2a3c000
[ 33.402551] fd00: c1aeb000 c1bcfa00 c2aa5000 c1ae1730 000000a8 c1bbf870 00000003 bf043ae4
[ 33.417692] fd20: c1af3c48 c1bbf870 c1bbf870 00000000 bf0baa58 c1bcfa20 ffffffed c1bcfa00
[ 33.432987] fd40: c1bbf870 c1bbf800 bf0baa08 c0447094 c0446f78 c1bcfa20 c0a6e8ac 00000000
[ 33.448314] fd60: bf0baa08 0000000f 00000000 c2a3abec 00000024 c03eef40 c1bcfa20 bf0baa08
[ 33.463744] fd80: c1bcfa54 00000000 c1bf73e4 00000001 c2a3abec c03ef0c8 00000000 bf0baa08
[ 33.479196] fda0: c03ef024 c03ed49c c187ce8c c1bcd270 bf0baa08 c1044420 c0a26e44 c03ee488
[ 33.494753] fdc0: bf0a7018 c0a30b50 bf0baa08 bf0baa08 bf0baa08 bf0d2a40 c0a26e44 c03ef97c
[ 33.510437] fde0: bf0ba9d8 bf0baa08 bf0d2a40 c0446080 bf0ba9d8 00000000 bf0f9000 c1bf73c0
[ 33.526191] fe00: c1bf73e4 bf0f908c ffffe000 c0101854 00000001 c1fab7f4 00000000 0080007f
[ 33.542096] fe20: c1fab7f0 c1fab7e8 bf0d2a88 c1fab7e8 00000001 00080000 00000001 0080007f
[ 33.558039] fe40: 00000001 c2a3abec 00000024 c018a154 20000013 00000001 bf0d2a40 00000001
[ 33.574000] fe60: c1286560 c1bf73c0 c1bf73e4 c01680d8 00000001 c0167334 c1beff50 00000001
[ 33.589959] fe80: bf0d2a40 c016733c bf0d2a4c 00007fff bf0d2a40 c0164be0 bf0d2a88 c0701c10
[ 33.605916] fea0: 00000031 c0701bf4 bf0d2b50 bf0d2bd4 bf0d2b34 00000000 ffffe000 bf000000
[ 33.621982] fec0: 00132c14 00000000 c1beff48 00000000 00000000 00000000 00000000 00000000
[ 33.638184] fee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 33.654362] ff00: 00000000 00000000 7fffffff 00000000 00000003 000c2008 0000017b c0107f08
[ 33.670492] ff20: c1bee000 00000000 00000000 c0167b28 7fffffff 00000000 00000003 00000000
[ 33.686620] ff40: c1010000 c2908000 00132c14 00000000 c29bd96f c2908000 00132c14 c2a3a64c
[ 33.702725] ff60: c2a3a4dc c29f3dcc 000d9000 000eafe0 00000000 00000000 00000000 000296e0
[ 33.718839] ff80: 00000022 00000023 0000001a 00000000 0000000b 00000000 000c2008 ffffffff
[ 33.734946] ffa0: beabdf49 c0107ce0 000c2008 ffffffff 00000003 000c2008 00000000 beabdf49
[ 33.751060] ffc0: 000c2008 ffffffff beabdf49 0000017b 000c179c 00000000 b6fd8000 00000000
[ 33.767129] ffe0: beabdca8 beabdc98 0001ce24 b6f3f020 60000010 00000003 00000000 00000000
[ 33.784859] [<c0612d74>] (memcpy) from [<bf0400f4>] (_rtw_memcpy+0x8/0xc [8188eu]) <---------------------------------
[ 33.803696] [<bf0400f4>] (_rtw_memcpy [8188eu]) from [<bf041f6c>] (rtw_drv_register_netdev+0xe0/0x14c [8188eu])
[ 33.825172] [<bf041f6c>] (rtw_drv_register_netdev [8188eu]) from [<bf043ae4>] (rtw_drv_init+0x2bc/0x460 [8188eu])
[ 33.845212] [<bf043ae4>] (rtw_drv_init [8188eu]) from [<c0447094>] (usb_probe_interface+0x11c/0x270)
[ 33.862467] [<c0447094>] (usb_probe_interface) from [<c03eef40>] (driver_probe_device+0x250/0x334)
[ 33.879461] [<c03eef40>] (driver_probe_device) from [<c03ef0c8>] (__driver_attach+0xa4/0xa8)
[ 33.895909] [<c03ef0c8>] (__driver_attach) from [<c03ed49c>] (bus_for_each_dev+0x50/0x9c)
[ 33.912105] [<c03ed49c>] (bus_for_each_dev) from [<c03ee488>] (bus_add_driver+0x170/0x204)
[ 33.928440] [<c03ee488>] (bus_add_driver) from [<c03ef97c>] (driver_register+0x78/0xf4)
[ 33.944598] [<c03ef97c>] (driver_register) from [<c0446080>] (usb_register_driver+0x60/0x12c)
[ 33.962984] [<c0446080>] (usb_register_driver) from [<bf0f908c>] (rtw_drv_entry+0x8c/0x1000 [8188eu])
[ 33.982116] [<bf0f908c>] (rtw_drv_entry [8188eu]) from [<c0101854>] (do_one_initcall+0x3c/0x16c)
[ 33.999180] [<c0101854>] (do_one_initcall) from [<c01680d8>] (do_init_module+0x58/0x1e4)
[ 34.015441] [<c01680d8>] (do_init_module) from [<c016733c>] (load_module+0x1bbc/0x21b0)
[ 34.031607] [<c016733c>] (load_module) from [<c0167b28>] (SyS_finit_module+0x98/0xb4)
[ 34.047610] [<c0167b28>] (SyS_finit_module) from [<c0107ce0>] (ret_fast_syscall+0x0/0x50)
[ 34.063987] Code: e4805004 e4806004 e4807004 e4808004 (e480e004)
[ 34.078371] ---[ end trace 775bd7fd7e30c5a5 ]---
Segmentation fault
#
[ 35.047046] Unable to handle kernel NULL pointer dereference at virtual address 00000178 <---------------------------------
[ 35.063402] pgd = ae781fd2
[ 35.070104] [00000178] *pgd=00000000
[ 35.077656] Internal error: Oops: 17 [#2] ARM
[ 35.085912] Modules linked in: 8188eu(+)
[ 35.093751] CPU: 0 PID: 0 Comm: swapper Tainted: G D 4.15.0-rc8-licheepi-nano+ #8
[ 35.110094] Hardware name: Allwinner suniv Family
[ 35.120285] PC is at rtw_get_on_cur_ch_time+0x8/0x1c [8188eu] <---------------------------------
[ 35.135327] LR is at rtw_signal_stat_timer_hdl+0x194/0x208 [8188eu]
[ 35.149213] pc : [<bf0244e0>] lr : [<bf029598>] psr: 60000013
[ 35.162971] sp : c0a01e40 ip : 00000004 fp : c0a3aa20
[ 35.171959] r10: 00000000 r9 : c0a3aa24 r8 : c0a01e8c
[ 35.180930] r7 : c0a0e600 r6 : 00000000 r5 : 00000000 r4 : c2a3d838
[ 35.194675] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : c2a3d838
[ 35.208398] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 35.222716] Control: 0005317f Table: 81bfc000 DAC: 00000051
[ 35.235627] Process swapper (pid: 0, stack limit = 0x4cb10c6f)
[ 35.248612] Stack: (0xc0a01e40 to 0xc0a02000)
[ 35.256572] 1e40: ffffe000 00000100 bf029404 c0a0e600 c0a01e8c c0a3aa24 00000100 c0150358
[ 35.271841] 1e60: a0000093 ffffffff c0a01e90 00000200 00000000 c015043c c0a01e8c c0a0e600
[ 35.287101] 1e80: c0a0e5e0 c0a0e600 c0a01e8c c01504d8 00000000 c0a34f48 c07c6948 c04bbd84
[ 35.302444] 1ea0: c1807100 c01475c8 c0a5f908 c0a60200 00000002 ffffe000 00000002 40000001
[ 35.317842] 1ec0: 00000001 c0101474 c1804200 c0a00000 c0a3aa20 0000000a ffff9881 00200102
[ 35.333424] 1ee0: 00000000 00000000 c0a34610 00000000 00000001 c1804200 c0a00000 c0a34f40
[ 35.349145] 1f00: 00000001 c0119740 00000000 c014701c c0a6acbc c0a01f38 ffffffff c0a01f6c
[ 35.364913] 1f20: c0a2d058 c01013c4 c0108d20 60000013 ffffffff c010c0e8 00000000 0005317f
[ 35.380703] 1f40: 0005217f 60000013 00000000 ffffe000 c0a030a0 00000000 c0a2d058 c0a030b0
[ 35.396491] 1f60: c0a34f40 00000001 600000d3 c0a01f88 c0108d28 c0108d20 60000013 ffffffff
[ 35.412314] 1f80: 00000053 00000000 00000000 c013ce10 00000000 c0a3a380 c0a3a340 ffffffff
[ 35.428207] 1fa0: c0a03020 c1fb4aa0 c0924a28 00053177 00000000 c013d0fc c0a3a380 c0900bdc
[ 35.444243] 1fc0: ffffffff ffffffff 00000000 c090066c 00000000 c0924a28 00000000 c090032c
[ 35.460315] 1fe0: 00000053 00003135 00000000 80e60000 41069265 00000000 00000000 00000000
[ 35.479718] [<bf0244e0>] (rtw_get_on_cur_ch_time [8188eu]) from [<bf029598>] (rtw_signal_stat_timer_hdl+0x194/0x208 [8188eu])<---------------------------------
[ 35.504711] [<bf029598>] (rtw_signal_stat_timer_hdl [8188eu]) from [<c0150358>] (call_timer_fn+0x20/0x98)
[ 35.522441] [<c0150358>] (call_timer_fn) from [<c015043c>] (expire_timers+0x6c/0x7c)
[ 35.538290] [<c015043c>] (expire_timers) from [<c01504d8>] (run_timer_softirq+0x8c/0x174)
[ 35.554560] [<c01504d8>] (run_timer_softirq) from [<c0101474>] (__do_softirq+0x94/0x25c)
[ 35.570767] [<c0101474>] (__do_softirq) from [<c0119740>] (irq_exit+0xd8/0xec)
[ 35.586087] [<c0119740>] (irq_exit) from [<c014701c>] (__handle_domain_irq+0x50/0xa8)
[ 35.601996] [<c014701c>] (__handle_domain_irq) from [<c01013c4>] (sun4i_handle_irq+0x38/0x50)
[ 35.618649] [<c01013c4>] (sun4i_handle_irq) from [<c010c0e8>] (__irq_svc+0x68/0x84)
[ 35.634400] Exception stack(0xc0a01f38 to 0xc0a01f80)
[ 35.643524] 1f20: 00000000 0005317f
[ 35.659685] 1f40: 0005217f 60000013 00000000 ffffe000 c0a030a0 00000000 c0a2d058 c0a030b0
[ 35.675779] 1f60: c0a34f40 00000001 600000d3 c0a01f88 c0108d28 c0108d20 60000013 ffffffff
[ 35.691933] [<c010c0e8>] (__irq_svc) from [<c0108d20>] (arch_cpu_idle+0x24/0x34)
[ 35.707334] [<c0108d20>] (arch_cpu_idle) from [<c013ce10>] (do_idle+0x104/0x190)
[ 35.722712] [<c013ce10>] (do_idle) from [<c013d0fc>] (cpu_startup_entry+0xc/0x10)
[ 35.738122] [<c013d0fc>] (cpu_startup_entry) from [<c0900bdc>] (start_kernel+0x320/0x390)
[ 35.754258] Code: e593017c e12fff1e e590301c e5d015b6 (e5d32178)
[ 35.768253] ---[ end trace 775bd7fd7e30c5a6 ]---
[ 35.776845] Kernel panic - not syncing: Fatal exception in interrupt
[ 35.791052] Rebooting in 5 seconds..
看第二个问题:
inline u32 rtw_get_on_cur_ch_time(_adapter *adapter)
{
if (adapter->mlmeextpriv.cur_channel == adapter_to_dvobj(adapter)->oper_channel)
return adapter_to_dvobj(adapter)->on_oper_ch_time;
else
return 0;
}
主要是adapter_to_dvobj(adapter) 也就是 adapter->dvobj 是空指针,导致出错,但是如果加上判断 if (adapter_to_dvobj(adapter) == NULL) return 0; 就会包mod_timer那里空指针。 搞不定了
阿黄 说:我用gitee导入 https://bitbucket.org/qq516333132/c600.git ,结果导了半天打开一看,空白的- - 哈哈
晕哥,不知道为啥,我gitee导入这个c600和导入bitbucket那个c600都一样,导入之后都是空白,不知道是不是因为我是免费版的原因
我用gitee导入 https://bitbucket.org/qq516333132/c600.git ,结果导了半天打开一看,空白的- - 哈哈
感谢晕哥,一切尽在不言中
好消息!
f1c100s 的也搞定了: f1c100s_fel_autorun_linux_uart0_pe0_pe1_20190517_TF_sdnand.7z
(登录账号: root, 密码: whycan.cn)
f1c100s 通过USB启动 Linux,并且把SD NAND/TF卡挂载为电脑U盘, 然后可以通过dd或Win32DiskImager任烧写
不好用? 上挖坑网打我呀呀呀呀呀呀呀呀呀呀呀呀呀!!!!!!!!!!
荔枝派 nano 开发板验证通过!
请教下,我焊了一个W25Q80在nano上,然后使用0518版本的W25Q256_OK.bat 但是貌似启动有些问题,可能是这个SPI FLASH太小了?USB显示unkunow device,看不到PID VID
另外问下,SPI flash里面有数据,里面数据应该不会被清除吧
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
## Loading init Ramdisk from Legacy Image at 80d00000 ...
Image Name:
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 1840694 Bytes = 1.8 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Ramdisk to 8153e000, end 816ff636 ... OK
Loading Device Tree to 81539000, end 8153de2c ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.19.0-rc3-licheepi-nano+ (root@ubuntu) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #11 Fri May 17 23:15:40 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] random: get_random_bytes called from start_kernel+0x88/0x3ec with crng_init=0
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait root=/dev/ram0 rdinit=/linuxrc earlyprintk
[ 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: 56508K/65536K available (4095K kernel code, 198K rwdata, 920K rodata, 1024K init, 214K bss, 9028K 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 : 0x(ptrval) - 0x(ptrval) (5088 kB)
[ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
[ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 199 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 215 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.000049] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000116] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000598] Console: colour dummy device 80x30
[ 0.000719] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070253] pid_max: default: 32768 minimum: 301
[ 0.070759] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.070800] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.072039] CPU: Testing write buffer coherency: ok
[ 0.073854] Setting up static identity map for 0x80100000 - 0x8010003c
[ 0.076460] devtmpfs: initialized
[ 0.083050] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.083123] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.083344] pinctrl core: initialized pinctrl subsystem
[ 0.084698] NET: Registered protocol family 16
[ 0.085988] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.087910] cpuidle: using governor menu
[ 0.107164] SCSI subsystem initialized
[ 0.107494] usbcore: registered new interface driver usbfs
[ 0.107698] usbcore: registered new interface driver hub
[ 0.107891] usbcore: registered new device driver usb
[ 0.109853] clocksource: Switched to clocksource timer
[ 0.134378] NET: Registered protocol family 2
[ 0.136239] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[ 0.136349] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.136410] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.136463] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.136740] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.136810] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.137296] NET: Registered protocol family 1
[ 0.138127] Unpacking initramfs...
[ 0.662292] Freeing initrd memory: 1800K
[ 0.664226] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.689610] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.690478] ntfs: driver 2.1.32 [Flags: R/O].
[ 0.733031] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 0.733078] io scheduler noop registered
[ 0.733099] io scheduler deadline registered
[ 0.733832] io scheduler cfq registered (default)
[ 0.733872] io scheduler mq-deadline registered
[ 0.733894] io scheduler kyber registered
[ 0.736634] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.748510] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.903702] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.909540] console [ttyS0] disabled
[ 0.929942] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[ 1.354817] console [ttyS0] enabled
[ 1.380695] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 24, base_baud = 6250000) is a 16550A
[ 1.405636] loop: module loaded
[ 1.412732] m25p80 spi0.0: unrecognized JEDEC id bytes: e0, 40, 14
[ 1.419576] usbcore: registered new interface driver usb-storage
[ 1.425890] i2c /dev entries driver
[ 1.431666] sunxi-mmc 1c0f000.mmc: Linked as a consumer to regulator.1
[ 1.464944] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.472881] usbcore: registered new interface driver usbhid
[ 1.478458] usbhid: USB HID core driver
[ 1.483653] NET: Registered protocol family 17
[ 1.498541] Freeing unused kernel memory: 1024K
[ 1.503409] Run /linuxrc as init process
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 syslogd: OK
Starting klogd: OK
Starting mdev...
/etc/init.d/S10mdev: line 9: can't create /proc/sys/kernel/hotplug: nonexistent directory
[ 2.039934] random: fast init done
[ 5.183340] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 5.194236] usb_phy_generic usb_phy_generic.0.auto: Linked as a consumer to regulator.0
[ 5.203215] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[ 5.209013] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
[ 5.221245] hub 1-0:1.0: USB hub found
[ 5.225163] hub 1-0:1.0: 1 port detected
Initializing random number generator... [ 5.312011] random: dd: uninitialized urandom read (512 bytes read)
done.
Starting network: OK
[ 5.519479] Mass Storage Function, version: 2009/09/11
[ 5.524784] LUN: removable file: (no medium)
[ 5.529339] lun0: unable to open backing file: /dev/mtdblock0
[ 5.535377] g_mass_storage musb-hdrc.1.auto: failed to start g_mass_storage: -2
[ 5.547649] Mass Storage Function, version: 2009/09/11
[ 5.552960] LUN: removable file: (no medium)
[ 5.557525] lun0: unable to open backing file: /dev/mtdblock0
[ 5.563569] g_mass_storage musb-hdrc.1.auto: failed to start g_mass_storage: -2
modprobe: can't load module g_mass_storage (kernel/drivers/usb/gadget/legacy/g_mass_storage.ko): unknown symbol in module, or unknown parameter
Welcome to Buildroot
buildroot login:
1. 很可能运行的环境变量没设置好, 导致Qt没有找到 tslib 及其插件
2. 重新 menconfig 勾选 Qt4, 然后执行:
rm -rf output/target
find output/ -name ".stamp_target_installed" |xargs rm -rf参考: https://stackoverflow.com/questions/47320800/how-to-clean-only-target-in-buildroot
我也觉得应该是哪里没设置好,但是又找不到地方。 make clean清除不了stamp_target_installed吗?
两个问题:
1、内置的RTP触摸已经OK,ts_test都OK,且已校准。 但是编译出来的QT example里面的程序运行后,触摸没反应,感觉就像没有关联到tslib一样。 但是buildroot里面我关于 mouse driver已经选择了tslib。 尝试过make clean重新make。 原来是可以的,中间添加了mysql、svg、img等等配置。还有ssh openssl等。 后来不知道为什么就不行了
2、我记忆中之前buildroot配置QT的时候,可以选择QT5还是qt4,而且我之前也编译出来过QT5(5.9.1),且能运行。但现在怎么找也找不到了。不知道咋回事。
附上config文件(直接改名为.config)
buildroot_config.zip
kernel_config_20190515-1401.zip
晕哥 说:buildroot
-> make menuconfig
-> Target packages -> Networking applications
选中
wireless tools
wpa_supplicant晕哥,配置上wpa_supplicant就出错
sae.c:(.text+0x1b58): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text+0x1bdc): undefined reference to `crypto_ec_point_deinit'
sae.c:(.text+0x1bec): undefined reference to `crypto_ec_point_from_bin'
sae.c:(.text+0x1c08): undefined reference to `crypto_ec_point_is_on_curve'
sae.c:(.text+0x1c2c): undefined reference to `crypto_bignum_cmp'
collect2: error: ld returned 1 exit status
make[1]: *** [wpa_supplicant] Error 1
make[1]: Leaving directory `/home/vv3/Downloads/buildroot-2017.08.1/output/build/wpa_supplicant-2.6/wpa_supplicant'
记录一下 https://forum.archive.openwrt.org/viewtopic.php?id=62012
移除output/build/wpa_supplicant文件夹 重新编译
使用的是 git clone --depth=1 -b f1c100s-480272lcd-test https://github.com/Icenowy/linux.git
suniv.dtsi中
uart0_pins_a: uart0-pins-pe {
pins = "PE0", "PE1";
function = "uart0";
};
uart2_pins_a: uart2-pins-pe {
pins = "PE7", "PE8";
function = "uart2";
};
以及
uart0: serial@1c25000 {
compatible = "snps,dw-apb-uart";
reg = <0x01c25000 0x400>;
interrupts = <1>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART0>;
resets = <&ccu RST_BUS_UART0>;
status = "disabled";
};
uart1: serial@1c25400 {
compatible = "snps,dw-apb-uart";
reg = <0x01c25400 0x400>;
interrupts = <2>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART1>;
resets = <&ccu RST_BUS_UART1>;
status = "disabled";
};
uart2: serial@1c25800 {
compatible = "snps,dw-apb-uart";
reg = <0x01c25800 0x400>;
interrupts = <3>;
reg-shift = <2>;
reg-io-width = <4>;
clocks = <&ccu CLK_BUS_UART2>;
resets = <&ccu RST_BUS_UART2>;
status = "disabled";
};
suniv-f1c100s-licheepi-nano.dts中
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins_a>;
status = "okay";
};
启动之后,在shell中,stty -F /dev/ttyS2 raw speed 115200 min 0 time 10 或者 echo "ASDADSADAD++++----*/098" > /dev/ttyS2
提示 /dev/ttyS2: Input/output error 或者 write error: Input/output error
查看F1C600的DS,看了7.4.6. UART Register Lis的uart2的寄存器地址,也没问题 是 0x01C25800.
jiangming1399 说:花了一点时间对Icenowy的patch和chong的patch进行了比较,结果发现chong的patch包基本上就是在Icenowy的基础上更改了下面的这个文件:
--- ../linux/drivers/clk/sunxi-ng/ccu-suniv.c 2019-01-15 22:48:18.824587965 +0800
+++ drivers/clk/sunxi-ng/ccu-suniv.c 2019-01-23 09:05:17.959348454 +0800
@@ -238,7 +238,7 @@
/* The BSP header file has a CIR_CFG, but no mod clock uses this definition */static SUNXI_CCU_GATE(usb_phy0_clk, "usb-phy0", "osc24M",
- 0x0cc, BIT(8), 0);
+ 0x0cc, BIT(1), 0);static SUNXI_CCU_GATE(dram_ve_clk, "dram-ve", "pll-ddr",
0x100, BIT(0), 0);理论上将上面这个patch应用到Icenowy的4.14内核中,USB应该也就能跑了。
按照这个修改,测试看看
就是修改这个,就OK了。 另外我PE是悬空的,目前设备树里面的PE2 ACTIVE HIGH 不改就可以
花了一点时间对Icenowy的patch和chong的patch进行了比较,结果发现chong的patch包基本上就是在Icenowy的基础上更改了下面的这个文件:
--- ../linux/drivers/clk/sunxi-ng/ccu-suniv.c 2019-01-15 22:48:18.824587965 +0800
+++ drivers/clk/sunxi-ng/ccu-suniv.c 2019-01-23 09:05:17.959348454 +0800
@@ -238,7 +238,7 @@
/* The BSP header file has a CIR_CFG, but no mod clock uses this definition */static SUNXI_CCU_GATE(usb_phy0_clk, "usb-phy0", "osc24M",
- 0x0cc, BIT(8), 0);
+ 0x0cc, BIT(1), 0);static SUNXI_CCU_GATE(dram_ve_clk, "dram-ve", "pll-ddr",
0x100, BIT(0), 0);理论上将上面这个patch应用到Icenowy的4.14内核中,USB应该也就能跑了。
按照这个修改,测试看看
F1C100S的USB作为纯USB HOST使用,外部接了一个GL850G的HUB,HUB下面挂了一个RTL8188(wifi),一个CH340G,还有一个U盘,
1、直接用nano的config文件,没法发现usb设备,貌似被作为device了。lsusb 只有一个root hub
2、我把kernel中USB OTG相关的menuconfig部分取消选择了,结果lsusb 什么都没有了,下面是启动log
kernel_config.zip (直接改成.config)
U-Boot 2018.01-05676-g00188782ee (Apr 08 2018 - 16:10:25 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
SF: unrecognized JEDEC id bytes: 00, 00, 00
*** Warning - spi_flash_probe_bus_cs() failed, using default environment
Setting up a 480x272 lcd console (overscan 0x0)
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
280 bytes read in 15 ms (17.6 KiB/s)
## Executing script at 80c50000
reading suniv-f1c100s-licheepi-nano.dtb
7583 bytes read in 26 ms (284.2 KiB/s)
reading zImage
3940448 bytes read in 281 ms (13.4 MiB/s)
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 80e60000, end 80e64d9e ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.15.0-rc8-licheepi-nano+ (njatech@ubuntu) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #7 Sun May 12 22:54:34 PDT 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] random: fast init done
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 8128
[ 0.000000] Kernel command line: console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw
[ 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: 22664K/32768K available (6144K kernel code, 255K rwdata, 1420K rodata, 1024K init, 244K bss, 10104K 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) ( 256 kB)
[ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 245 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.000044] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000096] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000544] Console: colour dummy device 80x30
[ 0.001097] console [tty0] enabled
[ 0.001180] Calibrating delay loop... 358.80 BogoMIPS (lpj=1794048)
[ 0.050258] pid_max: default: 32768 minimum: 301
[ 0.050514] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.050586] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.051784] CPU: Testing write buffer coherency: ok
[ 0.053386] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.055406] devtmpfs: initialized
[ 0.059925] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.060058] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.060416] pinctrl core: initialized pinctrl subsystem
[ 0.062159] NET: Registered protocol family 16
[ 0.063420] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.064867] cpuidle: using governor menu
[ 0.083400] SCSI subsystem initialized
[ 0.083780] usbcore: registered new interface driver usbfs
[ 0.083961] usbcore: registered new interface driver hub
[ 0.084166] usbcore: registered new device driver usb
[ 0.084569] pps_core: LinuxPPS API ver. 1 registered
[ 0.084636] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.084726] PTP clock support registered
[ 0.085106] Advanced Linux Sound Architecture Driver Initialized.
[ 0.086362] clocksource: Switched to clocksource timer
[ 0.109472] NET: Registered protocol family 2
[ 0.110617] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.110737] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.110798] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.111095] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.111183] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.111622] NET: Registered protocol family 1
[ 0.112787] RPC: Registered named UNIX socket transport module.
[ 0.112888] RPC: Registered udp transport module.
[ 0.112924] RPC: Registered tcp transport module.
[ 0.112953] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.114751] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.116477] Initialise system trusted keyrings
[ 0.117071] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[ 0.129274] NFS: Registering the id_resolver key type
[ 0.129415] Key type id_resolver registered
[ 0.129456] Key type id_legacy registered
[ 0.140187] Key type asymmetric registered
[ 0.140285] Asymmetric key parser 'x509' registered
[ 0.140507] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[ 0.140581] io scheduler noop registered
[ 0.140616] io scheduler deadline registered
[ 0.141235] io scheduler cfq registered (default)
[ 0.141315] io scheduler mq-deadline registered
[ 0.141350] io scheduler kyber registered
[ 0.142248] sun4i-usb-phy 1c13400.phy: Couldn't request ID GPIO
[ 0.149160] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.296870] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.302576] console [ttyS0] disabled
[ 0.322873] 1c25000.serial: ttyS0 at MMIO 0x1c25000 (irq = 23, base_baud = 6250000) is a 16550A
[ 0.793241] console [ttyS0] enabled
[ 0.801832] panel-simple panel: panel supply power not found, using dummy regulator
[ 0.810996] SCSI Media Changer driver v0.25
[ 0.816603] usbcore: registered new interface driver rtl8187
[ 0.822445] usbcore: registered new interface driver rtl8xxxu
[ 0.828432] usbcore: registered new interface driver rtl8150
[ 0.834235] usbcore: registered new interface driver r8152
[ 0.840209] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.846861] ehci-platform: EHCI generic platform driver
[ 0.852339] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.858677] ohci-platform: OHCI generic platform driver
[ 0.864237] usbcore: registered new interface driver cdc_wdm
[ 0.870175] usbcore: registered new interface driver usb-storage
[ 0.876543] usbcore: registered new interface driver usbserial_generic
[ 0.883193] usbserial: USB Serial support registered for generic
[ 0.889441] usbcore: registered new interface driver ch341
[ 0.895036] usbserial: USB Serial support registered for ch341-uart
[ 0.901791] musb-sunxi 1c13000.usb: Invalid or missing 'dr_mode' property
[ 0.908769] musb-sunxi: probe of 1c13000.usb failed with error -22
[ 0.915280] i2c /dev entries driver
[ 0.976480] sunxi-mmc 1c0f000.mmc: base:0xa5d79b30 irq:19
[ 0.983576] usbcore: registered new interface driver usbhid
[ 0.989331] usbhid: USB HID core driver
[ 1.007982] NET: Registered protocol family 17
[ 1.012693] Key type dns_resolver registered
[ 1.019181] Loading compiled-in X.509 certificates
[ 1.033705] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc07396b8)
[ 1.042559] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc073899c)
[ 1.050407] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.057105] [drm] No driver support for vblank timestamp query.
[ 1.103887] mmc0: host does not support reading read-only switch, assuming write-enable
[ 1.108792] Console: switching to colour frame buffer device 60x34
[ 1.109445] mmc0: new high speed SDHC card at address 1234
[ 1.110416] mmcblk0: mmc0:1234 SA08G 7.21 GiB
[ 1.112786] mmcblk0: p1 p2
[ 1.166306] sun4i-drm display-engine: fb0: frame buffer device
[ 1.180033] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 1.195356] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.216873] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.231103] ALSA device list:
[ 1.237869] #0: Loopback 1
[ 1.245275] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.261328] cfg80211: failed to load regulatory.db
[ 1.271969] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[ 1.313933] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 1.329768] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 1.344717] devtmpfs: mounted
[ 1.356061] Freeing unused kernel memory: 1024K
[ 1.522052] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Starting logging: OK
Initializing random number generator... done.
Welcome to Lichee Pi
Lichee login: [ 6.625019] random: crng init done
Welcome to Lichee Pi
原理就是通过sunxi-fel 把 Linux 跑起来, 把 sd nand 映射成一个 U 盘, 然后通过 Windows/Ubuntu 操作这个U盘烧写。
记得 SDIO 的一个引脚(比如时钟)要接个开关下拉哦, 方便进入 fel 模式。
晕哥,我理解你的意思,实质上写SPI和写TF卡应该是一个流程,只是操作的对象不一样而已。不过这个需要测试。也可能官方sunxi没有操作TF卡的接口的话,就需要自己加上。
另外一个疑问,我看TF卡直接烧录系统之后,在ubuntu下是可以直接识别rootfs分区的,那读保护应该怎么做呢?这样的话,不就不需要密码,直接可以读取rootfs里面的内容了吗? 不知道这块有没有什么先例。
现使用linaro公司的交叉编译器,可到 http://releases.linaro.org/14.07/components/toolchain/binaries/ 下载 gcc-linaro-arm-linux-gnueabihf-4.9-2014.07-20140726_win32.exe,安装完成后,将其bin目录添加到环境变量PATH中。arm-linux-gnueabihf工具编译后的程序不需要联带依赖库一起打包。
上面的文章时候用这个 gcc-linaro-arm-linux-gnueabihf-4.9-2014.07-20140726_win32.exe
https://releases.linaro.org/archive/14.07/components/toolchain/binaries/
主要是F1C100S 不带浮点,还不能用gnueabihf,我看过那个网址,只能试试gcc-linaro-arm-none-eabi-4.9-2014.08-20140825_win32.exe了
阿黄 说:晕哥 说:可以的, 我记得以前发过帖子,我找找。
好的,感谢。
是 https://whycan.cn/t_714.html 这个吗? 我看了这个不是交叉编译的貌似https://whycan.cn/t_714.html#p2600
对, 就是这个四楼,
从 Makefile 导入使用 arm linux gcc 编译工具链的工程,
但这样还是不能编译 Qt 项目, 只针对普通的应用程序可以按上面的套路做。arm linux Qt项目 还是得编译一个 mingw/cygwin 平台的 qmake 和 Qt动态链接库出来才行.
我现在参照 https://www.cnblogs.com/qinwanlin/p/6956833.html 这篇文章来做,可惜找不到windows平台上用的gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi 不知道用gcc-linaro-arm-none-eabi-4.9-2014.08-20140825_win32.exe 来编译QT库行不行。只能慢慢试了
可以的, 我记得以前发过帖子,我找找。
好的,感谢。
是 https://whycan.cn/t_714.html 这个吗? 我看了这个不是交叉编译的貌似
# cat /proc/interrupts CPU0 16: 4529 sun4i_irq 13 Edge timer@1c20c00 17: 829674 sun4i_irq 10 Edge sun6i-spi 18: 361 sun4i_irq 29 Edge 1c0c000.lcd-controller 19: 6117 sun4i_irq 23 Edge sunxi-mmc 23: 137 sun4i_irq 20 Edge sun4i-ts 24: 486 sun4i_irq 1 Edge ttyS0 25: 87 sun4i_irq 26 Edge musb-hdrc.1.auto 61: 1 sunxi_pio_edge 34 Edge usb0-id-det Err: 0
中断来了
firstman 说:阿黄 说:谢谢晕哥,本来打算把Touchgfx移植到f1c100s上跑的,在ubuntu上基于SDL2已经可跑,但是有个libtouchgfx.a没法交叉编译到ARM9上,所以作罢
求 Touchgfx ubuntu SDL2 跑教程.
这个可以有哈
Windows下,
1、安装Touchgfx 4.10.1(ST版本)
2、随便创建个Application,我选的PC
3、随便创建几个Widgets,点击Run Simulate测试下能不能运行,
4、找到应用程序文件夹,我这里是C:\TouchGFXProjects\MyApplication2,拷贝到ubuntu下。
Ubuntu下:
5、这时候,切到MyApplication2/simulator/gcc目录,直接make会报错
Converting images
make[1]: execvp: touchgfx//framework/tools/imageconvert/build/linux/imageconvert.out: Permission denied
simulator/gcc/Makefile:243: recipe for target 'BitmapDatabase' failed
make[1]: *** [BitmapDatabase] Error 127
Makefile:37: recipe for target 'all' failed
make: *** [all] Error 2
6、将下面2个文件chmod 777
MyApplication2/touchgfx/framework/tools/imageconvert/build/linux/imageconvert.out
MyApplication2/touchgfx/framework/tools/fontconvert/build/linux/fontconvert.out
7、切到MyApplication2/simulator/gcc目录,直接make。生成的文件为MyApplication2/build/bin/simulate.out。
8、执行simulate.out即可。
注意的是,有的下载的工程下generated文件夹里面文件不全,需要用Touchgfx designer先打开模拟下,就会自动生成相关文件。
官方有个洗衣机的demo,我上传一下 链接: https://pan.baidu.com/s/1NxbIq4VwuQSycfJtqAtQKA 提取码: 2kdx
参考链接: https://whycan.cn/t_1017.html#p4914
pighead 说:这个问题也浪费了我几个小时,后来拿云盘上给的那个rootfs来对比,才发现:
1. arm-linux-gnueabi 这个工具链用来编译内核没有问题,编译应用则会出现问题;2. 编译应用的问题,是因为工具链所附加的库,是面向Cortex A7来编译的;因为假如只编译,不链接: arm-linux-gnueabi-gcc -Q -v -c -mcpu=arm926ej-s hello.c ,然后用readelf -A hello.o,会发现:Tag_CPU_name: "ARM926EJ-S";但只要链接了库,就成了:Tag_CPU_name: "7-A"
3. 解决方法,重新编译工具链,使得它附带的库是用于ARM926EJ-S的,方法是:
https://briolidz.wordpress.com/2012/02/07/building-embedded-arm-systems-with-crosstool-ng/
http://unisim-vp.org/site/crosstool-arm-926ejs-linux-gnueabi-how-to.html4. 之后再使用编译出来的external toolchain,也是完全OK的。
看看是否是这个问题?
谢谢晕哥,我试试
测试了最简单的helloworld,执行都会出现Segmentation fault。
eclipse编译log
13:25:16 **** Build of configuration Debug for project helloworld ****
make all
Building file: ../main/helloworld.c
Invoking: Cross GCC Compiler
arm-linux-gnueabi-gcc -O0 -Wall -c -fmessage-length=0 -MMD -MP -MF"main/helloworld.d" -MT"main/helloworld.o" -o "main/helloworld.o" "../main/helloworld.c"
Finished building: ../main/helloworld.c
Building target: helloworld
Invoking: Cross GCC Linker
arm-linux-gnueabi-gcc -o "helloworld" ./main/helloworld.o
Finished building target: helloworld
13:25:18 Build Finished. 0 errors, 0 warnings. (took 1s.877ms)
<code>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("!!!Hello World!!!\r\n"); /* prints !!!Hello World!!! */
return EXIT_SUCCESS;
}
</code>
使用eclipse交叉编译了littlevgl 5.2的一个简单的hello窗口demo,使用的是arm-linux-gnueabi-编译的,但是生成的文件放到nano上,执行出现Segmentation fault,使用core dump,生成core文件之后,拷贝到PC上 gdb查看,却出现
Backtrace stopped: not enough registers or memory available to unwind further
大家怎么编译的?
Your text here
新版的Nano原理图不知道哪里有?上面有ns2009封装的。 看了百度云盘和nano.lichee.pro都没有新版的原理图
想问下 I2C是不是也是没有上拉电阻?
因为我测试ns2009驱动时,也是报了下面的错误
[ 47.766702] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 47.773261] input input0: Poll touch data failed: -110
[ 49.926698] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 49.933256] input input0: Poll touch data failed: -110
[ 52.086709] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 52.093271] input input0: Poll touch data failed: -110
[ 54.246683] i2c i2c-0: mv64xxx: I2C bus locked, block: 1, time_left: 0
[ 54.253242] input input0: Poll touch data failed: -110
参考帖子 https://whycan.cn/t_519.html。
更新下,问题1是因为用的配置是 licheepi_nano_spiflash_defconfig ,应该直接用 licheepi_nano_defconfig,
问题2估计哪里配置还是有问题,.config里面没有CONFIG_EARLY_PRINTK相关配置。后来重新git了 git clone --depth=1 -b f1c100s-480272lcd-test https://github.com/Icenowy/linux.git 就没问题了,估计是哪里配置还是不对,先向下搞了
https://whycan.cn/files/members/3/QQ20181010082728.png
第一个问题, u-boot-sunxi-with-spl.bin 这个文件 300k 后面的填充了无用的 0xFF.
SPL: Unsupported Boot Device! 这个问题一般出现在 spi flash 启动上面,
如果你用TF卡应该是不会的,
把更详细的log贴出来看下.
log只有下面这些
U-Boot SPL 2018.01-05676-g00188782ee-dirty (May 16 2018 - 17:22:52)
DRAM: 32 MiB
SPL: Unsupported Boot Device!
Trying to boot from sunxi SPI
由于我SPI FLASH里面也有系统,接着就自动从SPI 启动了。我待会
通过对比V4版本的u-boot-spi-flash.bin和u-boot-tf.bin,大段大段的不同,除开填充的部分,本身长度也不一样。
我开始尝试直接将编译出来的填充FF使得大小到0xF6000试试。
实在不清楚官方的这个是什么配置编译的,似乎改写了很多?
问题较多,一个一个说。
主要参照了nano.lichee.pro, zero.lichee.pro和晕哥的帖子。 按照步骤编译了uboot、内核和rootfs。
问题1、编译uboot。
使用了配置
git clone https://github.com/Lichee-Pi/u-boot.git -b nano-v2018.01
cd u-boot
#拷贝默认配置文件
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig
并配置了LCD之后
编译后 uboot只有320K,而看V4里面的tf-uboot有1M,拷贝到uboot/480272目录,改名后 执行
./clear_partion.sh /dev/sdb
./pack_tf_img.sh /dev/sdb
./write_dd.sh /dev/sdb
实测无法进入到TF卡的uboot,一直报SPL: Unsupported Boot Device! 估计原因是使用了spiflash的defconfig,
但实在不清楚tf卡的配置和spi的配置哪里应该有区别,启动参数应该是boot.scr决定的呀。
问题2:编译内核,
#克隆linux
git clone https://github.com/Lichee-Pi/linux.git --depth=1 -b nano-4.14-exp
cd linux
#下载配置文件
wget https://whycan.cn/files/members/3/lichee_nano_linux_config.zip
mv lichee_nano_linux_config.zip .config
#再配置
CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make menuconfig
#编译
CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make
由于自己编译的uboot无法启动。使用V4版本的uboot,并拷贝并改名了内核文件到p1文件夹,重复
./clear_partion.sh /dev/sdb
./pack_tf_img.sh /dev/sdb
./write_dd.sh /dev/sdb
上电后,可以进uboot,但是启动内核时卡在 Starting kernel ...
下面是启动log
U-Boot 2018.01-05676-g00188782ee (Apr 08 2018 - 16:10:25 +0800) Allwinner Technology
CPU: Allwinner F Series (SUNIV)
Model: Lichee Pi Nano
DRAM: 32 MiB
MMC: SUNXI SD/MMC: 0
SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
Setting up a 480x272 lcd console (overscan 0x0)
In: serial@1c25000
Out: serial@1c25000
Err: serial@1c25000
Net: No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
reading /boot.scr
280 bytes read in 16 ms (16.6 KiB/s)
## Executing script at 80c50000
reading suniv-f1c100s-licheepi-nano.dtb
8553 bytes read in 27 ms (308.6 KiB/s)
reading zImage
3801104 bytes read in 270 ms (13.4 MiB/s)
## Flattened Device Tree blob at 80c00000
Booting using the fdt blob at 0x80c00000
Loading Device Tree to 80e60000, end 80e65168 ... OK
Starting kernel ...
问题3: 使用主线的rtp触摸驱动文件sun4i-ts.c编译内核模块ko,系统采用V4版本,但是无法加载,报错如下
# insmod sun4i-ts.ko
[ 32.197009] sun4i_ts: Unknown symbol devm_hwmon_device_register_with_groups (err 0)
[ 32.213188] sun4i_ts: Unknown symbol devm_hwmon_device_register_with_groups (err 0)
insmod: can't insert 'sun4i-ts.ko': unknown symbol in module, or unknown parameter
查看了编译选项,需要有HWMON选中才行,估计是由于V4版本内核默认没有选中的原因。 但是我自己编译内核没法工作。。。。