页次: 1
https://mp.weixin.qq.com/s/ByXbn3gM7vai-mPdywn3Dg
https://mp.weixin.qq.com/robots.txt
User-Agent: *
Allow: /$
Allow: /debug/
Allow: /qa/
Allow: /wiki
Allow: /cgi-bin/loginpage
Allow: /cgi-bin/wx
Disallow: /
这就是微信公众号没有被搜索引擎收录的原因, 禁止任何爬虫.
timer.c:
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/input.h>
#include <linux/input-polldev.h>
#include <linux/i2c.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/clk/sunxi.h>
#include <linux/delay.h>
#ifdef CONFIG_ARCH_SUN3I
#include <asm/sched_clock.h>
#include <linux/clocksource.h>
#endif
#define TIMER_IRQ_EN_REG 0x00
#define TIMER_IRQ_EN(val) (1 << val)
#define TIMER_IRQ_ST_REG 0x04
#define TIMER_IRQ_ST(val) (1 << val)
#define TIMER_CTL_REG(val) (0x10 * val + 0x10)
#define TIMER_CTL_ENABLE (1 << 0)
#define TIMER_CTL_AUTORELOAD (1 << 1)
#define TIMER_CTL_MODE_MASK (1 << 7)
#define TIMER_CTL_PERIODIC (0 << 7)
#define TIMER_CTL_ONESHOT (1 << 7)
#define TIMER_INTVAL_REG(val) (0x10 * val + 0x14)
#define TIMER_CNTVAL_REG(val) (0x10 * val + 0x18)
#define TIMER_IRQ 14 //timer1 irq
static int timer_nr = 1;
//static void __iomem *timer_base = 0x01c20c00;
static void __iomem *timer_base = 0xF1C20C00;
//#define HZ 100
static irqreturn_t timer_handler(int irq, void *dev_id)
{
u32 val = 0;
u32 rate = 24000000;
u32 prescale = 16;
writel(rate / (prescale * HZ),
timer_base + TIMER_INTVAL_REG(timer_nr));
writel(TIMER_IRQ_ST(timer_nr), timer_base + TIMER_IRQ_ST_REG);
val = readl(timer_base + TIMER_CTL_REG(timer_nr));
// writel(val | TIMER_CTL_ENABLE | TIMER_CTL_PERIODIC, timer_base + TIMER_CTL_REG(timer_nr));
writel(val | TIMER_CTL_ENABLE | TIMER_CTL_PERIODIC | TIMER_CTL_ONESHOT, timer_base + TIMER_CTL_REG(timer_nr));
// printk(">");
return IRQ_HANDLED;
}
int init_timer_module(void)
{
u32 rate = 24000000;
u32 prescale = 16;
int ret, irq;
u32 val;
printk("HZ = %d \n", HZ);
printk("rate / (prescale * HZ) = %d \n", rate / (prescale * HZ));
writel(rate / (prescale * HZ),
timer_base + TIMER_INTVAL_REG(timer_nr));
/* set clock source to HOSC, 16 pre-division */
val = readl(timer_base + TIMER_CTL_REG(timer_nr));
val &= ~(0x07 << 4);
val &= ~(0x03 << 2);
val |= (4 << 4) | (1 << 2);
writel(val, timer_base + TIMER_CTL_REG(timer_nr));
val = readl(timer_base + TIMER_CTL_REG(timer_nr));
printk("222 val = 0x%X\n ", val);
/* set mode to auto reload */
val = readl(timer_base + TIMER_CTL_REG(timer_nr));
writel(val | TIMER_CTL_AUTORELOAD, timer_base + TIMER_CTL_REG(timer_nr));
val = readl(timer_base + TIMER_CTL_REG(timer_nr));
printk("333 val = 0x%X\n ", val);
// ret = setup_irq(irq, &sunxi_timer_irq);
// if (ret)
// pr_warn("failed to setup irq %d\n", irq);
// if (request_irq(14, (irq_handler_t )timer_handler, IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL ,
if (request_irq(14, (irq_handler_t )timer_handler, 0,
"sunxi_timer1", NULL))
{
printk("irq request failure\n");
return -1;
}
/* Enable timer interrupt */
val = readl(timer_base + TIMER_IRQ_EN_REG);
writel(val | TIMER_IRQ_EN(timer_nr), timer_base + TIMER_IRQ_EN_REG);
printk("555 val = 0x%X\n", val);
return 0;
}
void release_timer_module(void)
{
free_irq(14, NULL);
return;
}
module_init(init_timer_module);
module_exit(release_timer_module);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("whycan");
Makefile
obj-m = timer.o
编译指令:
ARCH=arm CROSS_COMPILE=${PWD}/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-arm9-musl/toolchain/bin/arm-openwrt-linux-muslgnueabi- make -C ${PWD}/lichee/linux-3.10/ M=${PWD}/modules/timer
只触发了一次中断:
root@TinaLinux:/# insmod /tmp/timer.ko
module is already loaded - timer
root@TinaLinux:/#
root@TinaLinux:/# lsmod
8723bs 1500733 0
gc0308 9903 0
ov2640 10760 0
snd_mixer_oss 11988 1 snd_pcm_oss
snd_pcm_oss 30646 0
snd_seq_device 4506 0
timer 1084 0
vfe_io 26420 3 vfe_v4l2
vfe_v4l2 204719 0
videobuf2_core 21778 1 vfe_v4l2
videobuf2_dma_contig 7789 1 vfe_v4l2
videobuf2_memops 1260 1 videobuf2_dma_contig
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# cat /proc/interrupts
CPU0
13: 724 sun3i_irq sunxi_timer
14: 1 - sunxi_timer1
38: 1 sun3i_irq PIN_GRP
39: 0 sun3i_irq PIN_GRP
40: 0 sun3i_irq PIN_GRP
101: 5413 sun3i_irq 1c02000.dma-controller
103: 0 sun3i_irq cedar_dev
104: 155 sun3i_irq uart1
105: 22 sun3i_irq twi0
106: 17980 sun3i_irq spi0
107: 43 sun3i_irq sunxi-mmc
108: 4424 sun3i_irq lcd
109: 0 sun3i_irq dispaly
113: 0 sun3i_irq csi_irq
114: 99 sun3i_irq sunxi_usb_udc
115: 0 sun3i_irq sunxikbd
Err: 0
https://v2as.com/article/478a8ec2-efa3-4bc4-86a0-90cbd90ad766
1. Tick的作用
操作系统,tick仿佛是人的脉搏,不停的向各个器官提供血液。 Tick在操作系统中,会进行调度,是分时调度最基础的组成部分。在学习Linux内核时,我只知道这个概念,却没能真正看到它是如何实现的。在经历了大约2个周的仔细阅读之后,终于能窥其全貌。
jiffies的更新。
kernel/time/timekeeping.c
void do_timer(unsigned long ticks)
{
jiffies_64 += ticks;
update_wall_time();
calc_global_load(ticks);
}
kernel/time/tick-common.c
static void tick_periodic(int cpu)
{
if (tick_do_timer_cpu == cpu) {
write_seqlock(&jiffies_lock);
/* Keep track of the next tick event */
tick_next_period = ktime_add(tick_next_period, tick_period);
do_timer(1);
write_sequnlock(&jiffies_lock);
}
update_process_times(user_mode(get_irq_regs()));
profile_tick(CPU_PROFILING);
}
/*
* Event handler for periodic ticks
*/
void tick_handle_periodic(struct clock_event_device *dev)
{
int cpu = smp_processor_id();
ktime_t next;
tick_periodic(cpu);
if (dev->mode != CLOCK_EVT_MODE_ONESHOT)
return;
/*
* Setup the next period for devices, which do not have
* periodic mode:
*/
next = ktime_add(dev->next_event, tick_period);
for (;;) {
if (!clockevents_program_event(dev, next, false))
return;
/*
* Have to be careful here. If we're in oneshot mode,
* before we call tick_periodic() in a loop, we need
* to be sure we're using a real hardware clocksource.
* Otherwise we could get trapped in an infinite
* loop, as the tick_periodic() increments jiffies,
* when then will increment time, posibly causing
* the loop to trigger again and again.
*/
if (timekeeping_valid_for_hres())
tick_periodic(cpu);
next = ktime_add(next, tick_period);
}
}
kernel/time/tick-broadcast.c
/*
* Set the periodic handler depending on broadcast on/off
*/
void tick_set_periodic_handler(struct clock_event_device *dev, int broadcast)
{
if (!broadcast)
dev->event_handler = tick_handle_periodic;
else
dev->event_handler = tick_handle_periodic_broadcast;
}
kernel/time/tick-common.c
/*
* Setup the device for a periodic tick
*/
void tick_setup_periodic(struct clock_event_device *dev, int broadcast)
{
tick_set_periodic_handler(dev, broadcast);
/* Broadcast setup ? */
if (!tick_device_is_functional(dev))
return;
if ((dev->features & CLOCK_EVT_FEAT_PERIODIC) &&
!tick_broadcast_oneshot_active()) {
clockevents_set_mode(dev, CLOCK_EVT_MODE_PERIODIC);
} else {
unsigned long seq;
ktime_t next;
do {
seq = read_seqbegin(&jiffies_lock);
next = tick_next_period;
} while (read_seqretry(&jiffies_lock, seq));
clockevents_set_mode(dev, CLOCK_EVT_MODE_ONESHOT);
for (;;) {
if (!clockevents_program_event(dev, next, false))
return;
next = ktime_add(next, tick_period);
}
}
}
/*
* Setup the tick device
*/
static void tick_setup_device(struct tick_device *td,
struct clock_event_device *newdev, int cpu,
const struct cpumask *cpumask)
{
ktime_t next_event;
void (*handler)(struct clock_event_device *) = NULL;
/*
…..
*/
if (tick_device_uses_broadcast(newdev, cpu))
return;
if (td->mode == TICKDEV_MODE_PERIODIC)
tick_setup_periodic(newdev, 0);
else
tick_setup_oneshot(newdev, handler, next_event);
}
/*
* Check, if the new registered device should be used.
*/
void tick_check_new_device(struct clock_event_device *newdev)
{
struct clock_event_device *curdev;
struct tick_device *td;
int cpu;
unsigned long flags;
……..
}
clockevents_exchange_device(curdev, newdev);
tick_setup_device(td, newdev, cpu, cpumask_of(cpu));
if (newdev->features & CLOCK_EVT_FEAT_ONESHOT)
tick_oneshot_notify();
raw_spin_unlock_irqrestore(&tick_device_lock, flags);
return;
out_bc:
/*
* Can the new device be used as a broadcast device ?
*/
tick_install_broadcast_device(newdev);
raw_spin_unlock_irqrestore(&tick_device_lock, flags);
}
Tick的eventhandler是在clock_event_device的注册过程中设置的。
2. clock_event_device的注册继续沿着调用关系向下寻找。
kernel/time/clockevents.c
**
* clockevents_register_device - register a clock event device
* @dev: device to register
*/
void clockevents_register_device(struct clock_event_device *dev)
{
unsigned long flags;
BUG_ON(dev->mode != CLOCK_EVT_MODE_UNUSED);
if (!dev->cpumask) {
WARN_ON(num_possible_cpus() > 1);
dev->cpumask = cpumask_of(smp_processor_id());
}
raw_spin_lock_irqsave(&clockevents_lock, flags);
list_add(&dev->list, &clockevent_devices);
tick_check_new_device(dev);
clockevents_notify_released();
raw_spin_unlock_irqrestore(&clockevents_lock, flags);
}
void clockevents_config_and_register(struct clock_event_device *dev,
u32 freq, unsigned long min_delta,
unsigned long max_delta)
{
dev->min_delta_ticks = min_delta;
dev->max_delta_ticks = max_delta;
clockevents_config(dev, freq);
clockevents_register_device(dev);
}
还是基于我相对熟悉的Arm作为例子。
drivers/clocksource/arm_arch_timer.c
static void __cpuinit __arch_timer_setup(unsigned type,
struct clock_event_device *clk)
{
clk->features = CLOCK_EVT_FEAT_ONESHOT;
if (type == ARCH_CP15_TIMER) {
clk->features |= CLOCK_EVT_FEAT_C3STOP;
clk->name = "arch_sys_timer";
clk->rating = 450;
clk->cpumask = cpumask_of(smp_processor_id());
if (arch_timer_use_virtual) {
clk->irq = arch_timer_ppi[VIRT_PPI];
clk->set_mode = arch_timer_set_mode_virt;
clk->set_next_event = arch_timer_set_next_event_virt;
} else {
clk->irq = arch_timer_ppi[PHYS_SECURE_PPI];
clk->set_mode = arch_timer_set_mode_phys;
clk->set_next_event = arch_timer_set_next_event_phys;
}
} else {
clk->features |= CLOCK_EVT_FEAT_DYNIRQ;
clk->name = "arch_mem_timer";
clk->rating = 400;
clk->cpumask = cpu_all_mask;
if (arch_timer_mem_use_virtual) {
clk->set_mode = arch_timer_set_mode_virt_mem;
clk->set_next_event =
arch_timer_set_next_event_virt_mem;
} else {
clk->set_mode = arch_timer_set_mode_phys_mem;
clk->set_next_event =
arch_timer_set_next_event_phys_mem;
}
}
clk->set_mode(CLOCK_EVT_MODE_SHUTDOWN, clk);
clockevents_config_and_register(clk, arch_timer_rate, 0xf, 0x7fffffff);
}
static int __cpuinit arch_timer_setup(struct clock_event_device *clk)
{
__arch_timer_setup(ARCH_CP15_TIMER, clk);
……
}
static int __init arch_timer_register(void)
{
int err;
int ppi;
arch_timer_evt = alloc_percpu(struct clock_event_device);
if (!arch_timer_evt) {
err = -ENOMEM;
goto out;
}
……..
/* Immediately configure the timer on the boot CPU */
arch_timer_setup(this_cpu_ptr(arch_timer_evt));
return 0;
out_unreg_notify:
unregister_cpu_notifier(&arch_timer_cpu_nb);
out_free_irq:
if (arch_timer_use_virtual)
free_percpu_irq(arch_timer_ppi[VIRT_PPI], arch_timer_evt);
else {
free_percpu_irq(arch_timer_ppi[PHYS_SECURE_PPI],
arch_timer_evt);
if (arch_timer_ppi[PHYS_NONSECURE_PPI])
free_percpu_irq(arch_timer_ppi[PHYS_NONSECURE_PPI],
arch_timer_evt);
}
out_free:
free_percpu(arch_timer_evt);
out:
return err;
}
static void __init arch_timer_init(struct device_node *np)
{
int i;
if (arch_timers_present & ARCH_CP15_TIMER) {
pr_warn("arch_timer: multiple nodes in dt, skipping\n");
return;
}
arch_timers_present |= ARCH_CP15_TIMER;
for (i = PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++)
arch_timer_ppi[i] = irq_of_parse_and_map(np, i);
arch_timer_detect_rate(NULL, np);
/*
* If HYP mode is available, we know that the physical timer
* has been configured to be accessible from PL1. Use it, so
* that a guest can use the virtual timer instead.
*
* If no interrupt provided for virtual timer, we'll have to
* stick to the physical timer. It'd better be accessible…
*/
if (is_hyp_mode_available() || !arch_timer_ppi[VIRT_PPI]) {
arch_timer_use_virtual = false;
if (!arch_timer_ppi[PHYS_SECURE_PPI] ||
!arch_timer_ppi[PHYS_NONSECURE_PPI]) {
pr_warn("arch_timer: No interrupt available, giving up\n");
return;
}
}
arch_timer_register();
arch_timer_common_init();
}
CLOCKSOURCE_OF_DECLARE(armv7_arch_timer, "arm,armv7-timer", arch_timer_init);
CLOCKSOURCE_OF_DECLARE(armv8_arch_timer, "arm,armv8-timer", arch_timer_init);
arch_timer_init对整个时钟进行设置。
#define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \
static const struct of_device_id __clksrc_of_table_##name \
__used __section(__clksrc_of_table) \
= { .compatible = compat, \
.data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn }
CLOCKSOURCE_OF_DECLARE生成一个表项。
3. time_init
arch/arm64/kernel/time.c
void __init time_init(void)
{
u32 arch_timer_rate;
of_clk_init(NULL);
clocksource_of_init();
tick_setup_hrtimer_broadcast();
arch_timer_rate = arch_timer_get_rate();
if (!arch_timer_rate)
panic("Unable to initialise architected timer.\n");
/* Calibrate the delay loop directly */
lpj_fine = arch_timer_rate / HZ;
}
drivers/clocksource/clksrc-of.c
void __init clocksource_of_init(void)
{
struct device_node *np;
const struct of_device_id *match;
clocksource_of_init_fn init_func;
for_each_matching_node_and_match(np, __clksrc_of_table, &match) {
init_func = match->data;
init_func(np);
}
}
4. 整个故事到了尾声, clocksource_of_init将遍历device tree所有的节点,如果找到和__clksrc_of_tablematch的, 就调用相应的函数。
device tree的一个Node:
timer {
compatible = "arm,armv8-timer";
interrupts = <0x1 0x2 0xff08 0x1 0x3 0xff08 0x1 0x4 0xff08 0x1 0x1 0xff08>;
clock-frequency = <0x124f800>;
};
timer2 单次触发, 使用LOSC源(32Khz), 使能
devmem 0x01C20C34 32 0x8000;devmem 0x01C20C30 32 0x00000081;
查看定时器timer2数据:
# devmem 0x01C20C30;devmem 0x01C20C34;devmem 0x01C20C38;
0x00000081
0x00008000
0x00000F29
# devmem 0x01C20C30;devmem 0x01C20C34;devmem 0x01C20C38;
0x00000080
0x00008000
0x00000000
# devmem 0x01C20C30;devmem 0x01C20C34;devmem 0x01C20C38;
0x00000080
0x00008000
0x00000000
好了, 我们现在测试timer2,
#timer2 装入定时值
devmem 0x01C20C34 32 0x5000000
#timer2 单次触发, 24M源, 使能timer2
devmem 0x01C20C30 32 0x00000085
现在可以看 timer2 定时器当前数据了
# devmem 0x01C20C30;devmem 0x01C20C34;devmem 0x01C20C38;
0x00000085
0x05000000
0x03E40B4D (当前值 | 倒计时)
# devmem 0x01C20C30;devmem 0x01C20C34;devmem 0x01C20C38;
0x00000084
0x05000000
0x00000000 (归零)
编译错误:
arm-openwrt-linux-muslgnueabi-gcc -DHAVE_CONFIG_H -I. -I../.. -D__MGNCS_LIB__ -I/opt/v3s/tina/tina/out/banjo-R11_pref1/compile_dir/target/libmgncs-1.2.0/include -I. -I.. -I/opt/v3s/tina/tina/out/banjo-R11_pref1/compile_dir/target/libmgncs-1.2.0 -I/opt/v3s/tina/tina/out/banjo-R11_pref1/staging_dir/target/usr/include -I/opt/v3s/tina/tina/out/banjo-R11_pref1/staging_dir/target/include -I/opt/v3s/tina/tina/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/usr/include -I/opt/v3s/tina/tina/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/include -I/opt/v3s/tina/tina/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/include/fortify -I/usr/include/libxml2 -DNDEBUG -Os -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -fno-caller-saves -Wno-unused-result -mfloat-abi=hard -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -Wstrict-prototypes -pipe -MT mxmlds.lo -MD -MP -MF .deps/mxmlds.Tpo -c mxmlds.c -fPIC -DPIC -o .libs/mxmlds.lo
In file included from /usr/include/libxml2/libxml/parser.h:810:0,
from /usr/include/libxml2/libxml/globals.h:18,
from /usr/include/libxml2/libxml/threads.h:35,
from /usr/include/libxml2/libxml/xmlmemory.h:218,
from /usr/include/libxml2/libxml/tree.h:1307,
from mxmlds.c:15:
/usr/include/libxml2/libxml/encoding.h:31:26: fatal error: unicode/ucnv.h: No such file or directory
#include <unicode/ucnv.h>
^
compilation terminated.
Makefile:393: recipe for target 'mxmlds.lo' failed
make[6]: *** [mxmlds.lo] Error 1
修改这个文件 out/banjo-R11_pref1/compile_dir/target/libmgncs-1.2.0/configure
CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
改成:
CPPFLAGS="$CPPFLAGS -I../../../../package/allwinner/liballwinner_tina/liballwinner/LIBRARY/EXTERNAL/include/libxml"
请问大佬知道tina怎么用mtd-untils工具升级吗?我在tina里cat /proc/mtd 提示找不到mtd设备。
app start...
BusyBox v1.27.2 () built-in shell (ash)
_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _
| | _ | || | | |__ | || || | ||_'_|
| | | || | || _ | |_____||_||_|_||___||_,_|
|_| |_||_|_||_|_| Tina is Based on OpenWrt!
----------------------------------------------
Tina Linux (Neptune, 5C1C9C53)
----------------------------------------------
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# cat /proc/mtd
dev: size erasesize name
mtd0: 00080000 00001000 "uboot"
mtd1: 00080000 00001000 "bootlogo"
mtd2: 00020000 00001000 "env"
mtd3: 00300000 00001000 "boot"
mtd4: 00a00000 00001000 "rootfs"
mtd5: 00180000 00001000 "rootfs_data"
mtd6: 00010000 00001000 "misc"
mtd7: 00010000 00001000 "private"
mtd8: 00040000 00001000 "UDISK"
root@TinaLinux:/#
木得问题噢
结贴, 搞定
慢动作,分两步:
0. 使能libgd: CONFIG_PACKAGE_libgd=y
1. make package/libgd/install
2. make package/fswebcam/install
$ make package/libgd/install
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1]: Entering directory '/opt/f1c100s/tina/tina'
make[2]: Entering directory '/opt/f1c100s/tina/tina/package/libs/libgd'
mkdir -p /opt/f1c100s/tina/tina/out/violin-F1C200s/packages /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd/CONTROL /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd/usr/lib
cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-install/usr/lib/libgd.so.* /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd/usr/lib/
find /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
export CROSS="arm-openwrt-linux-muslgnueabi-" NO_RENAME=1 ; NM="arm-openwrt-linux-muslgnueabi-nm" STRIP="arm-openwrt-linux-muslgnueabi-strip --strip-all" STRIP_KMOD="/opt/f1c100s/tina/tina/scripts/strip-kmod.sh" PATCHELF="/opt/f1c100s/tina/tina/out/host/bin/patchelf" /opt/f1c100s/tina/tina/scripts/rstrip.sh /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd
rstrip.sh: /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd/usr/lib/libgd.so.3.0.0: shared object
(cd /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd/CONTROL; ( echo "$CONTROL"; printf "Description: "; echo "$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$0 \$@"; ) > postinst; ( echo "#!/bin/sh"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$0 \$@"; ) > prerm; chmod 0755 postinst prerm; )
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base
/opt/f1c100s/tina/tina/scripts/ipkg-build -c -o 0 -g 0 /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd /opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base
Packaged contents of /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-sunxi/libgd into /opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base/libgd_2.1.1-1_sunxi.ipk
rm -rf /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-libgd
mkdir -p /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/stamp /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-libgd
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-libgd/usr/lib
cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/libgd-gd-2.1.1/ipkg-install/usr/lib/libgd.so.* /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-libgd/usr/lib/
SHELL= flock /opt/f1c100s/tina/tina/tmp/.root-copy.flock -c 'cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-libgd/. /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/'
rm -rf /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-libgd
touch /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/stamp/.libgd_installed
if [ -f /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/libgd.default.install.clean ]; then rm -f /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/libgd.default.install /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/libgd.default.install.clean; fi; echo "libgd" >> /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/libgd.default.install
make[2]: Leaving directory '/opt/f1c100s/tina/tina/package/libs/libgd'
make[1]: Leaving directory '/opt/f1c100s/tina/tina'
#### make completed successfully (4 seconds) ####
$ make package/fswebcam/install
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1]: Entering directory '/opt/f1c100s/tina/tina'
make[2]: Entering directory '/opt/f1c100s/tina/tina/package/multimedia/fswebcam'
mkdir -p /opt/f1c100s/tina/tina/out/violin-F1C200s/packages /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/CONTROL /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/usr/bin
cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-install/usr/bin/fswebcam /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/usr/bin/
find /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
export CROSS="arm-openwrt-linux-muslgnueabi-" NO_RENAME=1 ; NM="arm-openwrt-linux-muslgnueabi-nm" STRIP="arm-openwrt-linux-muslgnueabi-strip --strip-all" STRIP_KMOD="/opt/f1c100s/tina/tina/scripts/strip-kmod.sh" PATCHELF="/opt/f1c100s/tina/tina/out/host/bin/patchelf" /opt/f1c100s/tina/tina/scripts/rstrip.sh /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam
rstrip.sh: /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/usr/bin/fswebcam: executable
(cd /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/CONTROL; ( echo "$CONTROL"; printf "Description: "; echo "$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$0 \$@"; ) > postinst; ( echo "#!/bin/sh"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$0 \$@"; ) > prerm; chmod 0755 postinst prerm; )
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base
/opt/f1c100s/tina/tina/scripts/ipkg-build -c -o 0 -g 0 /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam /opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base
Packaged contents of /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam into /opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base/fswebcam_20140113-1_sunxi.ipk
rm -rf /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-fswebcam
mkdir -p /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/stamp /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-fswebcam
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-fswebcam/usr/bin
cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-install/usr/bin/fswebcam /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-fswebcam/usr/bin/
SHELL= flock /opt/f1c100s/tina/tina/tmp/.root-copy.flock -c 'cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-fswebcam/. /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/'
rm -rf /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/tmp-fswebcam
touch /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/rootfs/stamp/.fswebcam_installed
if [ -f /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/fswebcam.default.install.clean ]; then rm -f /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/fswebcam.default.install /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/fswebcam.default.install.clean; fi; echo "fswebcam" >> /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/fswebcam.default.install
make[2]: Leaving directory '/opt/f1c100s/tina/tina/package/multimedia/fswebcam'
make[1]: Leaving directory '/opt/f1c100s/tina/tina'
#### make completed successfully (3 seconds) ####
make;pack 之后:
$ find . |grep /fswebcam$
./out/violin-F1C200s/staging_dir/target/rootfs/usr/bin/fswebcam
./out/violin-F1C200s/compile_dir/target/rootfs/usr/bin/fswebcam
./out/violin-F1C200s/compile_dir/target/rootfs-tmp/usr/bin/fswebcam
./out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-install/usr/bin/fswebcam
./out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam
./out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/usr/bin/fswebcam
./out/violin-F1C200s/compile_dir/target/fswebcam-20140113/fswebcam
./package/multimedia/fswebcam
这样就能顺利产生了
跟踪了一下, tslib 可以被安装到文件系统
package/libs/tslib/Makefile
而且可以用这个命令: make package/tslib/install 重新安装:
$ make package/tslib/install
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1]: Entering directory '/opt/f1c100s/tina/tina'
make[2]: Entering directory '/opt/f1c100s/tina/tina/package/libs/tslib'
if [ -f /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/tslib.default.install.clean ]; then rm -f /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/tslib.default.install /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/tslib.default.install.clean; fi; echo "tslib" >> /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo/tslib.default.install
make[2]: Leaving directory '/opt/f1c100s/tina/tina/package/libs/tslib'
make[1]: Leaving directory '/opt/f1c100s/tina/tina'
#### make completed successfully (4 seconds) ####
然而, 重新 make package/fswebcam/install 缺出错:
make package/fswebcam/install
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1]: Entering directory '/opt/f1c100s/tina/tina'
make[2]: Entering directory '/opt/f1c100s/tina/tina/package/multimedia/fswebcam'
mkdir -p /opt/f1c100s/tina/tina/out/violin-F1C200s/packages /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/CONTROL /opt/f1c100s/tina/tina/out/violin-F1C200s/staging_dir/target/pkginfo
install -d -m0755 /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/usr/bin
cp -fpR /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-install/usr/bin/fswebcam /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam/usr/bin/
find /opt/f1c100s/tina/tina/out/violin-F1C200s/compile_dir/target/fswebcam-20140113/ipkg-sunxi/fswebcam -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
Package fswebcam is missing dependencies for the following libraries:
libgd.so.3
Makefile:50: recipe for target '/opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base/fswebcam_20140113-1_sunxi.ipk' failed
make[2]: *** [/opt/f1c100s/tina/tina/out/violin-F1C200s/packages/base/fswebcam_20140113-1_sunxi.ipk] Error 1
make[2]: Leaving directory '/opt/f1c100s/tina/tina/package/multimedia/fswebcam'
package/Makefile:192: recipe for target 'package/multimedia/fswebcam/install' failed
make[1]: *** [package/multimedia/fswebcam/install] Error 2
make[1]: Leaving directory '/opt/f1c100s/tina/tina'
/opt/f1c100s/tina/tina/build/toplevel.mk:301: recipe for target 'package/fswebcam/install' failed
make: *** [package/fswebcam/install] Error 2
#### make failed to build some targets (4 seconds) ####
比如这个文件:
./out/violin-F1C200s/compile_dir/target/rootfs-tmp/usr/lib/opkg/info/kmod-sunxi-vfe.list
/lib/modules/3.10.65/videobuf2-memops.ko
/lib/modules/3.10.65/vfe_v4l2.ko
/lib/modules/3.10.65/vfe_io.ko
/etc/modules.d/90-sunxi-vfe
/lib/modules/3.10.65/videobuf2-core.ko
/lib/modules/3.10.65/gc0308.ko
/lib/modules/3.10.65/videobuf2-dma-contig.ko
他会把列表里面的文件拷贝到根文件系统, 但是这个 kmod-sunxi-vfe.list 是如何生成的呢?
# date;cat /proc/interrupts; cat /dev/urandom > /dev/null;
Thu Jan 1 00:10:56 UTC 1970
CPU0
16: 10475 sun4i_irq 13 Edge timer@1c20c00
17: 0 sun4i_irq 18 Edge 1c02000.dma-controller
18: 312 sun4i_irq 29 Edge 1c0c000.lcd-controller
19: 0 sun4i_irq 34 Edge cedar_dev
20: 14615 sun4i_irq 23 Edge sunxi-mmc
21: 3516 sun4i_irq 24 Edge sunxi-mmc
22: 1 sun4i_irq 26 Edge musb-hdrc.1.auto
28: 1184 sun4i_irq 2 Edge ttyS0
29: 14 sun4i_irq 7 Edge mv64xxx_i2c
30: 0 sun4i_irq 32 Edge 1cb0000.csi
Err: 0
^C
# date;cat /proc/interrupts;
Thu Jan 1 00:11:23 UTC 1970
CPU0
16: 13154 sun4i_irq 13 Edge timer@1c20c00
17: 0 sun4i_irq 18 Edge 1c02000.dma-controller
18: 312 sun4i_irq 29 Edge 1c0c000.lcd-controller
19: 0 sun4i_irq 34 Edge cedar_dev
20: 15188 sun4i_irq 23 Edge sunxi-mmc
21: 3598 sun4i_irq 24 Edge sunxi-mmc
22: 1 sun4i_irq 26 Edge musb-hdrc.1.auto
28: 1340 sun4i_irq 2 Edge ttyS0
29: 14 sun4i_irq 7 Edge mv64xxx_i2c
30: 0 sun4i_irq 32 Edge 1cb0000.csi
Err: 0
13154 - 10475 = 2679 === 27(秒) * 100
找点事情让cpu做, 这下中断数量能对上了。
#
# 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=y
CONFIG_HIGH_RES_TIMERS=y
http://abcdxyzk.github.io/blog/2017/07/23/kernel-clock-8/
在前面章节的讨论中,我们一直基于一个假设:Linux中的时钟事件都是由一个周期时钟提供,不管系统中的clock_event_device是工作于周期触发模式,还是工作于单触发模式,也不管定时器系统是工作于低分辨率模式,还是高精度模式,内核都竭尽所能,用不同的方式提供周期时钟,以产生定期的tick事件,tick事件或者用于全局的时间管理(jiffies和时间的更新),或者用于本地cpu的进程统计、时间轮定时器框架等等。周期性时钟虽然简单有效,但是也带来了一些缺点,尤其在系统的功耗上,因为就算系统目前无事可做,也必须定期地发出时钟事件,激活系统。为此,内核的开发者提出了动态时钟这一概念,我们可以通过内核的配置项CONFIG_NO_HZ来激活特性。有时候这一特性也被叫做tickless,不过还是把它称呼为动态时钟比较合适,因为并不是真的没有tick事件了,只是在系统无事所做的idle阶段,我们可以通过停止周期时钟来达到降低系统功耗的目的,只要有进程处于活动状态,时钟事件依然会被周期性地发出。
原来如此!
@tpu 感谢大佬
#date;cat /proc/interrupts; sleep 100;date;cat /proc/interrupts
Thu Jan 1 00:00:51 UTC 1970
CPU0
16: 1424 sun4i_irq 13 Edge timer@1c20c00
17: 0 sun4i_irq 18 Edge 1c02000.dma-controller
18: 312 sun4i_irq 29 Edge 1c0c000.lcd-controller
19: 0 sun4i_irq 34 Edge cedar_dev
20: 1130 sun4i_irq 23 Edge sunxi-mmc
21: 1255 sun4i_irq 24 Edge sunxi-mmc
22: 1 sun4i_irq 26 Edge musb-hdrc.1.auto
28: 502 sun4i_irq 2 Edge ttyS0
29: 14 sun4i_irq 7 Edge mv64xxx_i2c
30: 0 sun4i_irq 32 Edge 1cb0000.csi
Err: 0
Thu Jan 1 00:02:31 UTC 1970
CPU0
16: 2916 sun4i_irq 13 Edge timer@1c20c00
17: 0 sun4i_irq 18 Edge 1c02000.dma-controller
18: 312 sun4i_irq 29 Edge 1c0c000.lcd-controller
19: 0 sun4i_irq 34 Edge cedar_dev
20: 3352 sun4i_irq 23 Edge sunxi-mmc
21: 1888 sun4i_irq 24 Edge sunxi-mmc
22: 1 sun4i_irq 26 Edge musb-hdrc.1.auto
28: 542 sun4i_irq 2 Edge ttyS0
29: 14 sun4i_irq 7 Edge mv64xxx_i2c
30: 0 sun4i_irq 32 Edge 1cb0000.csi
Err: 0
主线Linux产生了500个中断, 算下离 1万次也很远。
/# date;cat /proc/interrupts; sleep 100;date;cat /proc/interrupts
;
Thu Jan 1 00:02:14 GMT 1970
CPU0
13: 820 sun3i_irq sunxi_timer
38: 0 sun3i_irq PIN_GRP
39: 0 sun3i_irq PIN_GRP
40: 0 sun3i_irq PIN_GRP
101: 6389 sun3i_irq 1c02000.dma-controller
103: 0 sun3i_irq cedar_dev
104: 659 sun3i_irq uart1
105: 16 sun3i_irq twi0
106: 27748 sun3i_irq spi0
107: 40 sun3i_irq sunxi-mmc
108: 5793 sun3i_irq lcd
109: 0 sun3i_irq dispaly
113: 0 sun3i_irq csi_irq
114: 43 sun3i_irq sunxi_usb_udc
115: 0 sun3i_irq sunxikbd
Err: 0
Thu Jan 1 00:03:54 GMT 1970
CPU0
13: 845 sun3i_irq sunxi_timer
38: 0 sun3i_irq PIN_GRP
39: 0 sun3i_irq PIN_GRP
40: 0 sun3i_irq PIN_GRP
101: 6389 sun3i_irq 1c02000.dma-controller
103: 0 sun3i_irq cedar_dev
104: 700 sun3i_irq uart1
105: 16 sun3i_irq twi0
106: 27748 sun3i_irq spi0
107: 40 sun3i_irq sunxi-mmc
108: 10149 sun3i_irq lcd
109: 0 sun3i_irq dispaly
113: 0 sun3i_irq csi_irq
114: 43 sun3i_irq sunxi_usb_udc
115: 0 sun3i_irq sunxikbd
Err: 0
13: 820 sun3i_irq sunxi_timer
13: 845 sun3i_irq sunxi_timer
845 - 820 = 25
TINY200开发板使用1bit SD NAND 【分享】
http://whycan.com/t_6301.html
用这个帖子的方法, 把固件烧到雷龙 1bit的 sd nand 也一样能正常启动,
看来主线Linux的mmc驱动比全志的shit tina 驱动更好用?
换雷龙的 CSNP4GCR01-AMW 也是一样的效果, sdc1 是 1bit 的 sd nand芯片
sdc0 是 4bit tf卡,
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62]card no is 0
[63]sdcard 0 line count 4
[65][mmc]: mmc driver ver 2018-5-23 16:07:00
[69][mmc]: sdc0 spd mode error, 2
[78][mmc]: Wrong media type 0x00000000
[82][mmc]: ***Try SD card 0***
[94][mmc]: HSSDR52/SDR25 4 bit
[97][mmc]: 50000000 Hz
[99][mmc]: 1876 MB
[101][mmc]: ***SD/MMC 0 init OK!!!***
[176]Loading boot-pkg Succeed(index=0).
[188]Ready to disable icache.
[190]Jump to secend Boot.
U-Boot 2014.07 (Jul 31 2018 - 14:59:19) Allwinner Technology
uboot commit : 6604446f7bddb8fe53f2b993100929f92a5f4d6e
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.239]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.245]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 64 MiB
Relocation Offset is: 03524000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 1
[0.328]MMC: 0
SUNXI SD/MMC: 0
used mbr [0], count = 8
logo addr = 0x83f00000
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 400000 80000
env : 480000 40000
boot : 4c0000 600000
rootfs : ac0000 1900000
rootfs_data : 23c0000 1900000
misc : 3cc0000 40000
private : 3d00000 40000
UDISK : 3d40000 0
-----------------------------------
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3034264 Bytes = 2.9 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f09f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (cube@ubuntu) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #40 Tue Apr 20 05:55:52 UTC 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: reserved 32 MiB at 82000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat c0608c14, node_mem_map c0638000
[ 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] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mmcblk0p7 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mmcblk0p2:env@mmcblk0p5:boot@mmcblk0p6:rootfs@mmcblk0p7:rootfs_data@mmcblk0p8:misc@mmcblk0p9:private@mmcblk0p10:UDISK@mmcblk0p1 cma=32M rootdelay=5 fb_base=0x83f00000 androidboot.serialno=0000000000000000000 boot_type=1
[ 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: 64MB = 64MB total
[ 0.000000] Memory: 25624k/25624k available, 39912k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc04fdf84 (5080 kB)
[ 0.000000] .init : 0xc04fe000 - 0xc051d5e4 ( 126 kB)
[ 0.000000] .data : 0xc051e000 - 0xc0609588 ( 942 kB)
[ 0.000000] .bss : 0xc0609588 - 0xc0637b30 ( 186 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005320] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075248] pid_max: default: 32768 minimum: 301
[ 0.080430] Mount-cache hash table entries: 512
[ 0.086404] CPU: Testing write buffer coherency: ok
[ 0.092181] Setting up static identity map for 0xc03da8f0 - 0xc03da948
[ 0.101462] devtmpfs: initialized
[ 0.107298] pinctrl core: initialized pinctrl subsystem
[ 0.119723] NET: Registered protocol family 16
[ 0.127816] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.135540] dump_class_init,844, success
[ 0.144672] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.170258] bio: create slab <bio-0> at 0
[ 0.175759] pwm module init!
[ 0.180446] SCSI subsystem initialized
[ 0.184924] usbcore: registered new interface driver usbfs
[ 0.190706] usbcore: registered new interface driver hub
[ 0.196623] usbcore: registered new device driver usb
[ 0.204264] gpio=0,mul_sel=0,pull=0,drv_level=0,data=0
[ 0.209907] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.218474] pcf857x 0-0020: retry commucation.7
[ 0.223472] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.231962] pcf857x 0-0020: retry commucation.6
[ 0.236954] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.245479] pcf857x 0-0020: retry commucation.5
[ 0.250431] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.258951] pcf857x 0-0020: retry commucation.4
[ 0.263928] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.272447] pcf857x 0-0020: retry commucation.3
[ 0.277402] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.285923] pcf857x 0-0020: retry commucation.2
[ 0.290876] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.299397] pcf857x 0-0020: retry commucation.1
[ 0.304372] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.312919] pcf857x: probe of 0-0020 failed with error -70
[ 0.322602] Linux video capture interface: v2.00
[ 0.327990] Advanced Linux Sound Architecture Driver Initialized.
[ 0.335951] cfg80211: Calling CRDA to update world regulatory domain
[ 0.344845] Switching to clocksource sun3i high-res couter
[ 0.370442] get det_vbus is fail, 84
[ 0.375946] NET: Registered protocol family 2
[ 0.382641] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.389751] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.396417] TCP: Hash tables configured (established 512 bind 512)
[ 0.402975] TCP: reno registered
[ 0.406371] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.412475] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.419577] NET: Registered protocol family 1
[ 0.440846] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.447417] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.454032] msgmni has been set to 114
[ 0.461317] io scheduler noop registered
[ 0.465494] io scheduler cfq registered (default)
[ 0.470361] [pm]aw_pm_init!
[ 0.473731] [pm]valid
[ 0.476143] [pm]valid
[ 0.478874] [DISP]disp_module_init
[ 0.540654] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.548064] num_screens=1
[ 0.550922] screen_id=0
[ 0.553501] para->mclk[MOD_CLK_LCD1CH0]=0xc180c340
[ 0.558450] para->mclk[MOD_CLK_LCD1CH1]=0xc180c440
[ 0.563447] disp tv init
[ 0.566117] tcon_clk=0xc180c340, tcon_clk_parent=0x0
[ 0.571284] tcon_clk=0xc180c340, tcon_clk_parent=0xc1804400
[ 0.577041] tve_clk=0xc180c440, tve_clk_parent=0xc1804400
[ 0.582636] disp al tv init
[ 0.588270] fetch script datadisp.screen2_output_type fail
[ 0.594362] fetch script datadisp.screen2_output_mode fail
[ 0.602700] fetch script datadisp.fb2_format fail
[ 0.607868] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.614168] fetch script datadisp.fb2_width fail
[ 0.619255] fetch script datadisp.fb2_height fail
[ 0.659240] [DISP]disp_module_init finish
[ 0.677954] uart1: ttyS1 at MMIO 0x1c25400 (irq = 104) is a SUNXI
[ 0.684392] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n
[ 0.692613] console [ttyS1] enabled, bootconsole disabled
[ 0.692613] console [ttyS1] enabled, bootconsole disabled
[ 0.705258] misc dump reg init
[ 0.710062] sunxi-wlan wlan: wlan_busnum (0)
[ 0.714947] sunxi-wlan wlan: wlan_power_num (0)
[ 0.719991] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 0.725852] sunxi-wlan wlan: io_regulator_name ((null))
[ 0.731731] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 0.739547] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 0.747537] sunxi-wlan wlan: wlan_regon gpio=-1048151744 mul-sel=-1048355436 pull=-1048355480 drv_level=-1072827436 data=-1072829732
[ 0.761193] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 0.767799] platform wlan: Driver sunxi-wlan requests probe deferral
[ 0.775244] lradc_battery_probe:lradc_battery_probe ++++++
[ 0.781422] lradc_battery_dts_parse:lradc_battery_dts_parse ++++++
[ 0.788318] key base: f1c23400
[ 0.791895] irq num: 115 !
[ 0.794904] battery_data_hw_init:battery_data_hw_init ++++++
[ 0.801291] lradc_battery_probe:lradc_battery_probe ------
[ 0.808996] usbcore: registered new interface driver rndis_wlan
[ 0.815836] usbcore: registered new interface driver asix
[ 0.822043] usbcore: registered new interface driver qf9700
[ 0.828326] usbcore: registered new interface driver ax88179_178a
[ 0.835259] usbcore: registered new interface driver cdc_ether
[ 0.841894] usbcore: registered new interface driver net1080
[ 0.848263] usbcore: registered new interface driver rndis_host
[ 0.854995] usbcore: registered new interface driver cdc_subset
[ 0.861724] usbcore: registered new interface driver zaurus
[ 0.868149] usbcore: registered new interface driver cdc_ncm
[ 0.874508] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.882347] usbcore: registered new interface driver usb-storage
[ 0.889097] usbcore: registered new interface driver ums-alauda
[ 0.895843] usbcore: registered new interface driver ums-cypress
[ 0.902668] usbcore: registered new interface driver ums-datafab
[ 0.909415] usbcore: registered new interface driver ums_eneub6250
[ 0.916421] usbcore: registered new interface driver ums-freecom
[ 0.923235] usbcore: registered new interface driver ums-isd200
[ 0.929887] usbcore: registered new interface driver ums-jumpshot
[ 0.936824] usbcore: registered new interface driver ums-karma
[ 0.943459] usbcore: registered new interface driver ums-onetouch
[ 0.950344] usbcore: registered new interface driver ums-realtek
[ 0.957195] usbcore: registered new interface driver ums-sddr09
[ 0.963932] usbcore: registered new interface driver ums-sddr55
[ 0.970654] usbcore: registered new interface driver ums-usbat
[ 0.977419] usbcore: registered new interface driver usbserial
[ 0.984078] usbcore: registered new interface driver usbserial_generic
[ 0.991472] usbserial: USB Serial support registered for generic
[ 0.999034] gpio_request failed
[ 1.002651] get regulator_io is no nocare
[ 1.007256] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver
[ 1.015281] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1
[ 1.027060] hub 1-0:1.0: USB hub found
[ 1.031399] hub 1-0:1.0: 1 port detected
[ 1.036243] wrn: hcd is not enable, need not stop hcd
[ 1.042703] sunxi_keyboard_startup: keyboard has no clk.
[ 1.049185] input: sunxi-keyboard as /devices/virtual/input/input0
[ 1.057438] rtc-pcf8563 0-0051: chip found, driver version 0.4.3
[ 1.064629] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 1.073889] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 1.081135] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 1.088684] i2c /dev entries driver
[ 1.093128] Welcome to tv decoder driver
[ 1.097734] __tvd_probe_init:
[ 1.101240] pdev->id = 0
[ 1.104053] __jude_config: sel = 0.
[ 1.108226] __tvd_probe_init: v4l2 subdev register.
[ 1.114200] V4L2 tvd device registered as video4
[ 1.119572] tvd_init end
[ 1.122484] sunxi cedar version 0.1
[ 1.126605] VE: install start!!!
[ 1.126605]
[ 1.132220] cedar_ve: cedar-ve the get irq is 103
[ 1.138099] VE: install end!!!
[ 1.138099]
[ 1.144820] mmc init ........................
[ 1.149692] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Apr 20 2021 at 05:55:14
[ 1.161942] sunxi_mmc_probe 2071 ____________________
[ 1.167590] sunxi_mmc_probe 2078 ____________________
[ 1.173248] sunxi_mmc_probe 2083 ____________________
[ 1.179023] sunxi-mmc sdc0: Can't get vmmc regulator string
[ 1.185290] sunxi-mmc sdc0: Can't get vqmmc regulator string
[ 1.191621] sunxi-mmc sdc0: Can't get vdmmc regulator string
[ 1.197906] sunxi-mmc sdc0: Failed getting OCR mask: 0
[ 1.204085] sunxi_mmc_probe 2088 ____________________
[ 1.210681] sunxi_mmc_probe 2094 ____________________
[ 1.216296] sunxi_mmc_probe 2101 ____________________
[ 1.221949] sunxi_mmc_probe 2120 ____________________
[ 1.227567] sunxi-mmc sdc0: ***set host ocr***
[ 1.232563] sunxi_mmc_probe 2128 ____________________
[ 1.238163] sunxi_mmc_probe 2132 ____________________
[ 1.243887] sunxi_mmc_probe 2134 ____________________
[ 1.249489] sunxi_mmc_probe 2142 ____________________
[ 1.255128] sunxi_mmc_probe 2144 ____________________
[ 1.260757] sunxi_mmc_probe 2159 ____________________
[ 1.266711] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.271875] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.282155] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.287178] sunxi_mmc_set_ios 973 ++++++++++++_
[ 1.292237] sunxi_mmc_set_ios 978 ++++++++++++_
[ 1.297260] sunxi_mmc_set_ios 980 ++++++++++++_
[ 1.302315] sunxi_mmc_set_ios 1011 ++++++++++++_
[ 1.307446] sunxi_mmc_set_ios 1018 ++++++++++++_
[ 1.312627] sunxi-mmc sdc0: REG_FTRGL 20070010
[ 1.317570] sunxi-mmc sdc0: power on!
[ 1.321689] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 1.340633] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.345685] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.356442] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.361512] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 1.380667] sunxi_mmc_probe 2164 ____________________
[ 1.386368] sunxi-mmc sdc0: cmd 52(80000174) arg c00 ie 0x0000bbc6 len 0
[ 1.393969] sunxi_mmc_probe 2171 ____________________
[ 1.399608] sunxi-mmc sdc0: irq: rq c1897dec mi 00000104 idi 00000000
[ 1.406772] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.412747] sunxi-mmc sdc0: base:0xf1c0f000 irq:106
[ 1.418205] sunxi-mmc sdc0: cmd 52(80000174) arg 80000c08 ie 0x0000bbc6 len 0
[ 1.426695] mmc init ........................
[ 1.431660] sunxi-mmc sdc0: irq: rq c1897dec mi 00000104 idi 00000000
[ 1.438826] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.444818] sunxi-mmc sdc1: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Apr 20 2021 at 05:55:14
[ 1.457011] sunxi_mmc_probe 2071 ____________________
[ 1.462681] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.467732] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.478489] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.483562] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 1.488884] sunxi_mmc_probe 2078 ____________________
[ 1.494554] sunxi_mmc_probe 2083 ____________________
[ 1.500338] sunxi-mmc sdc1: Can't get vmmc regulator string
[ 1.506607] sunxi-mmc sdc1: Can't get vqmmc regulator string
[ 1.512942] sunxi-mmc sdc1: Can't get vdmmc regulator string
[ 1.519229] sunxi-mmc sdc1: Failed getting OCR mask: 0
[ 1.525450] sunxi_mmc_probe 2088 ____________________
[ 1.531952] sunxi_mmc_probe 2094 ____________________
[ 1.537569] sunxi_mmc_probe 2101 ____________________
[ 1.543276] sunxi_mmc_probe 2120 ____________________
[ 1.548897] sunxi-mmc sdc1: ***set host ocr***
[ 1.553880] sunxi_mmc_probe 2128 ____________________
[ 1.559481] sunxi_mmc_probe 2132 ____________________
[ 1.565203] sunxi_mmc_probe 2134 ____________________
[ 1.570846] sunxi_mmc_probe 2142 ____________________
[ 1.576445] sunxi_mmc_probe 2144 ____________________
[ 1.582074] sunxi_mmc_probe 2159 ____________________
[ 1.588832] sunxi-mmc sdc0: cmd 0(80008000) arg 0 ie 0x0000bbc6 len 0
[ 1.596337] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.601487] sunxi-mmc sdc0: irq: rq c1897e1c mi 00000004 idi 00000000
[ 1.608695] sunxi-mmc sdc1: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.618975] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.624035] sunxi_mmc_set_ios 973 ++++++++++++_
[ 1.629055] sunxi_mmc_set_ios 978 ++++++++++++_
[ 1.634104] sunxi_mmc_set_ios 980 ++++++++++++_
[ 1.639126] sunxi_mmc_set_ios 1011 ++++++++++++_
[ 1.644287] sunxi_mmc_set_ios 1018 ++++++++++++_
[ 1.649431] sunxi-mmc sdc1: REG_FTRGL 20070010
[ 1.654413] sunxi-mmc sdc1: power on!
[ 1.658484] sunxi-mmc sdc1: REG_WIDTH: 0x00000000
[ 1.664771] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.669816] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.680586] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.685622] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 1.690922] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.695971] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.706724] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.711800] sunxi-mmc sdc1: REG_WIDTH: 0x00000000
[ 1.718151] sunxi-mmc sdc0: cmd 8(80000148) arg 1aa ie 0x0000bbc6 len 0
[ 1.725897] sunxi-mmc sdc0: irq: rq c1897e24 mi 00000004 idi 00000000
[ 1.733161] sunxi-mmc sdc0: cmd 5(80000045) arg 0 ie 0x0000bbc6 len 0
[ 1.740642] sunxi_mmc_probe 2164 ____________________
[ 1.746282] sunxi-mmc sdc0: irq: rq c1897dd4 mi 00000104 idi 00000000
[ 1.753447] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.759403] sunxi-mmc sdc0: cmd 5(80000045) arg 0 ie 0x0000bbc6 len 0
[ 1.766707] sunxi_mmc_probe 2171 ____________________
[ 1.772388] sunxi-mmc sdc0: irq: rq c1897dd4 mi 00000104 idi 00000000
[ 1.779550] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.785430] sunxi-mmc sdc1: base:0xf1c10000 irq:107
[ 1.790928] sunxi-mmc sdc0: cmd 5(80000045) arg 0 ie 0x0000bbc6 len 0
[ 1.798906] sunxi-mmc sdc0: irq: rq c1897dd4 mi 00000104 idi 00000000
[ 1.806071] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.812020] sunxi-mmc sdc0: cmd 5(80000045) arg 0 ie 0x0000bbc6 len 0
[ 1.820004] sunxi-mmc sdc0: irq: rq c1897dd4 mi 00000100 idi 00000000
[ 1.827283] sunxi-mmc sdc0: irq: rq c1897dd4 mi 00000004 idi 00000000
[ 1.834448] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.840402] sunxi-mmc sdc0: cmd 55(80000177) arg 0 ie 0x0000bbc6 len 0
[ 1.848054] sunxi-mmc sdc0: irq: rq c1897d54 mi 00000004 idi 00000000
[ 1.859978] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTR
[ 1.868047] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTL
[ 1.876033] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKL
[ 1.883806] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKR
[ 1.891573] sunxi-codec-machine sound.2: ASoC: DAPM unknown pin External Speaker
[ 1.899884] sunxi-mmc sdc0: cmd 41(80000069) arg 0 ie 0x0000bbc6 len 0
[ 1.907534] sunxi-mmc sdc0: irq: rq c1897dec mi 00000004 idi 00000000
[ 1.914819] sunxi_mmc_set_ios 955 ++++++++++++_
[ 1.919871] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
[ 1.930635] sunxi_mmc_set_ios 965 ++++++++++++_
[ 1.935671] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 1.948692] sunxi-codec-machine sound.2: sun8iw10codec <-> 1c23c00.cpudai0-controller mapping ok
[ 1.958753] sunxi-codec-machine sound.2: ASoC: no sink widget found for MainMic Bias
[ 1.967433] sunxi-codec-machine sound.2: ASoC: Failed to add route External MainMic -> direct -> MainMic Bias
[ 1.978486] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.987319] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1P
[ 1.997301] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 2.006132] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1N
[ 2.016237] sunxi_mmc_set_ios 955 ++++++++++++_
[ 2.021360] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
[ 2.032114] sunxi_mmc_set_ios 965 ++++++++++++_
[ 2.037151] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 2.043531] sunxi-mmc sdc0: cmd 0(80008000) arg 0 ie 0x0000bbc6 len 0
[ 2.051140] sunxi-mmc sdc0: irq: rq c1897d8c mi 00000004 idi 00000000
[ 2.059353] sunxi_mmc_set_ios 955 ++++++++++++_
[ 2.064485] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
[ 2.075238] sunxi_mmc_set_ios 965 ++++++++++++_
[ 2.080272] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 2.087899] ipip: IPv4 over IPv4 tunneling driver
[ 2.094443] gre: GRE over IPv4 demultiplexor driver
[ 2.099872] ip_gre: GRE over IPv4 tunneling driver
[ 2.107689] TCP: cubic registered
[ 2.111502] Initializing XFRM netlink socket
[ 2.117412] sunxi-mmc sdc0: cmd 8(80000148) arg 1aa ie 0x0000bbc6 len 0
[ 2.124909] NET: Registered protocol family 17
[ 2.129879] sunxi-mmc sdc0: irq: rq c1897d94 mi 00000004 idi 00000000
[ 2.137148] sunxi-mmc sdc0: cmd 55(80000177) arg 0 ie 0x0000bbc6 len 0
[ 2.144565] NET: Registered protocol family 15
[ 2.149527] sunxi-mmc sdc0: irq: rq c1897ce4 mi 00000004 idi 00000000
[ 2.157389] VFP support v0.3: not present
[ 2.162027] sunxi-mmc sdc0: cmd 41(80000069) arg 40030000 ie 0x0000bbc6 len 0
[ 2.170289] sunxi-mmc sdc0: irq: rq c1897d7c mi 00000004 idi 00000000
[ 2.178464] [LCD]lcd_module_init
[ 2.186089] enhance_en=1
[ 2.188966] matrixresult:(0x0, 0x3c4, 0x0, 0x0)
[ 2.194244] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 2.201507] clk_div=9
[ 2.204047] [DISP] disp_sys_gpio_request,line:303: disp_sys_gpio_request failed, gpio_name=lcd_gpio_0, gpio=2043, ret=-517
[ 2.217084] sunxi-mmc sdc0: cmd 55(80000177) arg 0 ie 0x0000bbc6 len 0
[ 2.224747] sunxi-mmc sdc0: irq: rq c1897ce4 mi 00000004 idi 00000000
[ 2.232876] [LCD]open, step 0 finish
[ 2.236925] sunxi-mmc sdc0: cmd 41(80000069) arg 40030000 ie 0x0000bbc6 len 0
[ 2.245261] sunxi-mmc sdc0: irq: rq c1897d7c mi 00000004 idi 00000000
[ 2.252506] sunxi-mmc sdc0: cmd 2(800001c2) arg 0 ie 0x0000bbc6 len 0
[ 2.260196] sunxi-mmc sdc0: irq: rq c1897d94 mi 00000004 idi 00000000
[ 2.267428] sunxi-mmc sdc0: cmd 3(80000143) arg 0 ie 0x0000bbc6 len 0
[ 2.274664] [LCD]open, step 1 finish
[ 2.278661] sunxi-mmc sdc0: irq: rq c1897dbc mi 00000004 idi 00000000
[ 2.285913] sunxi-mmc sdc0: cmd 9(800001c9) arg 10000 ie 0x0000bbc6 len 0
[ 2.294114] sunxi-mmc sdc0: irq: rq c1897d6c mi 00000004 idi 00000000
[ 2.301352] sunxi-mmc sdc0: cmd 7(80000147) arg 10000 ie 0x0000bbc6 len 0
[ 2.309279] sunxi-mmc sdc0: irq: rq c1897dac mi 00000004 idi 00000000
[ 2.316502] sunxi-mmc sdc0: cmd 55(80000177) arg 10000 ie 0x0000bbc6 len 0
[ 2.324580] sunxi-mmc sdc0: irq: rq c1897c6c mi 00000004 idi 00000000
[ 2.331818] sunxi-mmc sdc0: cmd 51(80002373) arg 0 ie 0x0000bbca len 8
[ 2.339972] sunxi-mmc sdc0: irq: rq c1897d10 mi 00000008 idi 00000002
[ 2.347227] [LCD]open, step 2 finish
[ 2.351325] sunxi-mmc sdc0: cmd 55(80000177) arg 10000 ie 0x0000bbc6 len 0
[ 2.359354] sunxi-mmc sdc0: irq: rq c1897c6c mi 00000004 idi 00000000
[ 2.366655] sunxi-mmc sdc0: cmd 13(8000234d) arg 0 ie 0x0000bbca len 64
[ 2.376066] sunxi-mmc sdc0: irq: rq c1897d10 mi 00000000 idi 00000002
[ 2.383260] sunxi-mmc sdc0: irq: rq c1897d10 mi 00000008 idi 00000000
[ 2.390723] sunxi-mmc sdc0: cmd 6(80002346) arg fffff0 ie 0x0000bbca len 64
[ 2.400524] sunxi-mmc sdc0: irq: rq c1897d10 mi 00000000 idi 00000002
[ 2.407712] sunxi-mmc sdc0: irq: rq c1897d10 mi 00000008 idi 00000000
[ 2.414976] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 2.424078] sunxi-mmc sdc0: cmd 6(80002346) arg 80fffff1 ie 0x0000bbca len 64
[ 2.434106] sunxi-mmc sdc0: irq: rq c1897d78 mi 00000000 idi 00000002
[ 2.441300] sunxi-mmc sdc0: irq: rq c1897d78 mi 00000008 idi 00000000
[ 2.448558] sunxi_mmc_set_ios 955 ++++++++++++_
[ 2.453681] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing SD-HS(SDR25) dt B
[ 2.464349] sunxi_mmc_set_ios 965 ++++++++++++_
[ 2.469418] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 2.474952] sun3iw1p1-pinctrl pio: missing allwinner,pins property in node pwm1
[ 2.483204] platform pwm1.1: pinctrl_get failed!
[ 2.488483] sunxi_mmc_set_ios 955 ++++++++++++_
[ 2.493644] sunxi-mmc sdc0: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 1 timing SD-HS(SDR25) dt B
[ 2.504539] sunxi_mmc_set_ios 965 ++++++++++++_
[ 2.509582] sunxi-mmc sdc0: REG_WIDTH: 0x00000000
[ 2.514913] ------------[ cut here ]------------
[ 2.520111] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 2.527897] invalid GPIO -517
[ 2.531223] Modules linked in:
[ 2.534656] CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 3.10.65 #40
[ 2.541682] Workqueue: events start_work
[ 2.546037] Backtrace:
[ 2.548811] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 2.558253] r7:0000007e r6:c04a7758 r5:00000009 r4:c185bda8
[ 2.564673] [<c001351c>] (show_stack+0x0/0x1c) from [<c03d6f70>] (dump_stack+0x20/0x28)
[ 2.573686] [<c03d6f50>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.583633] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.594195] r9:c061b718 r8:c04a864c r7:00000001 r6:00000000 r5:c18c8780
r4:fffffdfb
[ 2.603022] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c018bc20>] (gpio_to_desc+0x28/0x4c)
[ 2.612807] r3:fffffdfb r2:c04a7747
[ 2.616856] [<c018bbf8>] (gpio_to_desc+0x0/0x4c) from [<c018bc90>] (gpio_get_value_cansleep+0x10/0x18)
[ 2.627276] [<c018bc80>] (gpio_get_value_cansleep+0x0/0x18) from [<c019c78c>] (disp_sys_gpio_set_direction+0x20/0xb8)
[ 2.639169] [<c019c76c>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c01b2cc0>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 2.651396] r5:c18c8780 r4:c1814000
[ 2.655416] [<c01b2c18>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c01ae6bc>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 2.668011] r7:c1814000 r6:c061b4a0 r5:00000001 r4:00000000
[ 2.674399] [<c01ae684>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c01b91d8>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 2.687095] r5:00000000 r4:00000003
[ 2.691164] [<c01b91b8>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c01bc924>] (LCD_bl_open+0x28/0x3c)
[ 2.701986] [<c01bc8fc>] (LCD_bl_open+0x0/0x3c) from [<c0196340>] (drv_lcd_enable+0xa0/0xe0)
[ 2.711418] [<c01962a0>] (drv_lcd_enable+0x0/0xe0) from [<c019648c>] (start_work+0x10c/0x1cc)
[ 2.720933] r9:c061b718 r8:c04a8669 r7:00000001 r6:c04a85f9 r5:c061b98c
r4:00000000
[ 2.729683] [<c0196380>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.739513] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.750379] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.761045] r5:c052abd0 r4:c1822e40
[ 2.765061] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.774148] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.783071] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.789392] ---[ end trace 8ca1c064165ef5f6 ]---
[ 2.794556] ------------[ cut here ]------------
[ 2.799702] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 2.807483] invalid GPIO -517
[ 2.810809] Modules linked in:
[ 2.814212] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #40
[ 2.822306] Workqueue: events start_work
[ 2.826659] Backtrace:
[ 2.829426] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 2.838864] r7:0000007e r6:c04a7758 r5:00000009 r4:c185bda0
[ 2.845268] [<c001351c>] (show_stack+0x0/0x1c) from [<c03d6f70>] (dump_stack+0x20/0x28)
[ 2.854273] [<c03d6f50>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.864206] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.874781] r9:c061b718 r8:c04a864c r7:00000001 r6:00000000 r5:c18c8780
r4:00000000
[ 2.883583] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c018bc20>] (gpio_to_desc+0x28/0x4c)
[ 2.893388] r3:fffffdfb r2:c04a7747
[ 2.897394] [<c018bbf8>] (gpio_to_desc+0x0/0x4c) from [<c018c860>] (gpio_direction_output+0x14/0x20)
[ 2.907627] [<c018c84c>] (gpio_direction_output+0x0/0x20) from [<c019c798>] (disp_sys_gpio_set_direction+0x2c/0xb8)
[ 2.919256] r5:c18c8780 r4:fffffdfb
[ 2.923333] [<c019c76c>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c01b2cc0>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 2.935563] r5:c18c8780 r4:c1814000
[ 2.939580] [<c01b2c18>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c01ae6bc>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 2.952189] r7:c1814000 r6:c061b4a0 r5:00000001 r4:00000000
[ 2.958530] [<c01ae684>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c01b91d8>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 2.971234] r5:00000000 r4:00000003
[ 2.975253] [<c01b91b8>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c01bc924>] (LCD_bl_open+0x28/0x3c)
[ 2.986071] [<c01bc8fc>] (LCD_bl_open+0x0/0x3c) from [<c0196340>] (drv_lcd_enable+0xa0/0xe0)
[ 2.995508] [<c01962a0>] (drv_lcd_enable+0x0/0xe0) from [<c019648c>] (start_work+0x10c/0x1cc)
[ 3.005021] r9:c061b718 r8:c04a8669 r7:00000001 r6:c04a85f9 r5:c061b98c
r4:00000000
[ 3.013818] [<c0196380>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 3.023654] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 3.034522] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 3.045194] r5:c052abd0 r4:c1822e40
[ 3.049207] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 3.058300] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 3.067226] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 3.073605] ---[ end trace 8ca1c064165ef5f7 ]---
[ 3.078726] gpiod_direction_output: invalid GPIO
[ 3.083886] [DISP] disp_sys_gpio_set_direction,line:413: gpio_direction_output fail!
[ 3.092834] ------------[ cut here ]------------
[ 3.097985] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 3.105769] invalid GPIO -517
[ 3.109056] Modules linked in:
[ 3.112499] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #40
[ 3.120604] Workqueue: events start_work
[ 3.124957] Backtrace:
[ 3.127723] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 3.137164] r7:0000007e r6:c04a7758 r5:00000009 r4:c185bda8
[ 3.143565] [<c001351c>] (show_stack+0x0/0x1c) from [<c03d6f70>] (dump_stack+0x20/0x28)
[ 3.152547] [<c03d6f50>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 3.162495] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 3.173074] r9:c061b718 r8:c04a864c r7:00000001 r6:00000000 r5:c18c8780
r4:00000001
[ 3.181876] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c018bc20>] (gpio_to_desc+0x28/0x4c)
[ 3.191679] r3:fffffdfb r2:c04a7747
[ 3.195690] [<c018bbf8>] (gpio_to_desc+0x0/0x4c) from [<c018c44c>] (gpio_set_value_cansleep+0x14/0x20)
[ 3.206116] [<c018c438>] (gpio_set_value_cansleep+0x0/0x20) from [<c019c888>] (disp_sys_gpio_set_value+0x18/0x4c)
[ 3.217542] r5:c18c8780 r4:c1814000
[ 3.221642] [<c019c870>] (disp_sys_gpio_set_value+0x0/0x4c) from [<c01b2bf8>] (disp_lcd_gpio_set_value+0xa8/0xc8)
[ 3.233110] [<c01b2b50>] (disp_lcd_gpio_set_value+0x0/0xc8) from [<c01ae678>] (bsp_disp_lcd_gpio_set_value+0x38/0x44)
[ 3.244937] r7:c1814000 r6:c061b4a0 r5:00000001 r4:00000000
[ 3.251325] [<c01ae640>] (bsp_disp_lcd_gpio_set_value+0x0/0x44) from [<c01b91a8>] (sunxi_lcd_gpio_set_value+0x20/0x30)
[ 3.263251] r5:00000000 r4:00000003
[ 3.267269] [<c01b9188>] (sunxi_lcd_gpio_set_value+0x0/0x30) from [<c01bc934>] (LCD_bl_open+0x38/0x3c)
[ 3.277697] [<c01bc8fc>] (LCD_bl_open+0x0/0x3c) from [<c0196340>] (drv_lcd_enable+0xa0/0xe0)
[ 3.287134] [<c01962a0>] (drv_lcd_enable+0x0/0xe0) from [<c019648c>] (start_work+0x10c/0x1cc)
[ 3.296644] r9:c061b718 r8:c04a8669 r7:00000001 r6:c04a85f9 r5:c061b98c
r4:00000000
[ 3.305464] [<c0196380>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 3.315281] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 3.326163] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 3.336810] r5:c052abd0 r4:c1822e40
[ 3.340894] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 3.349903] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 3.358846] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 3.365187] ---[ end trace 8ca1c064165ef5f8 ]---
[ 3.370309] [LCD]open, step 3 finish
[ 3.374513] sunxi-mmc sdc0: cmd 55(80000177) arg 10000 ie 0x0000bbc6 len 0
[ 3.382286] sunxi-mmc sdc0: irq: rq c1897d14 mi 00000004 idi 00000000
[ 3.389554] sunxi-mmc sdc0: cmd 6(80000146) arg 2 ie 0x0000bbc6 len 0
[ 3.396797] sunxi-mmc sdc0: irq: rq c1897dac mi 00000004 idi 00000000
[ 3.404018] sunxi_mmc_set_ios 955 ++++++++++++_
[ 3.409096] sunxi-mmc sdc0: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 4 timing SD-HS(SDR25) dt B
[ 3.419948] sunxi_mmc_set_ios 965 ++++++++++++_
[ 3.425046] sunxi-mmc sdc0: REG_WIDTH: 0x00000001
[ 3.430397] mmc0: new high speed SD card at address 0001
[ 3.437500] mmcblk0: mmc0:0001 00000 1.83 GiB
[ 3.444091] sunxi-mmc sdc0: cmd 18(80003352) arg 0 ie 0x0000fbc2 len 4096
[ 3.452342] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 3.459834] mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 >
[ 3.468188] [LCD]lcd_module_init finish
[ 3.472589] tv module init
[ 3.477015] tv probe
[ 3.479463] tv init
[ 3.481928] gdisp.init_para.start_process
[ 3.488100] sunxi_mmc_set_ios 955 ++++++++++++_
[ 3.493366] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 3.504147] sunxi_mmc_set_ios 965 ++++++++++++_
[ 3.509224] sunxi-mmc sdc1: REG_WIDTH: 0x00000000
[ 3.515403] sunxi-wlan wlan: wlan_busnum (0)
[ 3.520175] sunxi-wlan wlan: wlan_power_num (0)
[ 3.525377] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 3.531260] sunxi-wlan wlan: io_regulator_name ((null))
[ 3.538259] sunxi-mmc sdc1: cmd 0(80008000) arg 0 ie 0x0000bbc6 len 0
[ 3.545637] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 3.553563] sunxi-mmc sdc1: irq: rq c1897e1c mi 00000004 idi 00000000
[ 3.560815] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 3.568769] sunxi-wlan wlan: wlan_regon gpio=-1048151744 mul-sel=-1048257132 pull=-1048257176 drv_level=-1072827436 data=-1072829732
[ 3.582467] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 3.590091] sunxi_mmc_set_ios 955 ++++++++++++_
[ 3.595247] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 3.606010] sunxi_mmc_set_ios 965 ++++++++++++_
[ 3.611107] sunxi-mmc sdc1: REG_WIDTH: 0x00000000
[ 3.616420] platform wlan: Driver sunxi-wlan requests probe deferral
[ 3.623883] usb_serial_number:20080411
[ 3.628683] file system registered
[ 3.635355] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 3.643181] android_usb gadget: Number of LUNs=3
[ 3.648321] lun0: LUN: removable file: (no medium)
[ 3.653797] lun1: LUN: removable file: (no medium)
[ 3.659243] lun2: LUN: removable file: (no medium)
[ 3.665912] sunxi_mmc_set_ios 955 ++++++++++++_
[ 3.671072] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 3.681873] sunxi_mmc_set_ios 965 ++++++++++++_
[ 3.686910] sunxi-mmc sdc1: REG_WIDTH: 0x00000000
[ 3.693050] android_usb gadget: android_usb ready
[ 3.698745] sunxi-mmc sdc1: cmd 1(80000041) arg 0 ie 0x0000bbc6 len 0
[ 3.706052] sunxi_i2c_do_xfer()923 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 3.715315] sunxi-mmc sdc1: irq: rq c1897dfc mi 00000104 idi 00000000
[ 3.722479] sunxi-mmc sdc1: smc 1 p1 err, cmd 1, RTO !!
[ 3.728403] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 3.735136] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 3.742878] sunxi_mmc_set_ios 955 ++++++++++++_
[ 3.747930] sunxi-mmc sdc1: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 3.758223] sunxi_mmc_set_ios 965 ++++++++++++_
[ 3.763316] sunxi_mmc_set_ios 1046 ++++++++++++_
[ 3.768480] sunxi-mmc sdc1: set sleep pins
[ 3.773220] sunxi_mmc_set_ios 1066 ++++++++++++_
[ 3.778379] sunxi_mmc_set_ios 1073 ++++++++++++_
[ 3.783546] sunxi_mmc_set_ios 1083 ++++++++++++_
[ 3.788662] sunxi_mmc_set_ios 1091 ++++++++++++_
[ 3.793846] sunxi-mmc sdc1: power off!
[ 3.798005] sunxi_mmc_set_ios 1093 ++++++++++++_
[ 3.803171] sunxi-mmc sdc1: REG_WIDTH: 0x00000000
[ 3.808662] ALSA device list:
[ 3.812102] #0: audiocodec
[ 3.816065] Waiting 5sec before mounting root device...
[ 8.831408] sunxi-mmc sdc0: cmd 18(80003352) arg 1ec0400 ie 0x0000fbc2 len 1024
[ 8.840608] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.849130] sunxi-mmc sdc0: cmd 18(80003352) arg 1ec0400 ie 0x0000fbc2 len 1024
[ 8.858345] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.866477] sunxi-mmc sdc0: cmd 18(80003352) arg 1ec0400 ie 0x0000fbc2 len 1024
[ 8.875687] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.883836] sunxi-mmc sdc0: cmd 18(80003352) arg 1ec0000 ie 0x0000fbc2 len 4096
[ 8.893168] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.901293] sunxi-mmc sdc0: cmd 18(80003352) arg 242f000 ie 0x0000fbc2 len 4096
[ 8.910551] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.918609] sunxi-mmc sdc0: cmd 18(80003352) arg 242e000 ie 0x0000fbc2 len 4096
[ 8.927778] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.935602] sunxi-mmc sdc0: cmd 18(80003352) arg 242d000 ie 0x0000fbc2 len 4096
[ 8.944576] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.952220] VFS: Mounted root (squashfs filesystem) readonly on device 179:7.
[ 8.961581] sunxi-mmc sdc0: cmd 18(80003352) arg 242b000 ie 0x0000fbc2 len 4096
[ 8.970883] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 8.979262] devtmpfs: mounted
[ 8.983745] Freeing unused kernel memory: 124K (c04fe000 - c051d000)
[ 8.992228] sunxi-mmc sdc0: cmd 18(80003352) arg 20e0000 ie 0x0000fbc2 len 106496
[ 9.006739] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.042615] sunxi-mmc sdc0: cmd 18(80003352) arg 1ec1000 ie 0x0000fbc2 len 143360
[ 9.058659] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.101639] sunxi-mmc sdc0: cmd 18(80003352) arg 1f13000 ie 0x0000fbc2 len 139264
[ 9.117788] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.159801] sunxi-mmc sdc0: cmd 18(80003352) arg 1ee4000 ie 0x0000fbc2 len 118784
[ 9.174588] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.211964] sunxi-mmc sdc0: cmd 18(80003352) arg 1f35000 ie 0x0000fbc2 len 102400
[ 9.226052] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.263542] sunxi-mmc sdc0: cmd 18(80003352) arg 1fc3000 ie 0x0000fbc2 len 86016
[ 9.277306] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.358632] sunxi-mmc sdc0: cmd 18(80003352) arg 242c000 ie 0x0000fbc2 len 4096
[ 9.367474] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
mount: mounting pstore on /sys/fs/pstore failed: No such file or directory
[ 9.542070] sunxi-mmc sdc0: cmd 18(80003352) arg 37c0400 ie 0x0000fbc2 len 1024
[ 9.550957] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
mount: mounting /dev/by-name/rootfs_data on /etc failed: Invalid argument
umount: can't unmount /etc: Invalid argument
Mount Failed: formating /dev/by-name/rootfs_data to ext4 ...
/pseudo_init: line 270: mkfs.ext4: not found
[ 9.596545] sunxi-mmc sdc0: cmd 18(80003352) arg 1f4e000 ie 0x0000fbc2 len 184320
[ 9.614687] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 9.686185] sunxi-mmc sdc0: cmd 18(80003352) arg 1f01000 ie 0x0000fbc2 len 73728
[ 9.699024] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
-- run rc.preboot --
-- set volume --
[ 9.750165] sunxi-mmc sdc0: cmd 18(80003352) arg 20fa000 ie 0x0000fbc2 len 102400
[ 9.764815] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
-- play music --
-- end --
[ 9.813778] sunxi-mmc sdc0: cmd 18(80003352) arg 2113000 ie 0x0000fbc2 len 57344
[ 9.826336] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
playing '/etc/kaiji.wav': 2 ch, 48000 hz, 16 bit
[ 10.000319] sunxi-mmc sdc0: cmd 18(80003352) arg 5140400 ie 0x0000fbc2 len 1024
[ 10.009131] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
/etc/init.d/rcS: line 119: mkfs.ext4: not found
[ 10.039484] sunxi-mmc sdc0: cmd 18(80003352) arg 5140400 ie 0x0000fbc2 len 1024
[ 10.048274] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 10.449263] sunxi-mmc sdc0: cmd 17(80002351) arg 5140000 ie 0x0000bbca len 512
[ 10.457926] sunxi-mmc sdc0: irq: rq c196d42c mi 00000008 idi 00000002
[ 10.467244] sunxi-mmc sdc0: cmd 17(80002351) arg 5140200 ie 0x0000bbca len 512
[ 10.475834] sunxi-mmc sdc0: irq: rq c196d42c mi 00000008 idi 00000002
[ 10.484066] FAT-fs (mmcblk0p1): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1)
[ 10.495695] sunxi-mmc sdc0: cmd 17(80002351) arg 5144000 ie 0x0000bbca len 512
[ 10.504285] sunxi-mmc sdc0: irq: rq c196d42c mi 00000008 idi 00000002
[ 10.512712] sunxi-mmc sdc0: cmd 18(80003352) arg 54c4000 ie 0x0000fbc2 len 4096
[ 10.521624] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 10.530373] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 10.636246] sunxi-mmc sdc0: cmd 18(80003352) arg 1fd8000 ie 0x0000fbc2 len 110592
[ 10.650642] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 10.691844] sunxi-mmc sdc0: cmd 18(80003352) arg 206c000 ie 0x0000fbc2 len 65536
[ 10.704046] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 10.736510] sunxi-mmc sdc0: cmd 18(80003352) arg 203b000 ie 0x0000fbc2 len 110592
[ 10.751875] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 10.795283] sunxi-mmc sdc0: cmd 18(80003352) arg 207c000 ie 0x0000fbc2 len 110592
[ 10.809975] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 10.972346] sunxi-mmc sdc0: cmd 18(80003352) arg 1ff3000 ie 0x0000fbc2 len 110592
[ 10.987889] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 11.036984] sunxi-mmc sdc0: cmd 18(80003352) arg 200e000 ie 0x0000fbc2 len 98304
[ 11.051247] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 11.098169] sunxi-mmc sdc0: cmd 18(80003352) arg 2026000 ie 0x0000fbc2 len 86016
[ 11.111964] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 11.165687] sunxi-mmc sdc0: cmd 18(80003352) arg 2056000 ie 0x0000fbc2 len 90112
[ 11.179699] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 11.308939] RTL871X: module init start
[ 11.313311] RTL871X: rtl8723bs v4.4.0_17166.20160322_BTCOEX20151223-654a
[ 11.320853] RTL871X: build time: Apr 12 2021 09:53:43
[ 11.326456] RTL871X: rtl8723bs BT-Coex version = BTCOEX20151223-654a
[ 11.333539] platform_wifi_power_on!
[ 11.347945] Unable to handle kernel NULL pointer dereference at virtual address 00000054
[ 11.357128] pgd = c1b2c000
[ 11.360143] [00000054] *pgd=81b1a831, *pte=00000000, *ppte=00000000
[ 11.367194] Internal error: Oops: 17 [#1] ARM
[ 11.372023] Modules linked in: 8723bs(+) snd_pcm_oss snd_mixer_oss snd_seq_device
[ 11.380364] CPU: 0 PID: 101 Comm: kmodloader Tainted: G W 3.10.65 #40
[ 11.388473] task: c1af22c0 ti: c1b18000 task.ti: c1b18000
[ 11.394496] PC is at dev_driver_string+0xc/0x44
[ 11.399529] LR is at __dev_printk+0x3c/0x6c
[ 11.404175] pc : [<c01e20a8>] lr : [<c01e2238>] psr: 20000013
[ 11.404175] sp : c1b19da8 ip : c1b19db8 fp : c1b19db4
[ 11.416901] r10: 00000016 r9 : 00000000 r8 : 00000000
[ 11.422697] r7 : bf153138 r6 : c06095a0 r5 : c1b19de0 r4 : 00000036
[ 11.429934] r3 : c1b19ddc r2 : c1b19de0 r1 : 00000010 r0 : 00000010
[ 11.437172] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 11.445085] Control: 0005317f Table: 81b2c000 DAC: 00000015
[ 11.451451]
[ 11.451451] PC: 0xc01e2028:
[ 11.456186] 2028 e24b409c e1a05000 e1a06002 e1a00001 e3a02080 e1a01004 e1a07003 ebffffaf
[ 11.465300] 2048 e3500000 e1a03000 e88d00c0 11a02004 03a02000 e1a01005 e3a00000 ebf8ed1d
[ 11.474411] 2068 e24bd01c e89da8f0 e1a0c00d e92d000c e92dd800 e24cb00c e24dd008 e28b3008
[ 11.483521] 2088 e59b2004 e50b3010 ebffffe0 e24bd00c e89da800 e1a0c00d e92dd800 e24cb004
[ 11.492634] 20a8 e5903044 e3530000 0a000001 e5930000 e89da800 e5903040 e3530000 1afffffa
[ 11.501743] 20c8 e59030cc e3530000 1afffff7 e59f0000 e89da800 c04971d0 e1a0c00d e92dd830
[ 11.510854] 20e8 e24cb004 e5913008 e1a05001 e3530000 e2400008 03e04004 0a000006 e12fff33
[ 11.519967] 2108 e3500a01 e1a04000 ba000002 e5951008 e59f0008 ebf9d0a8 e1a00004 e89da830
[ 11.529083]
[ 11.529083] LR: 0xc01e21b8:
[ 11.533817] 21b8 089da830 e5903000 e3530000 089da830 e593303c e5942010 e2833084 e1520003
[ 11.542926] 21d8 189da830 e59f0014 eb07db63 e1a00004 ebfe1a00 e59f0004 eb07db78 e89da830
[ 11.552038] 21f8 c05f4258 e1a0c00d e92dd830 e24cb004 e24dd008 e3510000 e1a05002 1a000004
[ 11.561152] 2218 e1a01000 e59f003c eb07cb85 e24bd014 e89da830 e5d04001 e1a00001 ebffff98
[ 11.570264] 2238 e591202c e2444030 e3520000 05912008 e1a03000 e88d0024 e1a00004 e59f2008
[ 11.579375] 2258 ebffff84 eafffff0 c04adb3c c04d1900 e1a0c00d e92d000c e92dd800 e24cb00c
[ 11.588485] 2278 e24dd010 e28b3008 e50b3018 e59b3004 e24b2014 e50b3014 e24b3018 e50b3010
[ 11.597598] 2298 ebffffd7 e24bd00c e89da800 e1a0c00d e92d000e e92dd800 e24cb010 e24dd014
[ 11.606713]
[ 11.606713] SP: 0xc1b19d28:
[ 11.611445] 9d28 c1b19d4c c1b19d38 c000a314 c0010778 c001d870 60000013 c01e20a8 20000013
[ 11.620556] 9d48 ffffffff c1b19d94 c1b19db4 c1b19d60 c000f4b8 c000a1a0 00000010 00000010
[ 11.629665] 9d68 c1b19de0 c1b19ddc 00000036 c1b19de0 c06095a0 bf153138 00000000 00000000
[ 11.638775] 9d88 00000016 c1b19db4 c1b19db8 c1b19da8 c01e2238 c01e20a8 20000013 ffffffff
[ 11.647885] 9da8 c1b19dd4 c1b19db8 c01e2238 c01e20ac 00000000 00000000 c061f2ec bf187000
[ 11.656995] 9dc8 c1b19df8 c1b19dd8 c01e24ec c01e220c 00000000 c1b19e00 c04aee28 c1b19ddc
[ 11.666106] 9de8 c03d5078 c1b19e1c c1b19e08 c01f5b84 c01e24c4 c04aee28 c1970384 c1995e90
[ 11.675217] 9e08 c1b18000 bf187000 c1b19e3c c1b19e20 bf0fb7b8 c01f5b64 c1b18000 bf187000
[ 11.684330]
[ 11.684330] IP: 0xc1b19d38:
[ 11.689064] 9d38 c001d870 60000013 c01e20a8 20000013 ffffffff c1b19d94 c1b19db4 c1b19d60
[ 11.698174] 9d58 c000f4b8 c000a1a0 00000010 00000010 c1b19de0 c1b19ddc 00000036 c1b19de0
[ 11.707282] 9d78 c06095a0 bf153138 00000000 00000000 00000016 c1b19db4 c1b19db8 c1b19da8
[ 11.716392] 9d98 c01e2238 c01e20a8 20000013 ffffffff c1b19dd4 c1b19db8 c01e2238 c01e20ac
[ 11.725504] 9db8 00000000 00000000 c061f2ec bf187000 c1b19df8 c1b19dd8 c01e24ec c01e220c
[ 11.734610] 9dd8 00000000 c1b19e00 c04aee28 c1b19ddc c03d5078 c1b19e1c c1b19e08 c01f5b84
[ 11.743720] 9df8 c01e24c4 c04aee28 c1970384 c1995e90 c1b18000 bf187000 c1b19e3c c1b19e20
[ 11.752832] 9e18 bf0fb7b8 c01f5b64 c1b18000 bf187000 c06095a0 bf153138 c1b19e54 c1b19e40
[ 11.761945]
[ 11.761945] FP: 0xc1b19d34:
[ 11.766679] 9d34 c0010778 c001d870 60000013 c01e20a8 20000013 ffffffff c1b19d94 c1b19db4
[ 11.775789] 9d54 c1b19d60 c000f4b8 c000a1a0 00000010 00000010 c1b19de0 c1b19ddc 00000036
[ 11.784896] 9d74 c1b19de0 c06095a0 bf153138 00000000 00000000 00000016 c1b19db4 c1b19db8
[ 11.794007] 9d94 c1b19da8 c01e2238 c01e20a8 20000013 ffffffff c1b19dd4 c1b19db8 c01e2238
[ 11.803115] 9db4 c01e20ac 00000000 00000000 c061f2ec bf187000 c1b19df8 c1b19dd8 c01e24ec
[ 11.812225] 9dd4 c01e220c 00000000 c1b19e00 c04aee28 c1b19ddc c03d5078 c1b19e1c c1b19e08
[ 11.821336] 9df4 c01f5b84 c01e24c4 c04aee28 c1970384 c1995e90 c1b18000 bf187000 c1b19e3c
[ 11.830448] 9e14 c1b19e20 bf0fb7b8 c01f5b64 c1b18000 bf187000 c06095a0 bf153138 c1b19e54
[ 11.839561]
[ 11.839561] R2: 0xc1b19d60:
[ 11.844295] 9d60 00000010 00000010 c1b19de0 c1b19ddc 00000036 c1b19de0 c06095a0 bf153138
[ 11.853402] 9d80 00000000 00000000 00000016 c1b19db4 c1b19db8 c1b19da8 c01e2238 c01e20a8
[ 11.862515] 9da0 20000013 ffffffff c1b19dd4 c1b19db8 c01e2238 c01e20ac 00000000 00000000
[ 11.871628] 9dc0 c061f2ec bf187000 c1b19df8 c1b19dd8 c01e24ec c01e220c 00000000 c1b19e00
[ 11.880738] 9de0 c04aee28 c1b19ddc c03d5078 c1b19e1c c1b19e08 c01f5b84 c01e24c4 c04aee28
[ 11.889852] 9e00 c1970384 c1995e90 c1b18000 bf187000 c1b19e3c c1b19e20 bf0fb7b8 c01f5b64
[ 11.898961] 9e20 c1b18000 bf187000 c06095a0 bf153138 c1b19e54 c1b19e40 bf18704c bf0fb7b0
[ 11.908071] 9e40 c1b18000 bf187000 c1b19e94 c1b19e58 c000a4d4 bf187010 c1b19e84 bf1530f0
[ 11.917186]
[ 11.917186] R3: 0xc1b19d5c:
[ 11.921918] 9d5c c000a1a0 00000010 00000010 c1b19de0 c1b19ddc 00000036 c1b19de0 c06095a0
[ 11.931027] 9d7c bf153138 00000000 00000000 00000016 c1b19db4 c1b19db8 c1b19da8 c01e2238
[ 11.940139] 9d9c c01e20a8 20000013 ffffffff c1b19dd4 c1b19db8 c01e2238 c01e20ac 00000000
[ 11.949249] 9dbc 00000000 c061f2ec bf187000 c1b19df8 c1b19dd8 c01e24ec c01e220c 00000000
[ 11.958359] 9ddc c1b19e00 c04aee28 c1b19ddc c03d5078 c1b19e1c c1b19e08 c01f5b84 c01e24c4
[ 11.967471] 9dfc c04aee28 c1970384 c1995e90 c1b18000 bf187000 c1b19e3c c1b19e20 bf0fb7b8
[ 11.976583] 9e1c c01f5b64 c1b18000 bf187000 c06095a0 bf153138 c1b19e54 c1b19e40 bf18704c
[ 11.985695] 9e3c bf0fb7b0 c1b18000 bf187000 c1b19e94 c1b19e58 c000a4d4 bf187010 c1b19e84
[ 11.994805]
[ 11.994805] R5: 0xc1b19d60:
[ 11.999537] 9d60 00000010 00000010 c1b19de0 c1b19ddc 00000036 c1b19de0 c06095a0 bf153138
[ 12.008646] 9d80 00000000 00000000 00000016 c1b19db4 c1b19db8 c1b19da8 c01e2238 c01e20a8
[ 12.017752] 9da0 20000013 ffffffff c1b19dd4 c1b19db8 c01e2238 c01e20ac 00000000 00000000
[ 12.026865] 9dc0 c061f2ec bf187000 c1b19df8 c1b19dd8 c01e24ec c01e220c 00000000 c1b19e00
[ 12.035973] 9de0 c04aee28 c1b19ddc c03d5078 c1b19e1c c1b19e08 c01f5b84 c01e24c4 c04aee28
[ 12.045082] 9e00 c1970384 c1995e90 c1b18000 bf187000 c1b19e3c c1b19e20 bf0fb7b8 c01f5b64
[ 12.054193] 9e20 c1b18000 bf187000 c06095a0 bf153138 c1b19e54 c1b19e40 bf18704c bf0fb7b0
[ 12.063303] 9e40 c1b18000 bf187000 c1b19e94 c1b19e58 c000a4d4 bf187010 c1b19e84 bf1530f0
[ 12.072414]
[ 12.072414] R6: 0xc0609520:
[ 12.077146] 9520 c034ee44 c05273d8 c03473dc c0347380 c0634b00 c02ff3d4 c02ff4d8 c0634b00
[ 12.086258] 9540 c0344124 c034414c c0634b00 c0333c7c c0333c90 c0634b00 c0308ce8 c0308cf8
[ 12.095367] 9560 c0634b00 c02ff51c c02ff5c0 c0634b00 c02fbc3c c02fbcd8 c0634b00 c02faf00
[ 12.104477] 9580 c02faf18 c0634b00 00000000 00000000 00000000 00000000 00000000 00000000
[ 12.113586] 95a0 00000000 c06c7db8 00000000 00000000 00000000 c06c7ba0 c06c7d40 00000000
[ 12.122694] 95c0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 12.131802] 95e0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 12.140906] 9600 00000000 00000000 0b300007 00000000 00000001 00000000 c0609618 00000000
[ 12.150026] Process kmodloader (pid: 101, stack limit = 0xc1b181b8)
[ 12.156977] Stack: (0xc1b19da8 to 0xc1b1a000)
[ 12.215832] 9da0: c1b19dd4 c1b19db8 c01e2238 c01e20ac 00000000 00000000
[ 12.225955] 9dc0: c061f2ec bf187000 c1b19df8 c1b19dd8 c01e24ec c01e220c 00000000 c1b19e00
[ 12.236001] 9de0: c04aee28 c1b19ddc c03d5078 c1b19e1c c1b19e08 c01f5b84 c01e24c4 c04aee28
[ 12.246084] 9e00: c1970384 c1995e90 c1b18000 bf187000 c1b19e3c c1b19e20 bf0fb7b8 c01f5b64
[ 12.256145] 9e20: c1b18000 bf187000 c06095a0 bf153138 c1b19e54 c1b19e40 bf18704c bf0fb7b0
[ 12.266237] 9e40: c1b18000 bf187000 c1b19e94 c1b19e58 c000a4d4 bf187010 c1b19e84 bf1530f0
[ 12.276367] 9e60: c1b19f48 c1b00000 bf153138 bf1530f0 c1b19f48 c1b00000 bf153138 c1b0019c
[ 12.286403] 9e80: 00000000 00000016 c1b19f44 c1b19e98 c0054e5c c000a3c8 bf1530fc 00007fff
[ 12.296490] 9ea0: c0051fc8 c1b19ed8 ffffffff 000123b7 bf153230 c49e22d8 c00529c0 00000028
[ 12.306541] 9ec0: c1b18000 bf1530fc c1b19fa4 c1b19ed8 c000f520 c000a2e8 c49d1220 00000000
[ 12.316636] 9ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 12.326765] 9f00: 00000000 00000000 00000000 00000000 00000000 00000000 20000013 b6d65010
[ 12.336802] 9f20: 000123b7 001b3328 00000080 c000fa28 c1b18000 00000000 c1b19fa4 c1b19f48
[ 12.346882] 9f40: c0055518 c0053a1c c482f000 001b3328 c49e1fb8 c49e1f08 c498765c 00144c1c
[ 12.356939] 9f60: 0015cdcc 00000000 00000000 00000000 00000014 00000015 0000000f 00000000
[ 12.367032] 9f80: 0000000a 00000000 00000001 00000000 00000000 00000004 00000000 c1b19fa8
[ 12.377149] 9fa0: c000f8a0 c0055458 00000000 00000000 b6d65010 001b3328 000123b7 0000b307
[ 12.387191] 9fc0: 00000000 00000000 00000004 00000080 001b3328 00000000 b6f4de50 00000000
[ 12.397284] 9fe0: beab4c2c beab4c10 00011ae8 b6f874cc 60000010 b6d65010 00000000 00000000
[ 12.406535] Backtrace:
[ 12.409333] [<c01e209c>] (dev_driver_string+0x0/0x44) from [<c01e2238>] (__dev_printk+0x3c/0x6c)
[ 12.419223] [<c01e21fc>] (__dev_printk+0x0/0x6c) from [<c01e24ec>] (_dev_info+0x3c/0x48)
[ 12.428274] r5:bf187000 r4:c061f2ec
[ 12.432344] [<c01e24b0>] (_dev_info+0x0/0x48) from [<c01f5b84>] (sunxi_wlan_get_bus_index+0x30/0x4c)
[ 12.442518] r3:c1995e90 r2:c1970384 r1:c04aee28
[ 12.449372] [<c01f5b54>] (sunxi_wlan_get_bus_index+0x0/0x4c) from [<bf0fb7b8>] (platform_wifi_power_on+0x18/0xa0 [8723bs])
[ 12.461725] r5:bf187000 r4:c1b18000
[ 12.469091] [<bf0fb7a0>] (platform_wifi_power_on+0x0/0xa0 [8723bs]) from [<bf18704c>] (init_module+0x4c/0x110 [8723bs])
[ 12.481164] r7:bf153138 r6:c06095a0 r5:bf187000 r4:c1b18000
[ 12.489181] [<bf187000>] (init_module+0x0/0x110 [8723bs]) from [<c000a4d4>] (do_one_initcall+0x11c/0x148)
[ 12.499897] r5:bf187000 r4:c1b18000
[ 12.503958] [<c000a3b8>] (do_one_initcall+0x0/0x148) from [<c0054e5c>] (load_module+0x1450/0x1a3c)
[ 12.513984] [<c0053a0c>] (load_module+0x0/0x1a3c) from [<c0055518>] (SyS_init_module+0xd0/0xd4)
[ 12.523713] [<c0055448>] (SyS_init_module+0x0/0xd4) from [<c000f8a0>] (ret_fast_syscall+0x0/0x2c)
[ 12.533614] r6:00000004 r5:00000000 r4:00000000
[ 12.539644] Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5903044)
[ 12.546620] ---[ end trace 8ca1c064165ef5f9 ]---
Segmentation fault
-- run rc.final --
insmod F1C200s-board
-- wifi connect --
insmod wifi kernel module --------------------
insmod: can't insert '/lib/modules/3.10.65/xradio_wlan.ko': No such file or directory
start wpa_supplicant ------------------------
[ 12.672994] sunxi-mmc sdc0: cmd 18(80003352) arg 22c4000 ie 0x0000fbc2 len 139264
[ 12.689079] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 12.732999] android_usb: already disabled
[ 12.776341] sunxi-mmc sdc0: cmd 18(80003352) arg 2308000 ie 0x0000fbc2 len 40960
[ 12.787439] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 12.801115] adb_open
[ 12.803584] adb_bind_config
[ 12.823864] sunxi-mmc sdc0: cmd 18(80003352) arg 236b000 ie 0x0000fbc2 len 118784
[ 12.839556] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
[ 12.880054] sunxi-mmc sdc0: cmd 18(80003352) arg 22e6000 ie 0x0000fbc2 len 139264
[ 12.896566] sunxi-mmc sdc0: irq: rq c196d42c mi 00004000 idi 00000002
Successfully initialized wpa_supplicant
Line 6: Invalid passphrase length 6 (expected: 8..63) '******"'.
Line 6: failed to parse psk '"******"'.
Line 7: failed to parse network block.
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
start udhcpc ----------------
-- end --
BusyBox v1.27.2 () built-in shell (ash)
udhcpc: SIOCGIFINDEX: No such device
_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _
| | _ | || | | |__ | || || | ||_'_|
| | | || | || _ | |_____||_||_|_||___||_,_|
|_| |_||_|_||_|_| Tina is Based on OpenWrt!
----------------------------------------------
Tina Linux (Neptune, 5C1C9C53)
----------------------------------------------
root@TinaLinux:/#
F1C100s tina3 程序, 请教屏闪是怎么回事?
http://whycan.com/t_3156.html#p61569
请问楼主这个问题最后是怎么解决的呢?我现在一样碰到这个尴尬的问题,搞了很久了。。。
这个工具好用, tina3.5的img可以正常解包.
下载: tina_violin-F1C200s_uart0_nor_rtl8723bs_ok.7z
这是一个spi nor 的固件, 用全志的 PhoenixSuit 烧录, 理论上8M以上的spi flash都可以用, 包括w25, mx25等
命令行输入这个就可以链接wifi热点:
wifi_connect_ap_test ssid password
感谢楼主, 我把这几个文件备份出来了
tar czvf ubuntu1804_build_tina35_path.tgz \
out/violin-F1C200s/compile_dir/host/pkg-config-0.29/glib/glib/gdate.c \
out/violin-F1C200s/compile_dir/host/automake-1.15/bin/automake.in \
out/violin-F1C200s/compile_dir/host/u-boot-2014.10/include/linux/compiler-gcc7.h \
大家也不用费事去找了: ubuntu1804_build_tina35_patch_files.tgz
直接解压就好了。
@哇酷小二 对, 我想了一下, 确实是这个问题, 但是lunch这个是批处理文件里面的一个函数,又不能用source执行, 所以不得不曲线救国:
source build/envsetup.sh;\
echo 92 | lunch;\
export TINA_BUILD_TOP=/opt/f1c100s/tina/tina;\
export TINA_TARGET_ARCH=arm;\
export TARGET_PRODUCT=violin_F1C200s;\
export TARGET_PLATFORM=violin;\
export TARGET_BOARD=violin-F1C200s;\
export TARGET_BUILD_VARIANT=tina;\
export TARGET_BUILD_TYPE=release;\
export TARGET_KERNEL_VERSION=3.10;\
export TARGET_UBOOT=u-boot-2014.07;\
export TARGET_CHIP=sun3iw1p1;\
make -j5;\
pack;\
暂时把问题解(掩)决(盖)了 ...
其他编译问题参考这个帖子:
试一试 Ubuntu 18.04 编译f1c200s tina 3.x
http://whycan.com/t_3270.html
叶落无轨 说:最近想做个项目,评估一下F1C100S,浏览了论坛有些疑问
1.稳定性比较好,功能支持多的,开发迅速的还是melis,这个好像不好拿到代码吧?前辈们是怎么开发项目的?比方说修改UI、增减功能
有没有官方放出来的,稳定代码?2.0
2.跑Linux、RTOS、melis,类似行车记录仪,哪个系统速度体验快点?
本身是自己研究的,没有时间限制,请前辈们推荐一下用哪个系统好
谢谢了用全志的tina3.5优化的还可以,已经支持CVBS in、out、硬件h264解码等等,启动时间到qt显示界面12秒左右。
tiny200开发板跑tina3.5, 使用芯天下sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常
http://whycan.com/t_6250.html
请教大佬两个问题:
1. tina linux不能识别1bit sd nand,但是brom和uboot都可以
2. tina linux 如何给tf卡分区,我上面这个问题是要修改哪里,tf卡linux才能启动呢?
uboot烧录部分改对了没
无根浮萍 说:https://whycan.com/files/members/5755/2021-03-31_113740.png
果然只有一个分区,这是为什么呢?
请问应该怎么修改呢?我几乎翻越了所有tina文档,都木找到有。
修改 target/allwinner/violin-F1C200s/configs/sys_config.fex 从SDC0 (TF卡)启动:
;A31 PAD application
;---------------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
;---------------------------------------------------------------------------------------------------------
[product]
version = "100"
machine = "evb"
[platform]
eraseflag = 1
debug_mode = 1
;----------------------------------------------------------------------------------
; system configuration
; ?
;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step
;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step
;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step
;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step
;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step
;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step
;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step
;----------------------------------------------------------------------------------
;----------------------------------------------------------------------------------
; storage_type 0:nand 1:sd 2:emmc 3:spinor 4:emmc3 5:spinand 6:sd1
;
; as spi0 and sdc0 both use PC0-PC2
; for spinor, set [target] storage_type = 3, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for spinand, set [target] storage_type = 5, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for sd1, set [target] storage_type = 6, [spi0] spi0_used = 0 , [sdc1] sdc1_used = 1
;----------------------------------------------------------------------------------
[target]
boot_clock = 408
storage_type = 1
burn_key = 0
[norflash]
size = 16
[power_sply]
dcdc1_vol = 3000
dcdc2_vol = 1200
dcdc3_vol = 1200
dcdc4_vol = 1200
dcdc5_vol = 1500
aldo2_vol = 1800
aldo3_vol = 3000
;[power_ctrl]
;power_off_key = port:PD14<0><0><default><1>
;power_on = port:PD15<1><0><default><0>
[pwr_ctrl]
power_off_key = port:PD20<0><0><default><1>
power_on = port:PA1<1><default><default><0>
pwroff_gpio_is_irq = 0
[card_boot]
logical_start = 40960
sprite_gpio0 =
card_no = 1
;---------------------------------------------------------------------------------------------------------
; if 1 == standby_mode, then support super standby;
; else, support normal standby.
;---------------------------------------------------------------------------------------------------------
[pm_para]
standby_mode = 1
[card0_boot_para]
card_ctrl = 0
card_high_speed = 1
card_line = 4
sdc_d1 = port:PF0<2><1><2><default>
sdc_d0 = port:PF1<2><1><2><default>
sdc_clk = port:PF2<2><1><2><default>
sdc_cmd = port:PF3<2><1><2><default>
sdc_d3 = port:PF4<2><1><2><default>
sdc_d2 = port:PF5<2><1><2><default>
[card2_boot_para]
card_ctrl = 2
card_high_speed = 1
card_line = 8
sdc_clk = port:PC5<3><1><3><default>
sdc_cmd = port:PC6<3><1><3><default>
sdc_d0 = port:PC8<3><1><3><default>
sdc_d1 = port:PC9<3><1><3><default>
sdc_d2 = port:PC10<3><1><3><default>
sdc_d3 = port:PC11<3><1><3><default>
sdc_d4 = port:PC12<3><1><3><default>
sdc_d5 = port:PC13<3><1><3><default>
sdc_d6 = port:PC14<3><1><3><default>
sdc_d7 = port:PC15<3><1><3><default>
sdc_emmc_rst = port:PC16<3><1><3><default>
sdc_ds = port:PC01<3><1><3><default>
[card1_boot_para]
card_ctrl = 1
card_high_speed = 1
card_line = 1
sdc_clk = port:PC0<3><1><3><default>
sdc_cmd = port:PC1<3><1><3><default>
sdc_d0 = port:PC2<3><1><3><default>
[twi_para]
twi_port = 0
twi_scl = port:PD12<3><default><default><default>
twi_sda = port:PD00<3><default><default><default>
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PA2<5><1><default><default>
uart_debug_rx = port:PA3<5><1><default><default>
[jtag_para]
jtag_enable = 0
jtag_ms = port:PH9<3><default><default><default>
jtag_ck = port:PH10<3><default><default><default>
jtag_do = port:PH11<3><default><default><default>
jtag_di = port:PH12<3><default><default><default>
;*****************************************************************************
;sdram configuration
;
;*****************************************************************************
[dram_para]
dram_clk = 480
dram_type = 3
dram_zq = 0x77bb
dram_odt_en = 1
dram_para1 = 0x004319f4
dram_para2 = 0x5
dram_mr0 = 0x620
dram_mr1 = 0x0
dram_mr2 = 0x8
dram_mr3 = 0
dram_tpr0 = 0x06141B10
dram_tpr1 = 0x40416
dram_tpr2 = 0x03030306
dram_tpr3 = 0x2006
dram_tpr4 = 0x05040405
dram_tpr5 = 0x05050302
dram_tpr6 = 0x90006644
dram_tpr7 = 0x42c21590
dram_tpr8 = 0xd05612c0
dram_tpr9 = 0x00083def
dram_tpr10 = 0x18082356
dram_tpr11 = 0x32034156
dram_tpr12 = 0
dram_tpr13 = 0
;----------------------------------------------------------------------------------
;i2c configuration
;----------------------------------------------------------------------------------
[twi0]
twi0_used = 1
twi0_scl = port:PD12<3><default><default><default>
twi0_sda = port:PD00<3><default><default><default>
[twi1]
twi1_used = 0
twi1_scl = port:PB00<2><default><default><default>
twi1_sda = port:PB01<2><default><default><default>
[twi2]
twi2_used = 0
twi2_scl = port:PD15<4><default><default><default>
twi2_sda = port:PD16<4><default><default><default>
;----------------------------------------------------------------------------------
;TWI device configuration
;compatible --- device name
;reg --- device address
;----------------------------------------------------------------------------------
;[twi0/twi_board0]
;compatible =
;reg =
[io_expand]
compatible = "nxp,pcf8574a"
reg = 0x20
gpio_base = 2040
;int-gpio = port:PE09<6><default><1><1>
;----------------------------------------------------------------------------------
;uart configuration
;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function)
;----------------------------------------------------------------------------------
[uart0]
uart0_used = 0
uart0_port = 0
uart0_type = 2
uart0_tx = port:PF2<3><1><default><default>
uart0_rx = port:PF4<3><1><default><default>
[uart1]
uart1_used = 1
uart1_port = 1
uart1_type = 2
uart1_tx = port:PA2<5><1><default><default>
uart1_rx = port:PA3<5><1><default><default>
;----------------------------------------------------------------------------------
;SPI controller configuration
;----------------------------------------------------------------------------------
[spi0]
spi0_used = 0
spi0_cs_number = 1
spi0_cs_bitmap = 1
spi0_cs0 = port:PC1<2><1><default><default>
spi0_sclk = port:PC0<2><default><default><default>
spi0_mosi = port:PC3<2><default><default><default>
spi0_miso = port:PC2<2><default><default><default>
[spi1]
spi1_used = 0
spi1_cs_number = 1
spi1_cs_bitmap = 1
spi1_cs0 = port:PE07<4><1><default><default>
spi1_sclk = port:PE09<4><default><default><default>
spi1_mosi = port:PE08<4><default><default><default>
spi1_miso = port:PE10<4><default><default><default>
;----------------------------------------------------------------------------------
;SPI device configuration
;compatible --- device name
;spi-max-frequency --- work frequency
;reg --- chip select
;optional properties: spi-cpha, spi-cpol, spi-cs-high
;----------------------------------------------------------------------------------
;[spi0/spi_board0]
;compatible =
;spi-max-frequency =
;reg =
;spi-cpha
;spi-cpol
;spi-cs-high
;----------------------------------------------------------------------------------
;resistance tp configuration
;----------------------------------------------------------------------------------
[rtp_para]
rtp_used = 0
rtp_screen_size = 5
rtp_regidity_level = 5
rtp_press_threshold_enable = 0
rtp_press_threshold = 0x1f40
rtp_sensitive_level = 0xf
rtp_exchange_x_y_flag = 0
;----------------------------------------------------------------------------------
;capacitor tp configuration
;external int function
;wakeup output function
;notice --- tp_int_port & tp_io_port use the same port
;----------------------------------------------------------------------------------
[ctp]
ctp_used = 1
ctp_twi_id = 0
ctp_twi_addr = 0x48
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 1
ctp_revert_y_flag = 1
ctp_exchange_x_y_flag = 1
;ctp_int_port = port:PE12<6><default><default><1>
;ctp_wakeup = 2045
[twi0/touchscreen1]
compatible = "ctp_icn85xx"
reg = 0x48
;----------------------------------------------------------------------------------
;touch key configuration
;----------------------------------------------------------------------------------
[tkey_para]
tkey_used = 0
tkey_twi_id =
tkey_twi_addr =
tkey_int =
;----------------------------------------------------------------------------------
;motor configuration
;----------------------------------------------------------------------------------
[motor_para]
motor_used = 0
;motor_shake = port:power3<1><default><default><1>
[nand0_para]
nand0_support_2ch = 0
nand0_used = 0
nand0_we = port:PC00<2><0><1><default>
nand0_ale = port:PC01<2><0><1><default>
nand0_cle = port:PC02<2><0><1><default>
nand0_ce0 = port:PC03<2><1><1><default>
nand0_nre = port:PC04<2><0><1><default>
nand0_rb0 = port:PC05<2><1><1><default>
nand0_d0 = port:PC06<2><0><1><default>
nand0_d1 = port:PC07<2><0><1><default>
nand0_d2 = port:PC08<2><0><1><default>
nand0_d3 = port:PC09<2><0><1><default>
nand0_d4 = port:PC10<2><0><1><default>
nand0_d5 = port:PC11<2><0><1><default>
nand0_d6 = port:PC12<2><0><1><default>
nand0_d7 = port:PC13<2><0><1><default>
nand0_ndqs = port:PC14<2><0><1><default>
nand0_regulator1 = "vcc-nand"
nand0_regulator2 = "none"
nand0_cache_level = 0x55aaaa55
nand0_flush_cache_num = 0x55aaaa55
nand0_capacity_level = 0x55aaaa55
nand0_id_number_ctl = 0x55aaaa55
nand0_print_level = 0x55aaaa55
nand0_p0 = 0x55aaaa55
nand0_p1 = 0x55aaaa55
nand0_p2 = 0x55aaaa55
nand0_p3 = 0x55aaaa55
;----------------------------------------------------------------------------------
;disp init configuration
;
;disp_mode (0:screen0<screen0,fb0>)
;screenx_output_type (0:none; 1:lcd; 3:hdmi;)
;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
;fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
;fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
;fb0_scaler_mode_enable(scaler mode enable, used FE)
;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
;lcdx_backlight (lcd init backlight,the range:[0,256],default:197
;lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
;lcd0_contrast (LCD contrast, 0~100)
;lcd0_saturation (LCD saturation, 0~100)
;lcd0_hue (LCD hue, 0~100)
;----------------------------------------------------------------------------------
[disp]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 1
screen0_output_mode = 4
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb0_format = 0
fb0_width = 0
fb0_height = 0
fb1_framebuffer_num = 0
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
fb1_format = 0
fb1_width = 0
fb1_height = 0
lcd0_backlight = 50
lcd1_backlight = 50
lcd0_bright = 50
lcd0_contrast = 50
lcd0_saturation = 57
lcd0_hue = 50
lcd1_bright = 50
lcd1_contrast = 50
lcd1_saturation = 57
lcd1_hue = 50
;----------------------------------------------------------------------------------
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch
;lcd_ht: hsync total cycle
;lcd_vbp: vsync back porch
;lcd_vt: vysnc total cycle
;lcd_hspw: hsync plus width
;lcd_vspw: vysnc plus width
;lcd_lvds_if: 0:single link; 1:dual link
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;----------------------------------------------------------------------------------
[lcd0]
lcd_used = 1
;-------------------------------------
; avdisplay lcd
;-------------------------------------
lcd_driver_name = "ili6122_800x480"
lcd_if = 0
lcd_x = 800
lcd_y = 480
lcd_width = 109
lcd_height = 63
lcd_dclk_freq = 33
lcd_pwm_used = 1
lcd_pwm_ch = 0
lcd_pwm_freq = 50000
lcd_pwm_pol = 1
lcd_hbp = 55
lcd_ht = 1056
lcd_hspw = 20
lcd_vbp = 35
lcd_vt = 525
lcd_vspw = 10
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 10
lcd_hv_hspw = 20
lcd_hv_sync_polarity = 3
;-------------------------------------
; qiutianwei lcd
;-------------------------------------
;lcd_x = 800
;lcd_y = 480
;lcd_width = 108
;lcd_height = 64
;lcd_dclk_freq = 33
;lcd_pwm_used = 1
;lcd_pwm_ch = 0
;lcd_pwm_freq = 50000
;lcd_pwm_pol = 1
;lcd_hbp = 88
;lcd_ht = 928
;lcd_hspw = 48
;lcd_vbp = 35
;lcd_vt = 525
;lcd_vspw = 3
;lcd_hv_if = 0
;lcd_hv_smode = 0
;lcd_hv_s888_if = 0
;lcd_hv_syuv_if = 0
;lcd_hv_vspw = 10
;lcd_hv_hspw = 123
;lcd_x = 1024
;lcd_y = 600
;lcd_width = 154
;lcd_height = 86
;lcd_dclk_freq = 50
;lcd_pwm_used = 1
;lcd_pwm_ch = 0
;lcd_pwm_freq = 50000
;lcd_pwm_pol = 1
;lcd_hbp = 160
;lcd_ht = 1344
;lcd_hspw = 48
;lcd_vbp = 23
;lcd_vt = 635
;lcd_vspw = 3
;lcd_hv_if = 0
;lcd_hv_smode = 0
;lcd_hv_s888_if = 0
;lcd_hv_syuv_if = 0
;lcd_hv_vspw = 10
;lcd_hv_hspw = 123
lcd_lvds_if = 0
lcd_lvds_colordepth = 1
lcd_lvds_mode = 0
lcd_lvds_ch = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 1
lcd_rb_swap = 1
lcd_io_phase = 0x0000
lcd_gamma_en = 0
lcd_bright_curve_en = 0
lcd_cmap_en = 0
deu_mode = 0
lcdgamma4iep = 22
lcd_io_cfg0 = 0x00000000
smart_color = 90
;lcd_bl_en_used = 0
;lcd_bl_en = port:PE12<1><0><default><1>
;lcd_power = port:PE06<1><0><default><0>
lcd_gpio_0 = 2043
;lcdd2 = port:PD00<2><0><default><default>
lcdd3 = port:PD01<2><0><default><default>
lcdd4 = port:PD02<2><0><default><default>
lcdd5 = port:PD03<2><0><default><default>
lcdd6 = port:PD04<2><0><default><default>
lcdd7 = port:PD05<2><0><default><default>
lcdd10 = port:PD06<2><0><default><default>
lcdd11 = port:PD07<2><0><default><default>
lcdd12 = port:PD08<2><0><default><default>
lcdd13 = port:PD09<2><0><default><default>
lcdd14 = port:PD10<2><0><default><default>
lcdd15 = port:PD11<2><0><default><default>
;lcdd18 = port:PD12<2><0><default><default>
lcdd19 = port:PD13<2><0><default><default>
lcdd20 = port:PD14<2><0><default><default>
lcdd21 = port:PD15<2><0><default><default>
lcdd22 = port:PD16<2><0><default><default>
lcdd23 = port:PD17<2><0><default><default>
lcdclk = port:PD18<2><0><3><default>
lcdde = port:PD19<2><0><3><default>
lcdhsync = port:PD20<2><0><3><default>
lcdvsync = port:PD21<2><0><3><default>
;----------------------------------------------------------------------------------
;pwm config
;----------------------------------------------------------------------------------
[pwm0_para]
pwm_used = 0
;pwm_positive = port:PH00<2><0><default><default>
pwm_positive = port:PE12<4><0><default><default>
[pwm1_para]
pwm_used = 0
pwm_positive = port:PE06<3><0><default><default>
;--------------------------------------------------------------------------------
;vip (video input port) configuration
;vip(x)_used: 0:disable 1:enable
;vip(x)_isp_used 0:not use isp 1:use isp
;vip(x)_fmt: 0:yuv 1:bayer raw rgb
;vip(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby
;vip(x)_vflip: flip in vertical direction 0:disable 1:enable
;vip(x)_hflip: flip in horizontal direction 0:disable 1:enable
;vip(x)_iovdd: camera module io power handle string, pmu power supply
;vip(x)_iovdd_vol: camera module io power voltage, pmu power supply
;vip(x)_avdd: camera module analog power handle string, pmu power supply
;vip(x)_avdd_vol: camera module analog power voltage, pmu power supply
;vip(x)_dvdd: camera module core power handle string, pmu power supply
;vip(x)_dvdd_vol: camera module core power voltage, pmu power supply
;vip(x)_afvdd: camera module vcm power handle string, pmu power supply
;vip(x)_afvdd_vol: camera module vcm power voltage, pmu power supply
;fill voltage in uV, e.g. iovdd = 2.8V, vip_devx_iovdd_vol = 2800000
;fill handle string as below:
;axp22_eldo3
;axp22_dldo4
;axp22_eldo2
;fill handle string "" when not using any pmu power supply
;--------------------------------------------------------------------------------
[vip0]
vip0_used = 1
vip0_csi_pck = port:PE02<2><default><default><default>
vip0_csi_mck = port:PE11<2><1><3><0>
vip0_csi_hsync = port:PE00<2><default><default><default>
vip0_csi_vsync = port:PE01<2><default><default><default>
vip0_csi_d0 = port:PE03<2><default><default><default>
vip0_csi_d1 = port:PE04<2><default><default><default>
vip0_csi_d2 = port:PE05<2><default><default><default>
vip0_csi_d3 = port:PE06<2><default><default><default>
vip0_csi_d4 = port:PE07<2><default><default><default>
vip0_csi_d5 = port:PE08<2><default><default><default>
vip0_csi_d6 = port:PE09<2><default><default><default>
vip0_csi_d7 = port:PE10<2><default><default><default>
;vip0_csi_sck = port:PD12<2><default><default><default>
;vip0_csi_sda = port:PD00<2><default><default><default>
vip0_mname = "gc0308"
vip0_twi_addr = 0x42
vip0_twi_id = 0
vip0_isp_used = 0
vip0_fmt = 0
vip0_stby_mode = 0
vip0_vflip = 0
vip0_hflip = 0
vip0_iovdd = ""
vip0_iovdd_vol = 2800000
vip0_avdd = ""
vip0_avdd_vol = 2800000
vip0_dvdd = ""
vip0_dvdd_vol = 1500000
vip0_afvdd = ""
vip0_afvdd_vol = 2800000
vip0_power_en =
vip0_reset = 2044
vip0_pwdn = ""
vip0_flash_en =
vip0_flash_mode =
vip0_af_pwdn =
;--------------------------------------------------------------------------------
;tv configuration
;
;--------------------------------------------------------------------------------
[tvout_para]
tvout_used =
tvout_channel_num =
tv_en =
[tvin_para]
tvin_used =
tvin_channel_num =
; ------------------------------------------------------------------------------|
; de-interlace configuration
;--------------------------------------------------------------------------------
[di]
di_used = 0
;--------------------------------------------------------------------------------
; SDMMC PINS MAPPING |
; ------------------------------------------------------------------------------|
; Config Guide |
; sdc_used: 1-enable card, 0-disable card |
; sdc_detmode: card detect mode |
; 1-detect card by gpio polling |
; 2-detect card by gpio irq(must use IO with irq function) |
; 3-no detect, always in for boot card |
; 4-manually insert and remove by /proc/driver/sunxi-mmc.x/insert|
; sdc_buswidth: card bus width, 1-1bit, 4-4bit, 8-8bit |
; sdc_use_wp: 1-with write protect IO, 0-no write protect IO |
; sdc_isio: for sdio card |
; sdc_regulator: power control.if card supports UHS-I/DDR and HS200 timing for|
; SD3.0 or eMMC4.5, regulator must be configured. the value is |
; the ldo name of AXP221, eg: sdc_regulator = "axp22_eldo2" |
; other: GPIO Mapping configuration |
; ------------------------------------------------------------------------------|
; Note: |
; 1 if detmode=2, sdc_det's config=6 |
; else if detmode=1, sdc_det's config=0 |
; else sdc_det IO is not necessary |
; 2 if the customer wants to support UHS-I and HS200 features, he must provide|
; an independent power supply for the card. This is only used in platforms |
; that supports SD3.0 cards and eMMC4.4+ flashes |
;--------------------------------------------------------------------------------
[sdc0]
sdc0_used = 1
sdc0_detmode = 4
sdc0_buswidth = 4
sdc0_d1 = port:PF00<2><1><3><default>
sdc0_d0 = port:PF01<2><1><3><default>
sdc0_clk = port:PF02<2><1><3><default>
sdc0_cmd = port:PF03<2><1><3><default>
sdc0_d3 = port:PF04<2><1><3><default>
sdc0_d2 = port:PF05<2><1><3><default>
sdc0_det =
sdc0_use_wp = 0
sdc0_wp =
sdc0_isio = 0
sdc0_regulator = "none"
vmmc = "none"
vqmmc = "none"
vdmmc = "none"
[sdc1]
sdc1_used = 0
sdc1_detmode = 3
sdc1_buswidth = 1
sdc1_clk = port:PC00<3><1><2><default>
sdc1_cmd = port:PC01<3><1><2><default>
sdc1_d0 = port:PC02<3><1><2><default>
sdc1_det =
sdc1_use_wp = 0
sdc1_wp =
sdc1_isio = 1
sdc1_regulator = "none"
vmmc = "none"
vqmmc = "none"
vdmmc = "none"
; ------------------------------------------------------------------------------|
; sim card configuration
;--------------------------------------------------------------------------------
[smc]
smc_used =
smc_rst =
smc_vppen =
smc_vppp =
smc_det =
smc_vccen =
smc_sck =
smc_sda =
;--------------------------------
;[usbc0]:控制器0的配置。
;usb_used:USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。
;usb_port_type:USB端口的使用情况。 0:device only;1:host only;2:OTG
;usb_detect_type:USB端口的检查方式。0:不做检测;1:vbus/id检查;2:id/dpdm检查
;usb_id_gpio:USB ID pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio:USB DET_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_drv_vbus_gpio:USB DRY_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio: "axp_ctrl",表示axp 提供
;--------------------------------
;--------------------------------
;--- USB0控制标志
;--------------------------------
;[usbc0]
;usbc0_used = 0
;usb_port_type = 2
;usb_detect_type = 1
;usb_id_gpio = port:PH09<0><1><default><default>
;usb_det_vbus_gpio = "axp_ctrl"
;usb_drv_vbus_gpio = port:PB07<1><0><default><0>
;usb_host_init_state = 0
;usb_regulator_io = "nocare"
;usb_regulator_vol = 0
;usb_wakeup_suspend = 0
;--- USB Device
;usb_luns = 3
;usb_serial_unique = 0
;usb_serial_number = "20080411"
[usbc0]
usbc0_used = 1
usb_port_type = 0
usb_detect_type = 1
usb_id_gpio =
usb_det_vbus_gpio =
usb_board_sel = 1
usb_drv_vbus_gpio = 2047
usb_host_init_state = 0
usb_regulator_io = "nocare"
usb_regulator_vol = 0
usb_wakeup_suspend = 0
; USB Device
usb_luns = 3
usb_serial_unique = 0
usb_serial_number = "20080411"
;--------------------------------
;--- USB1控制标志
;--------------------------------
;[usbc1]
;usbc1_used = 0
;usb_drv_vbus_gpio = port:PB06<1><0><default><0>
;usb_host_init_state = 1
;usb_regulator_io = "nocare"
;usb_regulator_vol = 0
;usb_wakeup_suspend = 0
;--------------------------------------------------------------------------------
; G sensor configuration
; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2)
;--------------------------------------------------------------------------------
[gsensor_para]
gsensor_used = 0
gsensor_twi_id = 2
gsensor_twi_addr = 0x18
gsensor_int1 = port:PA09<6><1><default><default>
gsensor_int2 =
;--------------------------------------------------------------------------------
; gps gpio configuration
; gps_spi_id --- the index of SPI controller. 0: SPI0, 1: SPI1, 2: SPI2, 15: no SPI used
; gps_spi_cs_num --- the chip select number of SPI controller. 0: SPI CS0, 1: SPI CS1
; gps_lradc --- the lradc number for GPS used. 0 and 1 is valid, set 2 if not use lradc
;--------------------------------------------------------------------------------
[gps_para]
;--------------------------------------------------------------------------------
;wlan configuration
;clocks: 32k clk
;wlan_power_num: the number of inputs for wifi power
;wlan_power(n): wifi power(n)
;wlan_io_regulator: the power of wifi io
;wlan_busnum: no. of bus(usb or bus)
;wlan_regon: wifi function enable/reset io
;wlan_hostwake: wifi device wake-up host
;status: okay
;--------------------------------------------------------------------------------
[wlan]
wlan_used = 1
compatible = "allwinner,sunxi-wlan"
wlan_busnum = 0
;wlan_power_num =
;wlan_power1 =
;wlan_io_regulator =
wlan_board_sel = 1
;wlan_hostwake = port:PD13<6><default><default><default>
wlan_hostwake = port:PD21<6><default><default><1>
;wlan_regon = port:PD16<1><1><3><0>
wlan_regon = 2041
;--------------------------------------------------------------------------------
;gyroscope
;--------------------------------------------------------------------------------
[gy_para]
gy_used = 0
gy_twi_id = 2
gy_twi_addr = 0x6a
gy_int1 = port:PA10<6><1><default><default>
gy_int2 =
;--------------------------------------------------------------------------------
;light sensor
;--------------------------------------------------------------------------------
[ls_para]
ls_used = 0
ls_twi_id = 2
ls_twi_addr = 0x23
ls_int = port:PA12<6><1><default><default>
;--------------------------------------------------------------------------------
;compass
;--------------------------------------------------------------------------------
[compass_para]
compass_used = 0
compass_twi_id = 2
compass_twi_addr = 0x0d
compass_int = port:PA11<6><1><default><default>
;--------------------------------------------------------------------------------
;blue tooth
;bt_used ---- blue tooth used (0- no used, 1- used)
;bt_uard_id ---- uart index
;--------------------------------------------------------------------------------
[bt_para]
bt_used =
bt_uart_id =
bt_wakeup =
bt_gpio =
bt_rst =
;--------------------------------------------------------------------------------
; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1,
; if register the sound card spdif.
;--------------------------------------------------------------------------------
[audiospdif]
audiospdif_used = 0
[spdif_machine]
spdif_machine_used = 0
;----------------------------------------------------------------------------------
; NOTE :Make sure hdmi_used = 0x1,hdmimach_used = 0x1,
; if register the sound card hdmi.
;---------------------------------------------------------------------------------
[audiohdmi]
audiohdmi_used = 0
[hdmi_machine]
hdmi_machine_used = 0
;--------------------------------------------------------------------------------
;allwinner,pcm_lrck_period :16/32/64/128/256
;allwinner,pcm_lrckr_period :no use
;allwinner,slot_width_select :16bits/20bits/24bits/32bits
;allwinner,pcm_lsb_first :0: msb first; 1: lsb first
;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use
; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use
; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use
; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use
;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use
; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format).
; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format)
; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use
; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge)
;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use
; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM)
; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use
; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM)
;allwinner,frametype :0: long frame = 2 clock width; 1: short frame
;allwinner,tdm_config :0:pcm 1:i2s
;allwinner,daudio0_used :0:not use 1:use
;-------------------------------------------------------------------------------
; NOTE :Make sure daudio0mach_used = 0x1,daudio0_used = 0x1,
; if register the sound card DAUDIO0.
;--------------------------------------------------------------------------------
;[daudio0_machine]
;daudio0_machine_used = 0
;-----------------------------------------------------------------------------
;[daudio0]
;pcm_lrck_period = 0x20
;pcm_lrckr_period = 0x01
;slot_width_select = 0x10
;pcm_lsb_first = 0x0
;tx_data_mode = 0x0
;rx_data_mode = 0x0
;daudio_master = 0x04
;audio_format = 0x01
;signal_inversion = 0x01
;frametype = 0x0
;tdm_config = 0x01
;daudio0_used = 0
;--------------------------------------------------------------------------------------
;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step
;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step
;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step
;allwinner,adcagc_cfg : 1:use adcagc 0:no use
;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use
;allwinner,adchpf_cfg : 1:use adchpf 0:no use
;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use
;allwinner,dachpf_cfg : 1:use adchpf 0:no use
;allwinner,aif2config : 1:use aif2 0:no use
;allwinner,aif3config : 1:use aif3 0:no use
;--------------------------------------------------------------------------------
; NOTE :Make sure audiocodec_machine_used = 0x1,sun50i2s_used = 0x1
; sun50codec_used = 0x1,if register the sound card audiocodec.
;---------------------------------------------------------------------------------
;[audiocodec_machine]
;audiocodec_machine_used = 0
;-------------------------------------------------------------------------------------
;used ---0:not used,1:used
;pmu_id ---0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813
;pmu_twi_addr ---slave address
;pmu_twi_id ---i2c bus number (0 TWI0, 1 TWI2, 2 TWI3)
;pmu_irq_id ---irq number (0 irq0,1 irq1)
;pmu_chg_ic_temp ---intelligence charge pmu temperature. when it is 0, this function is closed.
;pmu_battery_rdc ---battery initial resistance
;pmu_battery_cap ---battery capability,mAh
;pmu_runtime_chgcur ---set initial charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_suspend_chgcur ---set suspend charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_shutdown_chgcur ---set shutdown charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_init_chgvol ---set initial charing target voltage,mV,4100/4220/4200/4240
;pmu_ac_vol ---set usb-ac limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_ac_cur ---set usb-ac limited current level,mA,500/900, 0 - not limite
;pmu_usbpc_vol ---set usb-pc limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_usbpc_cur ---set usb-pc limited current level,mA,500/900, 0 - not limite
;pmu_battery_warning_level1 ---low power warning high level,5%-20%,1%/step
;pmu_battery_warning_level2 ---low power warning low level,0%-15%,1%/step
;pmu_chgled_func ---CHGKED pin control, 0:controlled by pmu,1:controlled by Charger
;pmu_chgled_type ---CHGLED Type select when pmu_chgled_func=0,0:Type A, 1:type B
;pmu_bat_para1 ---battery indication at 3.13V
;pmu_bat_para2 ---battery indication at 3.27V
;pmu_bat_para3 ---battery indication at 3.34V
;pmu_bat_para4 ---battery indication at 3.41V
;pmu_bat_para5 ---battery indication at 3.48V
;pmu_bat_para6 ---battery indication at 3.52V
;pmu_bat_para7 ---battery indication at 3.55V
;pmu_bat_para8 ---battery indication at 3.57V
;pmu_bat_para9 ---battery indication at 3.59V
;pmu_bat_para10 ---battery indication at 3.61V
;pmu_bat_para11 ---battery indication at 3.63V
;pmu_bat_para12 ---battery indication at 3.64V
;pmu_bat_para13 ---battery indication at 3.66V
;pmu_bat_para14 ---battery indication at 3.7V
;pmu_bat_para15 ---battery indication at 3.73V
;pmu_bat_para16 ---battery indication at 3.77V
;pmu_bat_para17 ---battery indication at 3.78V
;pmu_bat_para18 ---battery indication at 3.8V
;pmu_bat_para19 ---battery indication at 3.82V
;pmu_bat_para20 ---battery indication at 3.84V
;pmu_bat_para21 ---battery indication at 3.85V
;pmu_bat_para22 ---battery indication at 3.87V
;pmu_bat_para23 ---battery indication at 3.91V
;pmu_bat_para24 ---battery indication at 3.94V
;pmu_bat_para25 ---battery indication at 3.98V
;pmu_bat_para26 ---battery indication at 4.01V
;pmu_bat_para27 ---battery indication at 4.05V
;pmu_bat_para28 ---battery indication at 4.08V
;pmu_bat_para29 ---battery indication at 4.1V
;pmu_bat_para30 ---battery indication at 4.12V
;pmu_bat_para31 ---battery indication at 4.14V
;pmu_bat_para32 ---battery indication at 4.15V
;pmu_bat_temp_enable ---battery temp detect enable
;pmu_bat_charge_ltf ---charge battery temp low threshold voltage
;pmu_bat_charge_htf ---charge battery temp high threshold voltage
;pmu_bat_shutdown_ltf ---shutdown battery temp low threshold voltage
;pmu_bat_shutdown_htf ---shutdown battery temp high threshold voltage
;pmu_bat_temp_para1 ---battery temp -25 voltage
;pmu_bat_temp_para2 ---battery temp -15 voltage
;pmu_bat_temp_para3 ---battery temp -10 voltage
;pmu_bat_temp_para4 ---battery temp -5 voltage
;pmu_bat_temp_para5 ---battery temp 0 voltage
;pmu_bat_temp_para6 ---battery temp 5 voltage
;pmu_bat_temp_para7 ---battery temp 10 voltage
;pmu_bat_temp_para8 ---battery temp 20 voltage
;pmu_bat_temp_para9 ---battery temp 30 voltage
;pmu_bat_temp_para10 ---battery temp 40 voltage
;pmu_bat_temp_para11 ---battery temp 45 voltage
;pmu_bat_temp_para12 ---battery temp 50 voltage
;pmu_bat_temp_para13 ---battery temp 55 voltage
;pmu_bat_temp_para14 ---battery temp 60 voltage
;pmu_bat_temp_para15 ---battery temp 70 voltage
;pmu_bat_temp_para16 ---battery temp 80 voltage
;pmu_powkey_off_time ---set pek off time,ms, 4000/6000/8000/10000
;pmu_powkey_off_func ---set pek off func, 0:shutdown,1:restart
;pmu_powkey_off_en ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown
;pmu_powkey_long_time ---set pek pek long irq time,ms,1000/1500/2000/2500
;pmu_powkey_on_time ---set pek on time,ms,128/1000/2000/3000
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;--------------------------------------------------------------------------------------------------------
[pmu0]
used = 0
pmu_id = 6
pmu_twi_addr = 0x34
pmu_twi_id = 1
pmu_irq_id = 0
pmu_chg_ic_temp = 0
pmu_battery_rdc = 100
pmu_battery_cap = 0
pmu_runtime_chgcur = 450
pmu_suspend_chgcur = 1500
pmu_shutdown_chgcur = 1500
pmu_init_chgvol = 4200
pmu_ac_vol = 4000
pmu_ac_cur = 0
pmu_usbpc_vol = 4400
pmu_usbpc_cur = 500
pmu_battery_warning_level1 = 15
pmu_battery_warning_level2 = 0
pmu_chgled_func = 0
pmu_chgled_type = 0
pmu_bat_para1 = 0
pmu_bat_para2 = 0
pmu_bat_para3 = 0
pmu_bat_para4 = 0
pmu_bat_para5 = 0
pmu_bat_para6 = 0
pmu_bat_para7 = 0
pmu_bat_para8 = 0
pmu_bat_para9 = 5
pmu_bat_para10 = 8
pmu_bat_para11 = 9
pmu_bat_para12 = 10
pmu_bat_para13 = 13
pmu_bat_para14 = 16
pmu_bat_para15 = 20
pmu_bat_para16 = 33
pmu_bat_para17 = 41
pmu_bat_para18 = 46
pmu_bat_para19 = 50
pmu_bat_para20 = 53
pmu_bat_para21 = 57
pmu_bat_para22 = 61
pmu_bat_para23 = 67
pmu_bat_para24 = 73
pmu_bat_para25 = 78
pmu_bat_para26 = 84
pmu_bat_para27 = 88
pmu_bat_para28 = 92
pmu_bat_para29 = 93
pmu_bat_para30 = 94
pmu_bat_para31 = 95
pmu_bat_para32 = 100
pmu_bat_temp_enable = 0
pmu_bat_charge_ltf = 2261
pmu_bat_charge_htf = 388
pmu_bat_shutdown_ltf = 3200
pmu_bat_shutdown_htf = 237
pmu_bat_temp_para1 = 7466
pmu_bat_temp_para2 = 4480
pmu_bat_temp_para3 = 3518
pmu_bat_temp_para4 = 2786
pmu_bat_temp_para5 = 2223
pmu_bat_temp_para6 = 1788
pmu_bat_temp_para7 = 1448
pmu_bat_temp_para8 = 969
pmu_bat_temp_para9 = 664
pmu_bat_temp_para10 = 466
pmu_bat_temp_para11 = 393
pmu_bat_temp_para12 = 333
pmu_bat_temp_para13 = 283
pmu_bat_temp_para14 = 242
pmu_bat_temp_para15 = 179
pmu_bat_temp_para16 = 134
pmu_powkey_off_time = 6000
pmu_powkey_off_func = 0
pmu_powkey_off_en = 1
pmu_powkey_long_time = 1500
pmu_powkey_on_time = 1000
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;regulator tree
;--------------------------------------------------------------------------------------------------------
[pmu0_regu]
regulator_count = 23
regulator1 = "axp28_rtc"
regulator2 = "axp28_aldo1"
regulator3 = "axp28_aldo2"
regulator4 = "axp28_aldo3"
regulator5 = "axp28_dldo1"
regulator6 = "axp28_dldo2"
regulator7 = "axp28_dldo3"
regulator8 = "axp28_dldo4"
regulator9 = "axp28_eldo1"
regulator0 = "axp28_eldo2"
regulator11 = "axp28_eldo3"
regulator12 = "axp28_fldo1"
regulator13 = "axp28_fldo2"
regulator14 = "axp28_dcdc1"
regulator15 = "axp28_dcdc2"
regulator16 = "axp28_dcdc3"
regulator17 = "axp28_dcdc4"
regulator18 = "axp28_dcdc5"
regulator19 = "axp28_dcdc6"
regulator20 = "axp28_dcdc7"
regulator21 = "axp28_gpio0ldo"
regulator22 = "axp28_gpio1ldo"
;----------------------------------------------------------------------------------
; dvfs voltage-frequency table configuration
;
; max_freq: cpu maximum frequency, based on Hz
; min_freq: cpu minimum frequency, based on Hz
;
; LV_count: count of LV_freq/LV_volt, must be < 16
;
; LV1: core vdd is 1.50v if cpu frequency is (1344Mhz, 1536Mhz]
; LV2: core vdd is 1.46v if cpu frequency is (1200Mhz, 1344Mhz]
; LV3: core vdd is 1.32v if cpu frequency is (1008Mhz, 1200Mhz]
; LV4: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz]
; LV5: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz]
; LV6: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
; LV7: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
; LV8: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
;
;----------------------------------------------------------------------------------
[dvfs_table]
;extremity_freq = 1344000000
max_freq = 1200000000
min_freq = 480000000
LV_count = 8
LV1_freq = 1536000000
LV1_volt = 1500
LV2_freq = 1344000000
LV2_volt = 1460
LV3_freq = 1200000000
LV3_volt = 1320
LV4_freq = 1008000000
LV4_volt = 1200
LV5_freq = 816000000
LV5_volt = 1100
LV6_freq = 648000000
LV6_volt = 1040
LV7_freq = 0
LV7_volt = 1040
LV8_freq = 0
LV8_volt = 1040
;----------------------------------------------------------------------------------
;virtual device
;virtual device for pinctrl testing
;device have pin PA1 PA2
;----------------------------------------------------------------------------------
[Vdevice]
Vdevice_used = 0
Vdevice_0 = port:PC00<4><1><2><default>
Vdevice_1 = port:PC01<4><1><2><default>
[fel_key]
keyen_flag = 1
fel_key_max = 426
fel_key_min = 256
正常烧录到TF卡:
[0]beign to init dram
[23]init dram ok
U-Boot 2014.07 (Aug 21 2019 - 14:53:36) Allwinner Technology
uboot commit : 78cb55af380c57c0278162e241a9999cdc16e1d6
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[2.997]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[3.003]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
DRAM: 32 MiB
[3.013]fdt addr: 0x809e7820
[3.015]gd->fdt_size: 0xc320
Relocation Offset is: 01520000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
[3.085]flash init start
workmode = 16,storage type = 3
try card 1
[3.091][mmc]: mmc driver ver 2018-12-27 9:21:00
SUNXI SD/MMC: 1
[3.109][mmc]: ************Try SD card 1************
[3.119][mmc]: host caps: 0x23
[3.122][mmc]: MID 00 PSN 00000289
[3.125][mmc]: PNM APPSD -- 0x41-50-50-53-44
[3.129][mmc]: PRV 0.0
[3.131][mmc]: MDT m-3 y-2018
[3.134][mmc]: user capacity : 120 MB
[3.137][mmc]: cache size 0 KB
[3.140][mmc]: cache ctl 0
[3.142][mmc]: SD/MMC 1 init OK!!!
[3.146][mmc]: End mmc_init_boot
read mbr copy[0] failed
read mbr copy[1] failed
read mbr copy[2] failed
read mbr copy[3] failed
[3.158]flash init end
[3.160]try to burn key
[3.164]inter uboot shell
Hit any key to stop autoboot: 0
work mode=0x10
run usb efex
delay time 2500
int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
usb init ok
set address 0x1
SUNXI_EFEX_ERASE_TAG
erase_flag = 0x0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
the 0 mbr table is ok
the 1 mbr table is ok
the 2 mbr table is ok
the 3 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x400
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2400
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2600
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5600
part[3] lenlo :0xc800
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x11e00
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x1e600
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x1e800
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x1ea00
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
total part: 9
mbr 0, 2000, 8000
bootlogo 1, 400, 8000
env 2, 200, 8000
boot 3, 3000, 8000
rootfs 4, c800, 8000
rootfs_data 5, c800, 8000
misc 6, 200, 8000
private 7, 200, 8000
UDISK 8, 0, 8100
not need erase flash
sunxi_sprite_erase_flash, erase_flag=0
private part exist
the 0 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x400
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2400
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2600
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5600
part[3] lenlo :0xc800
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x11e00
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x1e600
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x1e800
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x1ea00
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
begin to store data
part name bootlogo
keydata = 0x0
part name env
keydata = 0x0
part name boot
keydata = 0x0
part name rootfs
keydata = 0x0
part name rootfs_data
keydata = 0x0
part name misc
keydata = 0x0
part name private
keydata = 0x0
find keypart private
keypart read start: 0x1e800, sectors 0x200
keypart part private read end: 0x1e800, sectors 0x200
part name UDISK
keydata = 0x0
need_erase_flag = 0
begin to erase
finish erase
rewrite
keypart write start: 0x1e800, sectors 0x200
keypart write end: 0x1e800, sectors 0x200
flash exit
SUNXI_EFEX_MBR_TAG
mbr size = 0x10000
begin to write standard mbr
successed to write standard mbr
sunxi_sprite_verify_mbr_from_flash
the 0 mbr table is ok
the 1 mbr table is ok
the 2 mbr table is ok
the 3 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x400
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2400
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2600
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5600
part[3] lenlo :0xc800
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x11e00
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x1e600
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x1e800
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x1ea00
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
FEX_CMD_fes_verify_value, start 0x2000, size high 0x0:low 0x4b036
FEX_CMD_fes_verify_value 0x60b4446e
FEX_CMD_fes_verify_value, start 0x2400, size high 0x0:low 0x20000
FEX_CMD_fes_verify_value 0xc6018f2f
FEX_CMD_fes_verify_value, start 0x2600, size high 0x0:low 0x293970
FEX_CMD_fes_verify_value 0x4ad56ee9
FEX_CMD_fes_verify_value, start 0x5600, size high 0x0:low 0x500000
FEX_CMD_fes_verify_value 0x4224501f
bootfile_mode=4
SUNXI_EFEX_BOOT1_TAG
boot1 size = 0xb8000
uboot_pkg magic 0x89119800
uboot size = 0xb8000
storage type = 6
mmc down uboot
uboot_pkg magic 0x89119800
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
bootfile_mode=4
SUNXI_EFEX_BOOT0_TAG
boot0 size = 0x8000
production_media:6!
[24.660][mmc]: write mmc info ok
dram para[0] = ea00018e
dram para[1] = 6f6f6275
dram para[2] = 74
dram para[3] = c378ee87
dram para[4] = 4000
dram para[5] = a4000
dram para[6] = a4000
dram para[7] = 2e302e33
dram para[8] = 30
dram para[9] = 2e302e31
dram para[10] = 30
dram para[11] = 80800000
dram para[12] = 80000000
dram para[13] = 0
dram para[14] = 0
dram para[15] = 0
dram para[16] = 0
dram para[17] = 0
dram para[18] = 0
dram para[19] = 0
dram para[20] = 0
dram para[21] = 0
dram para[22] = 0
dram para[23] = 0
dram para[24] = 0
dram para[25] = 0
dram para[26] = 0
dram para[27] = 0
dram para[28] = 0
dram para[29] = 0
dram para[30] = 0
dram para[31] = 0
storage type = 6
card1 download boot0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
sunxi_efex_next_action=2
exit usb
sunxi dma exit
next work 2
SUNXI_UPDATE_NEXT_ACTION_REBOOT
set next mode 14
sunxi dma exit
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62]card no is 1
[63]sdcard 1 line count 1
[65][mmc]: mmc driver ver 2018-5-23 16:07:00
[69][mmc]: mmc_get_timing_cfg: input para error!
[74][mmc]: mmc_get_timing_cfg: input para error!
[84][mmc]: Wrong media type 0xffffff00
[87][mmc]: ***Try SD card 1***
[97][mmc]: DS26/SDR12 1 bit
[100][mmc]: 25000000 Hz
[102][mmc]: 120 MB
[103][mmc]: ***SD/MMC 1 init OK!!!***
[388]Loading boot-pkg Succeed(index=0).
[401]Ready to disable icache.
[403]Jump to secend Boot.
这是日志:
U-Boot 2014.07 (Aug 21 2019 - 14:53:36) Allwinner Technology
uboot commit : 78cb55af380c57c0278162e241a9999cdc16e1d6
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.452]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.459]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 64 MiB
Relocation Offset is: 03520000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 6
[0.542]MMC: 1
SUNXI SD/MMC: 1
used mbr [0], count = 8
logo addr = 0x83f00000
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 400000 80000
env : 480000 40000
boot : 4c0000 600000
rootfs : ac0000 1900000
rootfs_data : 23c0000 1900000
misc : 3cc0000 40000
private : 3d00000 40000
UDISK : 3d40000 0
-----------------------------------
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2701616 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f31f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (cube@global) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #49 Wed Mar 31 03:13:49 UTC 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: reserved 32 MiB at 82000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat c0574d14, node_mem_map c05a2000
[ 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] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mmcblk0p7 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mmcblk0p2:env@mmcblk0p5:boot@mmcblk0p6:rootfs@mmcblk0p7:rootfs_data@mmcblk0p8:misc@mmcblk0p9:private@mmcblk0p10:UDISK@mmcblk0p1 cma=32M rootdelay=5 fb_base=0x83f00000 androidboot.serialno=0000000000000000000 boot_type=6
[ 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: 64MB = 64MB total
[ 0.000000] Memory: 26220k/26220k available, 39316k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc046ff84 (4512 kB)
[ 0.000000] .init : 0xc0470000 - 0xc048e038 ( 121 kB)
[ 0.000000] .data : 0xc0490000 - 0xc0575688 ( 918 kB)
[ 0.000000] .bss : 0xc0575688 - 0xc05a1eb0 ( 179 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005329] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075252] pid_max: default: 32768 minimum: 301
[ 0.080434] Mount-cache hash table entries: 512
[ 0.086432] CPU: Testing write buffer coherency: ok
[ 0.092226] Setting up static identity map for 0xc036a8b0 - 0xc036a908
[ 0.101524] devtmpfs: initialized
[ 0.107140] pinctrl core: initialized pinctrl subsystem
[ 0.119530] NET: Registered protocol family 16
[ 0.127535] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.135202] dump_class_init,844, success
[ 0.144039] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.167696] bio: create slab <bio-0> at 0
[ 0.173223] pwm module init!
[ 0.178008] SCSI subsystem initialized
[ 0.182187] usbcore: registered new interface driver usbfs
[ 0.188070] usbcore: registered new interface driver hub
[ 0.193954] usbcore: registered new device driver usb
[ 0.201483] gpio=0,mul_sel=0,pull=0,drv_level=0,data=0
[ 0.207196] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.215739] pcf857x 0-0020: retry commucation.7
[ 0.220704] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.229230] pcf857x 0-0020: retry commucation.6
[ 0.234205] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.242722] pcf857x 0-0020: retry commucation.5
[ 0.247678] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.256197] pcf857x 0-0020: retry commucation.4
[ 0.261148] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.269665] pcf857x 0-0020: retry commucation.3
[ 0.274643] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.283157] pcf857x 0-0020: retry commucation.2
[ 0.288109] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.296625] pcf857x 0-0020: retry commucation.1
[ 0.301577] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.310124] pcf857x: probe of 0-0020 failed with error -70
[ 0.319638] Linux video capture interface: v2.00
[ 0.325064] Advanced Linux Sound Architecture Driver Initialized.
[ 0.333034] cfg80211: Calling CRDA to update world regulatory domain
[ 0.341798] Switching to clocksource sun3i high-res couter
[ 0.366826] get det_vbus is fail, 84
[ 0.372247] NET: Registered protocol family 2
[ 0.378927] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.386042] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.392703] TCP: Hash tables configured (established 512 bind 512)
[ 0.399260] TCP: reno registered
[ 0.402654] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.408766] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.415866] NET: Registered protocol family 1
[ 0.433911] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.440563] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.446990] msgmni has been set to 115
[ 0.454234] io scheduler noop registered
[ 0.458527] io scheduler cfq registered (default)
[ 0.463400] [pm]aw_pm_init!
[ 0.466662] [pm]valid
[ 0.469156] [pm]valid
[ 0.471883] [DISP]disp_module_init
[ 0.527687] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.535065] num_screens=1
[ 0.537956] screen_id=0
[ 0.540536] para->mclk[MOD_CLK_LCD1CH0]=0xc180c340
[ 0.545486] para->mclk[MOD_CLK_LCD1CH1]=0xc180c440
[ 0.550486] disp tv init
[ 0.553154] tcon_clk=0xc180c340, tcon_clk_parent=0x0
[ 0.558324] tcon_clk=0xc180c340, tcon_clk_parent=0xc1804400
[ 0.564071] tve_clk=0xc180c440, tve_clk_parent=0xc1804400
[ 0.569668] disp al tv init
[ 0.575330] fetch script datadisp.screen2_output_type fail
[ 0.581422] fetch script datadisp.screen2_output_mode fail
[ 0.589802] fetch script datadisp.fb2_format fail
[ 0.594977] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.601283] fetch script datadisp.fb2_width fail
[ 0.606372] fetch script datadisp.fb2_height fail
[ 0.634538] [DISP]disp_module_init finish
[ 0.652774] uart1: ttyS1 at MMIO 0x1c25400 (irq = 104) is a SUNXI
[ 0.659218] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n
[ 0.667380] console [ttyS1] enabled, bootconsole disabled
[ 0.667380] console [ttyS1] enabled, bootconsole disabled
[ 0.679949] misc dump reg init
[ 0.684602] sunxi-wlan wlan: wlan_busnum (0)
[ 0.689487] sunxi-wlan wlan: wlan_power_num (0)
[ 0.694530] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 0.700384] sunxi-wlan wlan: io_regulator_name ((null))
[ 0.706217] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 0.714077] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 0.722050] sunxi-wlan wlan: wlan_regon gpio=-1048149120 mul-sel=-1048355436 pull=-1048355480 drv_level=-1072832404 data=-1072834700
[ 0.735692] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 0.742330] platform wlan: Driver sunxi-wlan requests probe deferral
[ 0.749769] lradc_battery_probe:lradc_battery_probe ++++++
[ 0.755867] lradc_battery_dts_parse:lradc_battery_dts_parse ++++++
[ 0.762831] key base: f1c23400
[ 0.766360] irq num: 114 !
[ 0.769433] battery_data_hw_init:battery_data_hw_init ++++++
[ 0.775769] lradc_battery_probe:lradc_battery_probe ------
[ 0.783441] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.792039] gpio_request failed
[ 0.795548] get regulator_io is no nocare
[ 0.800275] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver
[ 0.808308] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1
[ 0.820143] hub 1-0:1.0: USB hub found
[ 0.824361] hub 1-0:1.0: 1 port detected
[ 0.829317] wrn: hcd is not enable, need not stop hcd
[ 0.835676] sunxi_keyboard_startup: keyboard has no clk.
[ 0.842293] input: sunxi-keyboard as /devices/virtual/input/input0
[ 0.850338] rtc-pcf8563 0-0051: chip found, driver version 0.4.3
[ 0.857438] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 0.866707] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 0.873945] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 0.881597] sunxi cedar version 0.1
[ 0.885716] VE: install start!!!
[ 0.885716]
[ 0.891211] cedar_ve: cedar-ve the get irq is 103
[ 0.897041] VE: install end!!!
[ 0.897041]
[ 0.903793] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Mar 31 2021 at 03:13:29
[ 0.916288] sunxi-mmc sdc0: regulator prop vmmc,str none
[ 0.922289] sunxi-mmc sdc0: regulator prop vqmmc,str none
[ 0.928370] sunxi-mmc sdc0: regulator prop vdmmc,str none
[ 0.934373] sunxi-mmc sdc0: Failed getting OCR mask: 0
[ 0.941525] sunxi-mmc sdc0: ***set host ocr***
[ 0.946844] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.967712] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.997861] sunxi-mmc sdc0: base:0xf1c0f000 irq:106
[ 1.003317] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.010174] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.016170] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.030402] failed to get gpio-spk and gpio_num
[ 1.038916] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTR
[ 1.046912] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTL
[ 1.054916] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKL
[ 1.062699] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKR
[ 1.070465] sunxi-codec-machine sound.2: ASoC: DAPM unknown pin External Speaker
[ 1.079811] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.098652] sunxi-codec-machine sound.2: sun3iw1codec <-> 1c23c00.cpudai0-controller mapping ok
[ 1.108567] sunxi-codec-machine sound.2: ASoC: no sink widget found for MainMic Bias
[ 1.117172] sunxi-codec-machine sound.2: ASoC: Failed to add route External MainMic -> direct -> MainMic Bias
[ 1.128241] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.137035] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1P
[ 1.147017] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.155843] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1N
[ 1.168168] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.174900] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.181713] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.188013] ipip: IPv4 over IPv4 tunneling driver
[ 1.193289] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.199951] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
[ 1.211425] gre: GRE over IPv4 demultiplexor driver
[ 1.216856] ip_gre: GRE over IPv4 tunneling driver
[ 1.222429] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
[ 1.235486] TCP: cubic registered
[ 1.239299] Initializing XFRM netlink socket
[ 1.245259] NET: Registered protocol family 17
[ 1.251369] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing LEGACY(SDR12) dt B
[ 1.262278] NET: Registered protocol family 15
[ 1.267832] VFP support v0.3: not present
[ 1.274792] [LCD]lcd_module_init
[ 1.282517] enhance_en=1
[ 1.285393] matrixresult:(0x0, 0x3c4, 0x0, 0x0)
[ 1.290671] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 1.297940] clk_div=9
[ 1.300480] [DISP] disp_sys_gpio_request,line:303: disp_sys_gpio_request failed, gpio_name=lcd_gpio_0, gpio=2043, ret=-517
[ 1.314739] [LCD]open, step 0 finish
[ 1.326092] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.337023] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 16 width 1 timing SD-HS(SDR25) dt B
[ 1.347848] sunxi-mmc sdc0: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 1 timing SD-HS(SDR25) dt B
[ 1.358788] [LCD]open, step 1 finish
[ 1.362975] sunxi-mmc sdc0: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 4 timing SD-HS(SDR25) dt B
[ 1.373949] mmc0: new high speed SD card at address 0002
[ 1.380792] mmcblk0: mmc0:0002 N/A 1.85 GiB
[ 1.387718] mmcblk0:
[ 1.417735] [LCD]open, step 2 finish
[ 1.537691] ------------[ cut here ]------------
[ 1.542890] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.550688] invalid GPIO -517
[ 1.554007] Modules linked in:
[ 1.557415] CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 3.10.65 #49
[ 1.564454] Workqueue: events start_work
[ 1.568853] Backtrace:
[ 1.571669] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.581082] r7:0000007e r6:c042213d r5:00000009 r4:c185bda8
[ 1.587489] [<c001351c>] (show_stack+0x0/0x1c) from [<c0367810>] (dump_stack+0x20/0x28)
[ 1.596495] [<c03677f0>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 1.606454] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 1.617014] r9:c0587480 r8:c0422f52 r7:00000001 r6:00000000 r5:c18cb3c0
r4:fffffdfb
[ 1.625857] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 1.635654] r3:fffffdfb r2:c042212c
[ 1.639732] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014bc3c>] (gpio_get_value_cansleep+0x10/0x44)
[ 1.650160] [<c014bc2c>] (gpio_get_value_cansleep+0x0/0x44) from [<c015a7fc>] (disp_sys_gpio_set_direction+0x20/0xb8)
[ 1.662068] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 1.674288] r5:c18cb3c0 r4:c1814000
[ 1.678355] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 1.690949] r7:c1814000 r6:c0587208 r5:00000001 r4:00000000
[ 1.697308] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 1.710005] r5:00000000 r4:00000003
[ 1.714031] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 1.724852] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 1.734289] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 1.743806] r9:c0587480 r8:c0422f6f r7:00000001 r6:c0422eff r5:c05876f4
r4:00000000
[ 1.752602] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 1.762436] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 1.773323] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 1.783966] r5:c049cbd0 r4:c1822e40
[ 1.788047] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 1.797065] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 1.806007] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 1.812349] ---[ end trace 70e512b2faf07e20 ]---
[ 1.817470] ------------[ cut here ]------------
[ 1.822685] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.830452] invalid GPIO -517
[ 1.833739] Modules linked in:
[ 1.837142] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #49
[ 1.845237] Workqueue: events start_work
[ 1.849635] Backtrace:
[ 1.852417] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.861850] r7:0000007e r6:c042213d r5:00000009 r4:c185bda0
[ 1.868252] [<c001351c>] (show_stack+0x0/0x1c) from [<c0367810>] (dump_stack+0x20/0x28)
[ 1.877212] [<c03677f0>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 1.887149] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 1.897737] r9:c0587480 r8:c0422f52 r7:00000001 r6:00000000 r5:c18cb3c0
r4:00000000
[ 1.906547] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 1.916350] r3:fffffdfb r2:c042212c
[ 1.920415] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014c628>] (gpio_direction_output+0x14/0x20)
[ 1.930673] [<c014c614>] (gpio_direction_output+0x0/0x20) from [<c015a808>] (disp_sys_gpio_set_direction+0x2c/0xb8)
[ 1.942311] r5:c18cb3c0 r4:fffffdfb
[ 1.946368] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 1.958591] r5:c18cb3c0 r4:c1814000
[ 1.962618] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 1.975216] r7:c1814000 r6:c0587208 r5:00000001 r4:00000000
[ 1.981609] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 1.994306] r5:00000000 r4:00000003
[ 1.998378] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 2.009199] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.018638] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.028152] r9:c0587480 r8:c0422f6f r7:00000001 r6:c0422eff r5:c05876f4
r4:00000000
[ 2.036907] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.046740] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.057636] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.068279] r5:c049cbd0 r4:c1822e40
[ 2.072290] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.081376] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.090326] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.096630] ---[ end trace 70e512b2faf07e21 ]---
[ 2.101788] gpiod_direction_output: invalid GPIO
[ 2.106940] [DISP] disp_sys_gpio_set_direction,line:413: gpio_direction_output fail!
[ 2.115867] ------------[ cut here ]------------
[ 2.121068] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 2.128850] invalid GPIO -517
[ 2.132136] Modules linked in:
[ 2.135537] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #49
[ 2.143633] Workqueue: events start_work
[ 2.148030] Backtrace:
[ 2.150816] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 2.160249] r7:0000007e r6:c042213d r5:00000009 r4:c185bda8
[ 2.166611] [<c001351c>] (show_stack+0x0/0x1c) from [<c0367810>] (dump_stack+0x20/0x28)
[ 2.175631] [<c03677f0>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.185557] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.196130] r9:c0587480 r8:c0422f52 r7:00000001 r6:00000000 r5:c18cb3c0
r4:00000001
[ 2.204942] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 2.214752] r3:fffffdfb r2:c042212c
[ 2.218811] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014be10>] (gpio_set_value_cansleep+0x14/0x6c)
[ 2.229254] [<c014bdfc>] (gpio_set_value_cansleep+0x0/0x6c) from [<c015a8f8>] (disp_sys_gpio_set_value+0x18/0x4c)
[ 2.240676] r5:c18cb3c0 r4:c1814000
[ 2.244751] [<c015a8e0>] (disp_sys_gpio_set_value+0x0/0x4c) from [<c0170c94>] (disp_lcd_gpio_set_value+0xa8/0xc8)
[ 2.256235] [<c0170bec>] (disp_lcd_gpio_set_value+0x0/0xc8) from [<c016c6ec>] (bsp_disp_lcd_gpio_set_value+0x38/0x44)
[ 2.268065] r7:c1814000 r6:c0587208 r5:00000001 r4:00000000
[ 2.274413] [<c016c6b4>] (bsp_disp_lcd_gpio_set_value+0x0/0x44) from [<c0177244>] (sunxi_lcd_gpio_set_value+0x20/0x30)
[ 2.286339] r5:00000000 r4:00000003
[ 2.290405] [<c0177224>] (sunxi_lcd_gpio_set_value+0x0/0x30) from [<c017a9d0>] (LCD_bl_open+0x38/0x3c)
[ 2.300833] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.310298] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.319799] r9:c0587480 r8:c0422f6f r7:00000001 r6:c0422eff r5:c05876f4
r4:00000000
[ 2.328622] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.338430] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.349323] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.359984] r5:c049cbd0 r4:c1822e40
[ 2.363999] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.373062] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.382004] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.388345] ---[ end trace 70e512b2faf07e22 ]---
[ 2.393488] [LCD]open, step 3 finish
[ 2.398172] [LCD]lcd_module_init finish
[ 2.403096] sunxi-wlan wlan: wlan_busnum (0)
[ 2.407996] sunxi-wlan wlan: wlan_power_num (0)
[ 2.413084] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 2.418954] sunxi-wlan wlan: io_regulator_name ((null))
[ 2.424856] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 2.432767] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 2.440761] sunxi-wlan wlan: wlan_regon gpio=-1048149120 mul-sel=-1047954028 pull=-1047954072 drv_level=-1072832404 data=-1072834700
[ 2.454439] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 2.461118] platform wlan: Driver sunxi-wlan requests probe deferral
[ 2.468529] usb_serial_number:20080411
[ 2.473268] file system registered
[ 2.480051] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 2.487827] android_usb gadget: Number of LUNs=3
[ 2.493057] lun0: LUN: removable file: (no medium)
[ 2.498545] lun1: LUN: removable file: (no medium)
[ 2.503959] lun2: LUN: removable file: (no medium)
[ 2.510318] android_usb gadget: android_usb ready
[ 2.515978] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 2.525253] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 2.532018] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 2.539921] ALSA device list:
[ 2.543227] #0: audiocodec
[ 2.547201] Waiting 5sec before mounting root device...
[ 4.387660]
[ 4.387660] insmod_device_driver
[ 4.387660]
[ 4.394817] device_chose finished 77!
[ 7.558115] VFS: Cannot open root device "mmcblk0p7" or unknown-block(179,7): error -6
[ 7.567005] Please append a correct "root=" boot option; here are the available partitions:
[ 7.576388] b300 1949696 mmcblk0 driver: mmcblk
[ 7.582360] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,7)
检测到了卡, 但是生成分区失败:
[ 1.362975] sunxi-mmc sdc0: sdc set ios: clk 50000000Hz bm PP pm ON vdd 16 width 4 timing SD-HS(SDR25) dt B
[ 1.373949] mmc0: new high speed SD card at address 0002
[ 1.380792] mmcblk0: mmc0:0002 N/A 1.85 GiB
[ 1.387718] mmcblk0:
错误:
[ 1.166637] sunxi-mmc sdc1: smc 0 p1 err, cmd 1, RTO !!
跟踪代码: lichee/linux-3.10/drivers/mmc/host/sunxi-mmc.c
static void sunxi_mmc_dump_errinfo(struct sunxi_mmc_host *host)
{
struct mmc_command *cmd = host->mrq->cmd;
struct mmc_data *data = host->mrq->data;
/* For some cmds timeout is normal with sd/mmc cards */
/*
if ((host->int_sum & SDXC_INTERRUPT_ERROR_BIT) == SDXC_RESP_TIMEOUT && (cmd->opcode == SD_IO_SEND_OP_COND || cmd->opcode == SD_IO_RW_DIRECT))
return;
*/
dev_err(mmc_dev(host->mmc),
"smc %d p%d err, cmd %d,%s%s%s%s%s%s%s%s%s%s !!\n",
host->mmc->index, host->phy_index, cmd->opcode,
data ? (data->flags & MMC_DATA_WRITE ? " WR" : " RD") : "",
host->int_sum & SDXC_RESP_ERROR ? " RE" : "",
host->int_sum & SDXC_RESP_CRC_ERROR ? " RCE" : "",
host->int_sum & SDXC_DATA_CRC_ERROR ? " DCE" : "",
host->int_sum & SDXC_RESP_TIMEOUT ? " RTO" : "",
host->int_sum & SDXC_DATA_TIMEOUT ? " DTO" : "",
host->int_sum & SDXC_FIFO_RUN_ERROR ? " FE" : "",
host->int_sum & SDXC_HARD_WARE_LOCKED ? " HL" : "",
host->int_sum & SDXC_START_BIT_ERROR ? " SBE" : "",
host->int_sum & SDXC_END_BIT_ERROR ? " EBE" : "");
/*sunxi_mmc_dumphex32(host,"sunxi mmc",host->reg_base,0x180);*/
/*sunxi_mmc_dump_des(host,host->sg_cpu,PAGE_SIZE);*/
}
SDXC_RESP_TIMEOUT 这个错误?
响应超时?
启动失败, 没有生成分区:
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62]card no is 1
[63]sdcard 1 line count 1
[66][mmc]: mmc driver ver 2018-5-23 16:07:00
[70][mmc]: mmc_get_timing_cfg: input para error!
[74][mmc]: mmc_get_timing_cfg: input para error!
[84][mmc]: Wrong media type 0xffffff00
[87][mmc]: ***Try SD card 1***
[97][mmc]: DS26/SDR12 1 bit
[100][mmc]: 25000000 Hz
[102][mmc]: 120 MB
[104][mmc]: ***SD/MMC 1 init OK!!!***
[389]Loading boot-pkg Succeed(index=0).
[401]Ready to disable icache.
[404]Jump to secend Boot.
U-Boot 2014.07 (Aug 21 2019 - 14:53:36) Allwinner Technology
uboot commit : 78cb55af380c57c0278162e241a9999cdc16e1d6
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.452]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.459]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 64 MiB
Relocation Offset is: 03520000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 6
[0.542]MMC: 1
SUNXI SD/MMC: 1
used mbr [0], count = 8
logo addr = 0x83f00000
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 400000 80000
env : 480000 40000
boot : 4c0000 600000
rootfs : ac0000 1900000
rootfs_data : 23c0000 1900000
misc : 3cc0000 40000
private : 3d00000 40000
UDISK : 3d40000 0
-----------------------------------
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2701616 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f31f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (cube@global) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #46 Wed Mar 31 01:28:24 UTC 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: reserved 32 MiB at 82000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat c0574d14, node_mem_map c05a2000
[ 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] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mmcblk0p7 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mmcblk0p2:env@mmcblk0p5:boot@mmcblk0p6:rootfs@mmcblk0p7:rootfs_data@mmcblk0p8:misc@mmcblk0p9:private@mmcblk0p10:UDISK@mmcblk0p1 cma=32M rootdelay=5 fb_base=0x83f00000 androidboot.serialno=0000000000000000000 boot_type=6
[ 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: 64MB = 64MB total
[ 0.000000] Memory: 26220k/26220k available, 39316k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc046ff84 (4512 kB)
[ 0.000000] .init : 0xc0470000 - 0xc048e038 ( 121 kB)
[ 0.000000] .data : 0xc0490000 - 0xc0575688 ( 918 kB)
[ 0.000000] .bss : 0xc0575688 - 0xc05a1eb0 ( 179 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005322] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075251] pid_max: default: 32768 minimum: 301
[ 0.080431] Mount-cache hash table entries: 512
[ 0.086406] CPU: Testing write buffer coherency: ok
[ 0.092199] Setting up static identity map for 0xc036a8b0 - 0xc036a908
[ 0.101497] devtmpfs: initialized
[ 0.107107] pinctrl core: initialized pinctrl subsystem
[ 0.119514] NET: Registered protocol family 16
[ 0.127530] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.135198] dump_class_init,844, success
[ 0.144032] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.167624] bio: create slab <bio-0> at 0
[ 0.173163] pwm module init!
[ 0.177947] SCSI subsystem initialized
[ 0.182125] usbcore: registered new interface driver usbfs
[ 0.188009] usbcore: registered new interface driver hub
[ 0.193892] usbcore: registered new device driver usb
[ 0.201429] gpio=0,mul_sel=0,pull=0,drv_level=0,data=0
[ 0.207145] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.215693] pcf857x 0-0020: retry commucation.7
[ 0.220658] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.229183] pcf857x 0-0020: retry commucation.6
[ 0.234161] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.242679] pcf857x 0-0020: retry commucation.5
[ 0.247632] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.256148] pcf857x 0-0020: retry commucation.4
[ 0.261099] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.269615] pcf857x 0-0020: retry commucation.3
[ 0.274590] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.283102] pcf857x 0-0020: retry commucation.2
[ 0.288056] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.296569] pcf857x 0-0020: retry commucation.1
[ 0.301519] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.310063] pcf857x: probe of 0-0020 failed with error -70
[ 0.319617] Linux video capture interface: v2.00
[ 0.325055] Advanced Linux Sound Architecture Driver Initialized.
[ 0.333025] cfg80211: Calling CRDA to update world regulatory domain
[ 0.341786] Switching to clocksource sun3i high-res couter
[ 0.366810] get det_vbus is fail, 84
[ 0.372227] NET: Registered protocol family 2
[ 0.378897] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.386012] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.392672] TCP: Hash tables configured (established 512 bind 512)
[ 0.399223] TCP: reno registered
[ 0.402616] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.408728] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.415828] NET: Registered protocol family 1
[ 0.433908] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.440566] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.447001] msgmni has been set to 115
[ 0.454226] io scheduler noop registered
[ 0.458516] io scheduler cfq registered (default)
[ 0.463391] [pm]aw_pm_init!
[ 0.466658] [pm]valid
[ 0.469154] [pm]valid
[ 0.471879] [DISP]disp_module_init
[ 0.527678] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.535051] num_screens=1
[ 0.537937] screen_id=0
[ 0.540518] para->mclk[MOD_CLK_LCD1CH0]=0xc180c340
[ 0.545468] para->mclk[MOD_CLK_LCD1CH1]=0xc180c440
[ 0.550471] disp tv init
[ 0.553140] tcon_clk=0xc180c340, tcon_clk_parent=0x0
[ 0.558309] tcon_clk=0xc180c340, tcon_clk_parent=0xc1804400
[ 0.564056] tve_clk=0xc180c440, tve_clk_parent=0xc1804400
[ 0.569652] disp al tv init
[ 0.575338] fetch script datadisp.screen2_output_type fail
[ 0.581431] fetch script datadisp.screen2_output_mode fail
[ 0.589813] fetch script datadisp.fb2_format fail
[ 0.594988] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.601295] fetch script datadisp.fb2_width fail
[ 0.606379] fetch script datadisp.fb2_height fail
[ 0.634570] [DISP]disp_module_init finish
[ 0.652813] uart1: ttyS1 at MMIO 0x1c25400 (irq = 104) is a SUNXI
[ 0.659255] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n
[ 0.667416] console [ttyS1] enabled, bootconsole disabled
[ 0.667416] console [ttyS1] enabled, bootconsole disabled
[ 0.679980] misc dump reg init
[ 0.684659] sunxi-wlan wlan: wlan_busnum (0)
[ 0.689548] sunxi-wlan wlan: wlan_power_num (0)
[ 0.694593] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 0.700448] sunxi-wlan wlan: io_regulator_name ((null))
[ 0.706281] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 0.714141] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 0.722115] sunxi-wlan wlan: wlan_regon gpio=-1048149120 mul-sel=-1048355436 pull=-1048355480 drv_level=-1072832404 data=-1072834700
[ 0.735755] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 0.742392] platform wlan: Driver sunxi-wlan requests probe deferral
[ 0.749825] lradc_battery_probe:lradc_battery_probe ++++++
[ 0.755922] lradc_battery_dts_parse:lradc_battery_dts_parse ++++++
[ 0.762888] key base: f1c23400
[ 0.766414] irq num: 114 !
[ 0.769488] battery_data_hw_init:battery_data_hw_init ++++++
[ 0.775824] lradc_battery_probe:lradc_battery_probe ------
[ 0.783473] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.792078] gpio_request failed
[ 0.795590] get regulator_io is no nocare
[ 0.800318] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver
[ 0.808347] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1
[ 0.820179] hub 1-0:1.0: USB hub found
[ 0.824397] hub 1-0:1.0: 1 port detected
[ 0.829345] wrn: hcd is not enable, need not stop hcd
[ 0.835697] sunxi_keyboard_startup: keyboard has no clk.
[ 0.842313] input: sunxi-keyboard as /devices/virtual/input/input0
[ 0.850363] rtc-pcf8563 0-0051: chip found, driver version 0.4.3
[ 0.857463] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 0.866732] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 0.873977] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 0.881633] sunxi cedar version 0.1
[ 0.885746] VE: install start!!!
[ 0.885746]
[ 0.891243] cedar_ve: cedar-ve the get irq is 103
[ 0.897074] VE: install end!!!
[ 0.897074]
[ 0.903272] sunxi-mmc sdc1: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Mar 31 2021 at 01:27:46
[ 0.915759] sunxi-mmc sdc1: regulator prop vmmc,str none
[ 0.921757] sunxi-mmc sdc1: regulator prop vqmmc,str none
[ 0.927829] sunxi-mmc sdc1: regulator prop vdmmc,str none
[ 0.933830] sunxi-mmc sdc1: Failed getting OCR mask: 0
[ 0.940999] sunxi-mmc sdc1: ***set host ocr***
[ 0.946349] sunxi-mmc sdc1: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.967701] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.997778] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.008698] sunxi-mmc sdc1: base:0xf1c10000 irq:106
[ 1.018345] failed to get gpio-spk and gpio_num
[ 1.026625] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTR
[ 1.034719] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTL
[ 1.042720] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKL
[ 1.050501] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKR
[ 1.058271] sunxi-codec-machine sound.2: ASoC: DAPM unknown pin External Speaker
[ 1.067637] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.086452] sunxi-codec-machine sound.2: sun3iw1codec <-> 1c23c00.cpudai0-controller mapping ok
[ 1.096428] sunxi-codec-machine sound.2: ASoC: no sink widget found for MainMic Bias
[ 1.105107] sunxi-codec-machine sound.2: ASoC: Failed to add route External MainMic -> direct -> MainMic Bias
[ 1.116166] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.124996] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1P
[ 1.134972] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.143793] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1N
[ 1.154912] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.166637] sunxi-mmc sdc1: smc 0 p1 err, cmd 1, RTO !!
[ 1.172623] sunxi-mmc sdc1: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 1.184725] ipip: IPv4 over IPv4 tunneling driver
[ 1.191225] gre: GRE over IPv4 demultiplexor driver
[ 1.196661] ip_gre: GRE over IPv4 tunneling driver
[ 1.205436] TCP: cubic registered
[ 1.209240] Initializing XFRM netlink socket
[ 1.214035] NET: Registered protocol family 17
[ 1.219108] NET: Registered protocol family 15
[ 1.224579] VFP support v0.3: not present
[ 1.230266] [LCD]lcd_module_init
[ 1.237861] enhance_en=1
[ 1.240731] matrixresult:(0x0, 0x3c4, 0x0, 0x0)
[ 1.245902] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 1.253162] clk_div=9
[ 1.255704] [DISP] disp_sys_gpio_request,line:303: disp_sys_gpio_request failed, gpio_name=lcd_gpio_0, gpio=2043, ret=-517
[ 1.269863] [LCD]open, step 0 finish
[ 1.307692] [LCD]open, step 1 finish
[ 1.367662] [LCD]open, step 2 finish
[ 1.487678] ------------[ cut here ]------------
[ 1.492877] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.500678] invalid GPIO -517
[ 1.503995] Modules linked in:
[ 1.507407] CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 3.10.65 #46
[ 1.514445] Workqueue: events start_work
[ 1.518890] Backtrace:
[ 1.521682] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.531100] r7:0000007e r6:c042213d r5:00000009 r4:c185bda8
[ 1.537504] [<c001351c>] (show_stack+0x0/0x1c) from [<c0367810>] (dump_stack+0x20/0x28)
[ 1.546501] [<c03677f0>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 1.556457] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 1.567015] r9:c0587480 r8:c0422f52 r7:00000001 r6:00000000 r5:c18cb3c0
r4:fffffdfb
[ 1.575858] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 1.585652] r3:fffffdfb r2:c042212c
[ 1.589733] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014bc3c>] (gpio_get_value_cansleep+0x10/0x44)
[ 1.600161] [<c014bc2c>] (gpio_get_value_cansleep+0x0/0x44) from [<c015a7fc>] (disp_sys_gpio_set_direction+0x20/0xb8)
[ 1.612074] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 1.624297] r5:c18cb3c0 r4:c1814000
[ 1.628361] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 1.640959] r7:c1814000 r6:c0587208 r5:00000001 r4:00000000
[ 1.647313] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 1.660017] r5:00000000 r4:00000003
[ 1.664045] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 1.674866] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 1.684302] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 1.693812] r9:c0587480 r8:c0422f6f r7:00000001 r6:c0422eff r5:c05876f4
r4:00000000
[ 1.702605] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 1.712436] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 1.723334] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 1.733982] r5:c049cbd0 r4:c1822e40
[ 1.738060] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 1.747076] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 1.756019] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 1.762363] ---[ end trace da7037649a2b707d ]---
[ 1.767487] ------------[ cut here ]------------
[ 1.772703] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.780465] invalid GPIO -517
[ 1.783751] Modules linked in:
[ 1.787153] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #46
[ 1.795245] Workqueue: events start_work
[ 1.799645] Backtrace:
[ 1.802419] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.811852] r7:0000007e r6:c042213d r5:00000009 r4:c185bda0
[ 1.818249] [<c001351c>] (show_stack+0x0/0x1c) from [<c0367810>] (dump_stack+0x20/0x28)
[ 1.827211] [<c03677f0>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 1.837150] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 1.847725] r9:c0587480 r8:c0422f52 r7:00000001 r6:00000000 r5:c18cb3c0
r4:00000000
[ 1.856531] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 1.866328] r3:fffffdfb r2:c042212c
[ 1.870388] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014c628>] (gpio_direction_output+0x14/0x20)
[ 1.880644] [<c014c614>] (gpio_direction_output+0x0/0x20) from [<c015a808>] (disp_sys_gpio_set_direction+0x2c/0xb8)
[ 1.892287] r5:c18cb3c0 r4:fffffdfb
[ 1.896340] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 1.908562] r5:c18cb3c0 r4:c1814000
[ 1.912588] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 1.925186] r7:c1814000 r6:c0587208 r5:00000001 r4:00000000
[ 1.931571] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 1.944261] r5:00000000 r4:00000003
[ 1.948318] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 1.959134] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 1.968577] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 1.978092] r9:c0587480 r8:c0422f6f r7:00000001 r6:c0422eff r5:c05876f4
r4:00000000
[ 1.986848] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 1.996681] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.007572] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.018225] r5:c049cbd0 r4:c1822e40
[ 2.022246] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.031333] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.040283] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.046593] ---[ end trace da7037649a2b707e ]---
[ 2.051757] gpiod_direction_output: invalid GPIO
[ 2.056910] [DISP] disp_sys_gpio_set_direction,line:413: gpio_direction_output fail!
[ 2.065839] ------------[ cut here ]------------
[ 2.071040] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 2.078823] invalid GPIO -517
[ 2.082109] Modules linked in:
[ 2.085511] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #46
[ 2.093607] Workqueue: events start_work
[ 2.098000] Backtrace:
[ 2.100783] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 2.110215] r7:0000007e r6:c042213d r5:00000009 r4:c185bda8
[ 2.116574] [<c001351c>] (show_stack+0x0/0x1c) from [<c0367810>] (dump_stack+0x20/0x28)
[ 2.125583] [<c03677f0>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.135516] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.146097] r9:c0587480 r8:c0422f52 r7:00000001 r6:00000000 r5:c18cb3c0
r4:00000001
[ 2.154919] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 2.164727] r3:fffffdfb r2:c042212c
[ 2.168785] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014be10>] (gpio_set_value_cansleep+0x14/0x6c)
[ 2.179226] [<c014bdfc>] (gpio_set_value_cansleep+0x0/0x6c) from [<c015a8f8>] (disp_sys_gpio_set_value+0x18/0x4c)
[ 2.190650] r5:c18cb3c0 r4:c1814000
[ 2.194720] [<c015a8e0>] (disp_sys_gpio_set_value+0x0/0x4c) from [<c0170c94>] (disp_lcd_gpio_set_value+0xa8/0xc8)
[ 2.206191] [<c0170bec>] (disp_lcd_gpio_set_value+0x0/0xc8) from [<c016c6ec>] (bsp_disp_lcd_gpio_set_value+0x38/0x44)
[ 2.218021] r7:c1814000 r6:c0587208 r5:00000001 r4:00000000
[ 2.224372] [<c016c6b4>] (bsp_disp_lcd_gpio_set_value+0x0/0x44) from [<c0177244>] (sunxi_lcd_gpio_set_value+0x20/0x30)
[ 2.236297] r5:00000000 r4:00000003
[ 2.240362] [<c0177224>] (sunxi_lcd_gpio_set_value+0x0/0x30) from [<c017a9d0>] (LCD_bl_open+0x38/0x3c)
[ 2.250800] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.260260] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.269749] r9:c0587480 r8:c0422f6f r7:00000001 r6:c0422eff r5:c05876f4
r4:00000000
[ 2.278567] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.288382] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.299265] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.309928] r5:c049cbd0 r4:c1822e40
[ 2.313945] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.323005] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.331942] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.338285] ---[ end trace da7037649a2b707f ]---
[ 2.343428] [LCD]open, step 3 finish
[ 2.348160] [LCD]lcd_module_init finish
[ 2.353074] sunxi-wlan wlan: wlan_busnum (0)
[ 2.357969] sunxi-wlan wlan: wlan_power_num (0)
[ 2.363059] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 2.368932] sunxi-wlan wlan: io_regulator_name ((null))
[ 2.374837] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 2.382752] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 2.390749] sunxi-wlan wlan: wlan_regon gpio=-1048149120 mul-sel=-1047954028 pull=-1047954072 drv_level=-1072832404 data=-1072834700
[ 2.404420] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 2.411093] platform wlan: Driver sunxi-wlan requests probe deferral
[ 2.418505] usb_serial_number:20080411
[ 2.423183] file system registered
[ 2.429913] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 2.437695] android_usb gadget: Number of LUNs=3
[ 2.442830] lun0: LUN: removable file: (no medium)
[ 2.448338] lun1: LUN: removable file: (no medium)
[ 2.453756] lun2: LUN: removable file: (no medium)
[ 2.460116] android_usb gadget: android_usb ready
[ 2.465769] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 2.475048] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 2.481812] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 2.489748] ALSA device list:
[ 2.493060] #0: audiocodec
[ 2.497049] Waiting 5sec before mounting root device...
[ 4.387635]
[ 4.387635] insmod_device_driver
[ 4.387635]
[ 4.394804] device_chose finished 77!
[ 7.508034] VFS: Cannot open root device "mmcblk0p7" or unknown-block(0,0): error -6
[ 7.516732] Please append a correct "root=" boot option; here are the available partitions:
[ 7.526104] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
sdc1相关日志:
[ 0.903272] sunxi-mmc sdc1: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Mar 31 2021 at 01:27:46
[ 0.915759] sunxi-mmc sdc1: regulator prop vmmc,str none
[ 0.921757] sunxi-mmc sdc1: regulator prop vqmmc,str none
[ 0.927829] sunxi-mmc sdc1: regulator prop vdmmc,str none
[ 0.933830] sunxi-mmc sdc1: Failed getting OCR mask: 0
[ 0.940999] sunxi-mmc sdc1: ***set host ocr***
[ 0.946349] sunxi-mmc sdc1: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.967701] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 0.997778] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.008698] sunxi-mmc sdc1: base:0xf1c10000 irq:106
.....
[ 1.154912] sunxi-mmc sdc1: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.166637] sunxi-mmc sdc1: smc 0 p1 err, cmd 1, RTO !!
[ 1.172623] sunxi-mmc sdc1: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
这是烧录日志:
[0]beign to init dram
[23]init dram ok
U-Boot 2014.07 (Aug 21 2019 - 14:53:36) Allwinner Technology
uboot commit : 78cb55af380c57c0278162e241a9999cdc16e1d6
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[3.021]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[3.027]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
DRAM: 32 MiB
[3.037]fdt addr: 0x809e7820
[3.039]gd->fdt_size: 0xc320
Relocation Offset is: 01520000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
[3.109]flash init start
workmode = 16,storage type = 3
try card 1
[3.115][mmc]: mmc driver ver 2018-12-27 9:21:00
SUNXI SD/MMC: 1
[3.133][mmc]: ************Try SD card 1************
[3.143][mmc]: host caps: 0x23
[3.146][mmc]: MID 00 PSN 00000289
[3.149][mmc]: PNM APPSD -- 0x41-50-50-53-44
[3.153][mmc]: PRV 0.0
[3.155][mmc]: MDT m-3 y-2018
[3.158][mmc]: user capacity : 120 MB
[3.161][mmc]: cache size 0 KB
[3.164][mmc]: cache ctl 0
[3.166][mmc]: SD/MMC 1 init OK!!!
[3.170][mmc]: End mmc_init_boot
read mbr copy[0] failed
read mbr copy[1] failed
read mbr copy[2] failed
read mbr copy[3] failed
[3.182]flash init end
[3.184]try to burn key
[3.188]inter uboot shell
Hit any key to stop autoboot: 0
work mode=0x10
run usb efex
delay time 2500
int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
usb init ok
set address 0x1
SUNXI_EFEX_ERASE_TAG
erase_flag = 0x0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
the 0 mbr table is ok
the 1 mbr table is ok
the 2 mbr table is ok
the 3 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x400
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2400
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2600
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5600
part[3] lenlo :0xc800
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x11e00
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x1e600
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x1e800
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x1ea00
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
total part: 9
mbr 0, 2000, 8000
bootlogo 1, 400, 8000
env 2, 200, 8000
boot 3, 3000, 8000
rootfs 4, c800, 8000
rootfs_data 5, c800, 8000
misc 6, 200, 8000
private 7, 200, 8000
UDISK 8, 0, 8100
not need erase flash
sunxi_sprite_erase_flash, erase_flag=0
private part exist
the 0 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x400
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2400
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2600
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5600
part[3] lenlo :0xc800
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x11e00
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x1e600
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x1e800
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x1ea00
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
begin to store data
part name bootlogo
keydata = 0x0
part name env
keydata = 0x0
part name boot
keydata = 0x0
part name rootfs
keydata = 0x0
part name rootfs_data
keydata = 0x0
part name misc
keydata = 0x0
part name private
keydata = 0x0
find keypart private
keypart read start: 0x1e800, sectors 0x200
keypart part private read end: 0x1e800, sectors 0x200
part name UDISK
keydata = 0x0
need_erase_flag = 0
begin to erase
finish erase
rewrite
keypart write start: 0x1e800, sectors 0x200
keypart write end: 0x1e800, sectors 0x200
flash exit
SUNXI_EFEX_MBR_TAG
mbr size = 0x10000
begin to write standard mbr
successed to write standard mbr
sunxi_sprite_verify_mbr_from_flash
the 0 mbr table is ok
the 1 mbr table is ok
the 2 mbr table is ok
the 3 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x400
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2400
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2600
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5600
part[3] lenlo :0xc800
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x11e00
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x1e600
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x1e800
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x1ea00
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
FEX_CMD_fes_verify_value, start 0x2000, size high 0x0:low 0x4b036
FEX_CMD_fes_verify_value 0x60b4446e
FEX_CMD_fes_verify_value, start 0x2400, size high 0x0:low 0x20000
FEX_CMD_fes_verify_value 0xc6018f2f
FEX_CMD_fes_verify_value, start 0x2600, size high 0x0:low 0x293970
FEX_CMD_fes_verify_value 0x84267db2
FEX_CMD_fes_verify_value, start 0x5600, size high 0x0:low 0x500000
FEX_CMD_fes_verify_value 0xd944b7f
bootfile_mode=4
SUNXI_EFEX_BOOT1_TAG
boot1 size = 0xb8000
uboot_pkg magic 0x89119800
uboot size = 0xb8000
storage type = 6
mmc down uboot
uboot_pkg magic 0x89119800
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
bootfile_mode=4
SUNXI_EFEX_BOOT0_TAG
boot0 size = 0x8000
production_media:6!
[24.614][mmc]: write mmc info ok
dram para[0] = ea00018e
dram para[1] = 6f6f6275
dram para[2] = 74
dram para[3] = c378ee87
dram para[4] = 4000
dram para[5] = a4000
dram para[6] = a4000
dram para[7] = 2e302e33
dram para[8] = 30
dram para[9] = 2e302e31
dram para[10] = 30
dram para[11] = 80800000
dram para[12] = 80000000
dram para[13] = 0
dram para[14] = 0
dram para[15] = 0
dram para[16] = 0
dram para[17] = 0
dram para[18] = 0
dram para[19] = 0
dram para[20] = 0
dram para[21] = 0
dram para[22] = 0
dram para[23] = 0
dram para[24] = 0
dram para[25] = 0
dram para[26] = 0
dram para[27] = 0
dram para[28] = 0
dram para[29] = 0
dram para[30] = 0
dram para[31] = 0
storage type = 6
card1 download boot0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
sunxi_efex_next_action=2
exit usb
sunxi dma exit
next work 2
SUNXI_UPDATE_NEXT_ACTION_REBOOT
set next mode 14
sunxi dma exit
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62]card no is 1
[63]sdcard 1 line count 1
[65][mmc]: mmc driver ver 2018-5-23 16:07:00
[69][mmc]: mmc_get_timing_cfg: input para error!
[74][mmc]: mmc_get_timing_cfg: input para error!
[84][mmc]: Wrong media type 0xffffff00
[87][mmc]: ***Try SD card 1***
[97][mmc]: DS26/SDR12 1 bit
[100][mmc]: 25000000 Hz
[102][mmc]: 120 MB
[103][mmc]: ***SD/MMC 1 init OK!!!***
[389]Loading boot-pkg Succeed(index=0).
[401]Ready to disable icache.
[404]Jump to secend Boot.
target/allwinner/violin-F1C200s/configs/sys_config.fex
;A31 PAD application
;---------------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
;---------------------------------------------------------------------------------------------------------
[product]
version = "100"
machine = "evb"
[platform]
eraseflag = 1
debug_mode = 1
;----------------------------------------------------------------------------------
; system configuration
; ?
;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step
;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step
;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step
;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step
;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step
;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step
;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step
;----------------------------------------------------------------------------------
;----------------------------------------------------------------------------------
; storage_type 0:nand 1:sd 2:emmc 3:spinor 4:emmc3 5:spinand 6:sd1
;
; as spi0 and sdc0 both use PC0-PC2
; for spinor, set [target] storage_type = 3, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for spinand, set [target] storage_type = 5, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for sd1, set [target] storage_type = 6, [spi0] spi0_used = 0 , [sdc1] sdc1_used = 1
;----------------------------------------------------------------------------------
[target]
boot_clock = 408
storage_type = 6
burn_key = 0
[norflash]
size = 16
[power_sply]
dcdc1_vol = 3000
dcdc2_vol = 1200
dcdc3_vol = 1200
dcdc4_vol = 1200
dcdc5_vol = 1500
aldo2_vol = 1800
aldo3_vol = 3000
;[power_ctrl]
;power_off_key = port:PD14<0><0><default><1>
;power_on = port:PD15<1><0><default><0>
[pwr_ctrl]
power_off_key = port:PD20<0><0><default><1>
power_on = port:PA1<1><default><default><0>
pwroff_gpio_is_irq = 0
[card_boot]
logical_start = 40960
sprite_gpio0 =
;card_no = 1
;---------------------------------------------------------------------------------------------------------
; if 1 == standby_mode, then support super standby;
; else, support normal standby.
;---------------------------------------------------------------------------------------------------------
[pm_para]
standby_mode = 1
[card0_boot_para]
card_ctrl = 0
card_high_speed = 1
card_line = 4
sdc_d1 = port:PF0<2><1><2><default>
sdc_d0 = port:PF1<2><1><2><default>
sdc_clk = port:PF2<2><1><2><default>
sdc_cmd = port:PF3<2><1><2><default>
sdc_d3 = port:PF4<2><1><2><default>
sdc_d2 = port:PF5<2><1><2><default>
[card2_boot_para]
card_ctrl = 2
card_high_speed = 1
card_line = 8
sdc_clk = port:PC5<3><1><3><default>
sdc_cmd = port:PC6<3><1><3><default>
sdc_d0 = port:PC8<3><1><3><default>
sdc_d1 = port:PC9<3><1><3><default>
sdc_d2 = port:PC10<3><1><3><default>
sdc_d3 = port:PC11<3><1><3><default>
sdc_d4 = port:PC12<3><1><3><default>
sdc_d5 = port:PC13<3><1><3><default>
sdc_d6 = port:PC14<3><1><3><default>
sdc_d7 = port:PC15<3><1><3><default>
sdc_emmc_rst = port:PC16<3><1><3><default>
sdc_ds = port:PC01<3><1><3><default>
[card1_boot_para]
card_ctrl = 1
card_high_speed = 1
card_line = 1
sdc_clk = port:PC0<3><1><3><default>
sdc_cmd = port:PC1<3><1><3><default>
sdc_d0 = port:PC2<3><1><3><default>
[twi_para]
twi_port = 0
twi_scl = port:PD12<3><default><default><default>
twi_sda = port:PD00<3><default><default><default>
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PA2<5><1><default><default>
uart_debug_rx = port:PA3<5><1><default><default>
[jtag_para]
jtag_enable = 0
jtag_ms = port:PH9<3><default><default><default>
jtag_ck = port:PH10<3><default><default><default>
jtag_do = port:PH11<3><default><default><default>
jtag_di = port:PH12<3><default><default><default>
;*****************************************************************************
;sdram configuration
;
;*****************************************************************************
[dram_para]
dram_clk = 480
dram_type = 3
dram_zq = 0x77bb
dram_odt_en = 1
dram_para1 = 0x004319f4
dram_para2 = 0x5
dram_mr0 = 0x620
dram_mr1 = 0x0
dram_mr2 = 0x8
dram_mr3 = 0
dram_tpr0 = 0x06141B10
dram_tpr1 = 0x40416
dram_tpr2 = 0x03030306
dram_tpr3 = 0x2006
dram_tpr4 = 0x05040405
dram_tpr5 = 0x05050302
dram_tpr6 = 0x90006644
dram_tpr7 = 0x42c21590
dram_tpr8 = 0xd05612c0
dram_tpr9 = 0x00083def
dram_tpr10 = 0x18082356
dram_tpr11 = 0x32034156
dram_tpr12 = 0
dram_tpr13 = 0
;----------------------------------------------------------------------------------
;i2c configuration
;----------------------------------------------------------------------------------
[twi0]
twi0_used = 1
twi0_scl = port:PD12<3><default><default><default>
twi0_sda = port:PD00<3><default><default><default>
[twi1]
twi1_used = 0
twi1_scl = port:PB00<2><default><default><default>
twi1_sda = port:PB01<2><default><default><default>
[twi2]
twi2_used = 0
twi2_scl = port:PD15<4><default><default><default>
twi2_sda = port:PD16<4><default><default><default>
;----------------------------------------------------------------------------------
;TWI device configuration
;compatible --- device name
;reg --- device address
;----------------------------------------------------------------------------------
;[twi0/twi_board0]
;compatible =
;reg =
[io_expand]
compatible = "nxp,pcf8574a"
reg = 0x20
gpio_base = 2040
;int-gpio = port:PE09<6><default><1><1>
;----------------------------------------------------------------------------------
;uart configuration
;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function)
;----------------------------------------------------------------------------------
[uart0]
uart0_used = 0
uart0_port = 0
uart0_type = 2
uart0_tx = port:PF2<3><1><default><default>
uart0_rx = port:PF4<3><1><default><default>
[uart1]
uart1_used = 1
uart1_port = 1
uart1_type = 2
uart1_tx = port:PA2<5><1><default><default>
uart1_rx = port:PA3<5><1><default><default>
;----------------------------------------------------------------------------------
;SPI controller configuration
;----------------------------------------------------------------------------------
[spi0]
spi0_used = 0
spi0_cs_number = 1
spi0_cs_bitmap = 1
spi0_cs0 = port:PC1<2><1><default><default>
spi0_sclk = port:PC0<2><default><default><default>
spi0_mosi = port:PC3<2><default><default><default>
spi0_miso = port:PC2<2><default><default><default>
[spi1]
spi1_used = 0
spi1_cs_number = 1
spi1_cs_bitmap = 1
spi1_cs0 = port:PE07<4><1><default><default>
spi1_sclk = port:PE09<4><default><default><default>
spi1_mosi = port:PE08<4><default><default><default>
spi1_miso = port:PE10<4><default><default><default>
;----------------------------------------------------------------------------------
;SPI device configuration
;compatible --- device name
;spi-max-frequency --- work frequency
;reg --- chip select
;optional properties: spi-cpha, spi-cpol, spi-cs-high
;----------------------------------------------------------------------------------
;[spi0/spi_board0]
;compatible =
;spi-max-frequency =
;reg =
;spi-cpha
;spi-cpol
;spi-cs-high
;----------------------------------------------------------------------------------
;resistance tp configuration
;----------------------------------------------------------------------------------
[rtp_para]
rtp_used = 0
rtp_screen_size = 5
rtp_regidity_level = 5
rtp_press_threshold_enable = 0
rtp_press_threshold = 0x1f40
rtp_sensitive_level = 0xf
rtp_exchange_x_y_flag = 0
;----------------------------------------------------------------------------------
;capacitor tp configuration
;external int function
;wakeup output function
;notice --- tp_int_port & tp_io_port use the same port
;----------------------------------------------------------------------------------
[ctp]
ctp_used = 1
ctp_twi_id = 0
ctp_twi_addr = 0x48
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 1
ctp_revert_y_flag = 1
ctp_exchange_x_y_flag = 1
;ctp_int_port = port:PE12<6><default><default><1>
;ctp_wakeup = 2045
[twi0/touchscreen1]
compatible = "ctp_icn85xx"
reg = 0x48
;----------------------------------------------------------------------------------
;touch key configuration
;----------------------------------------------------------------------------------
[tkey_para]
tkey_used = 0
tkey_twi_id =
tkey_twi_addr =
tkey_int =
;----------------------------------------------------------------------------------
;motor configuration
;----------------------------------------------------------------------------------
[motor_para]
motor_used = 0
;motor_shake = port:power3<1><default><default><1>
[nand0_para]
nand0_support_2ch = 0
nand0_used = 0
nand0_we = port:PC00<2><0><1><default>
nand0_ale = port:PC01<2><0><1><default>
nand0_cle = port:PC02<2><0><1><default>
nand0_ce0 = port:PC03<2><1><1><default>
nand0_nre = port:PC04<2><0><1><default>
nand0_rb0 = port:PC05<2><1><1><default>
nand0_d0 = port:PC06<2><0><1><default>
nand0_d1 = port:PC07<2><0><1><default>
nand0_d2 = port:PC08<2><0><1><default>
nand0_d3 = port:PC09<2><0><1><default>
nand0_d4 = port:PC10<2><0><1><default>
nand0_d5 = port:PC11<2><0><1><default>
nand0_d6 = port:PC12<2><0><1><default>
nand0_d7 = port:PC13<2><0><1><default>
nand0_ndqs = port:PC14<2><0><1><default>
nand0_regulator1 = "vcc-nand"
nand0_regulator2 = "none"
nand0_cache_level = 0x55aaaa55
nand0_flush_cache_num = 0x55aaaa55
nand0_capacity_level = 0x55aaaa55
nand0_id_number_ctl = 0x55aaaa55
nand0_print_level = 0x55aaaa55
nand0_p0 = 0x55aaaa55
nand0_p1 = 0x55aaaa55
nand0_p2 = 0x55aaaa55
nand0_p3 = 0x55aaaa55
;----------------------------------------------------------------------------------
;disp init configuration
;
;disp_mode (0:screen0<screen0,fb0>)
;screenx_output_type (0:none; 1:lcd; 3:hdmi;)
;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
;fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
;fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
;fb0_scaler_mode_enable(scaler mode enable, used FE)
;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
;lcdx_backlight (lcd init backlight,the range:[0,256],default:197
;lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
;lcd0_contrast (LCD contrast, 0~100)
;lcd0_saturation (LCD saturation, 0~100)
;lcd0_hue (LCD hue, 0~100)
;----------------------------------------------------------------------------------
[disp]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 1
screen0_output_mode = 4
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb0_format = 0
fb0_width = 0
fb0_height = 0
fb1_framebuffer_num = 0
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
fb1_format = 0
fb1_width = 0
fb1_height = 0
lcd0_backlight = 50
lcd1_backlight = 50
lcd0_bright = 50
lcd0_contrast = 50
lcd0_saturation = 57
lcd0_hue = 50
lcd1_bright = 50
lcd1_contrast = 50
lcd1_saturation = 57
lcd1_hue = 50
;----------------------------------------------------------------------------------
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch
;lcd_ht: hsync total cycle
;lcd_vbp: vsync back porch
;lcd_vt: vysnc total cycle
;lcd_hspw: hsync plus width
;lcd_vspw: vysnc plus width
;lcd_lvds_if: 0:single link; 1:dual link
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;----------------------------------------------------------------------------------
[lcd0]
lcd_used = 1
;-------------------------------------
; avdisplay lcd
;-------------------------------------
lcd_driver_name = "ili6122_800x480"
lcd_if = 0
lcd_x = 800
lcd_y = 480
lcd_width = 109
lcd_height = 63
lcd_dclk_freq = 33
lcd_pwm_used = 1
lcd_pwm_ch = 0
lcd_pwm_freq = 50000
lcd_pwm_pol = 1
lcd_hbp = 55
lcd_ht = 1056
lcd_hspw = 20
lcd_vbp = 35
lcd_vt = 525
lcd_vspw = 10
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 10
lcd_hv_hspw = 20
lcd_hv_sync_polarity = 3
;-------------------------------------
; qiutianwei lcd
;-------------------------------------
;lcd_x = 800
;lcd_y = 480
;lcd_width = 108
;lcd_height = 64
;lcd_dclk_freq = 33
;lcd_pwm_used = 1
;lcd_pwm_ch = 0
;lcd_pwm_freq = 50000
;lcd_pwm_pol = 1
;lcd_hbp = 88
;lcd_ht = 928
;lcd_hspw = 48
;lcd_vbp = 35
;lcd_vt = 525
;lcd_vspw = 3
;lcd_hv_if = 0
;lcd_hv_smode = 0
;lcd_hv_s888_if = 0
;lcd_hv_syuv_if = 0
;lcd_hv_vspw = 10
;lcd_hv_hspw = 123
;lcd_x = 1024
;lcd_y = 600
;lcd_width = 154
;lcd_height = 86
;lcd_dclk_freq = 50
;lcd_pwm_used = 1
;lcd_pwm_ch = 0
;lcd_pwm_freq = 50000
;lcd_pwm_pol = 1
;lcd_hbp = 160
;lcd_ht = 1344
;lcd_hspw = 48
;lcd_vbp = 23
;lcd_vt = 635
;lcd_vspw = 3
;lcd_hv_if = 0
;lcd_hv_smode = 0
;lcd_hv_s888_if = 0
;lcd_hv_syuv_if = 0
;lcd_hv_vspw = 10
;lcd_hv_hspw = 123
lcd_lvds_if = 0
lcd_lvds_colordepth = 1
lcd_lvds_mode = 0
lcd_lvds_ch = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 1
lcd_rb_swap = 1
lcd_io_phase = 0x0000
lcd_gamma_en = 0
lcd_bright_curve_en = 0
lcd_cmap_en = 0
deu_mode = 0
lcdgamma4iep = 22
lcd_io_cfg0 = 0x00000000
smart_color = 90
;lcd_bl_en_used = 0
;lcd_bl_en = port:PE12<1><0><default><1>
;lcd_power = port:PE06<1><0><default><0>
lcd_gpio_0 = 2043
;lcdd2 = port:PD00<2><0><default><default>
lcdd3 = port:PD01<2><0><default><default>
lcdd4 = port:PD02<2><0><default><default>
lcdd5 = port:PD03<2><0><default><default>
lcdd6 = port:PD04<2><0><default><default>
lcdd7 = port:PD05<2><0><default><default>
lcdd10 = port:PD06<2><0><default><default>
lcdd11 = port:PD07<2><0><default><default>
lcdd12 = port:PD08<2><0><default><default>
lcdd13 = port:PD09<2><0><default><default>
lcdd14 = port:PD10<2><0><default><default>
lcdd15 = port:PD11<2><0><default><default>
;lcdd18 = port:PD12<2><0><default><default>
lcdd19 = port:PD13<2><0><default><default>
lcdd20 = port:PD14<2><0><default><default>
lcdd21 = port:PD15<2><0><default><default>
lcdd22 = port:PD16<2><0><default><default>
lcdd23 = port:PD17<2><0><default><default>
lcdclk = port:PD18<2><0><3><default>
lcdde = port:PD19<2><0><3><default>
lcdhsync = port:PD20<2><0><3><default>
lcdvsync = port:PD21<2><0><3><default>
;----------------------------------------------------------------------------------
;pwm config
;----------------------------------------------------------------------------------
[pwm0_para]
pwm_used = 0
;pwm_positive = port:PH00<2><0><default><default>
pwm_positive = port:PE12<4><0><default><default>
[pwm1_para]
pwm_used = 0
pwm_positive = port:PE06<3><0><default><default>
;--------------------------------------------------------------------------------
;vip (video input port) configuration
;vip(x)_used: 0:disable 1:enable
;vip(x)_isp_used 0:not use isp 1:use isp
;vip(x)_fmt: 0:yuv 1:bayer raw rgb
;vip(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby
;vip(x)_vflip: flip in vertical direction 0:disable 1:enable
;vip(x)_hflip: flip in horizontal direction 0:disable 1:enable
;vip(x)_iovdd: camera module io power handle string, pmu power supply
;vip(x)_iovdd_vol: camera module io power voltage, pmu power supply
;vip(x)_avdd: camera module analog power handle string, pmu power supply
;vip(x)_avdd_vol: camera module analog power voltage, pmu power supply
;vip(x)_dvdd: camera module core power handle string, pmu power supply
;vip(x)_dvdd_vol: camera module core power voltage, pmu power supply
;vip(x)_afvdd: camera module vcm power handle string, pmu power supply
;vip(x)_afvdd_vol: camera module vcm power voltage, pmu power supply
;fill voltage in uV, e.g. iovdd = 2.8V, vip_devx_iovdd_vol = 2800000
;fill handle string as below:
;axp22_eldo3
;axp22_dldo4
;axp22_eldo2
;fill handle string "" when not using any pmu power supply
;--------------------------------------------------------------------------------
[vip0]
vip0_used = 1
vip0_csi_pck = port:PE02<2><default><default><default>
vip0_csi_mck = port:PE11<2><1><3><0>
vip0_csi_hsync = port:PE00<2><default><default><default>
vip0_csi_vsync = port:PE01<2><default><default><default>
vip0_csi_d0 = port:PE03<2><default><default><default>
vip0_csi_d1 = port:PE04<2><default><default><default>
vip0_csi_d2 = port:PE05<2><default><default><default>
vip0_csi_d3 = port:PE06<2><default><default><default>
vip0_csi_d4 = port:PE07<2><default><default><default>
vip0_csi_d5 = port:PE08<2><default><default><default>
vip0_csi_d6 = port:PE09<2><default><default><default>
vip0_csi_d7 = port:PE10<2><default><default><default>
;vip0_csi_sck = port:PD12<2><default><default><default>
;vip0_csi_sda = port:PD00<2><default><default><default>
vip0_mname = "gc0308"
vip0_twi_addr = 0x42
vip0_twi_id = 0
vip0_isp_used = 0
vip0_fmt = 0
vip0_stby_mode = 0
vip0_vflip = 0
vip0_hflip = 0
vip0_iovdd = ""
vip0_iovdd_vol = 2800000
vip0_avdd = ""
vip0_avdd_vol = 2800000
vip0_dvdd = ""
vip0_dvdd_vol = 1500000
vip0_afvdd = ""
vip0_afvdd_vol = 2800000
vip0_power_en =
vip0_reset = 2044
vip0_pwdn = ""
vip0_flash_en =
vip0_flash_mode =
vip0_af_pwdn =
;--------------------------------------------------------------------------------
;tv configuration
;
;--------------------------------------------------------------------------------
[tvout_para]
tvout_used =
tvout_channel_num =
tv_en =
[tvin_para]
tvin_used =
tvin_channel_num =
; ------------------------------------------------------------------------------|
; de-interlace configuration
;--------------------------------------------------------------------------------
[di]
di_used = 0
;--------------------------------------------------------------------------------
; SDMMC PINS MAPPING |
; ------------------------------------------------------------------------------|
; Config Guide |
; sdc_used: 1-enable card, 0-disable card |
; sdc_detmode: card detect mode |
; 1-detect card by gpio polling |
; 2-detect card by gpio irq(must use IO with irq function) |
; 3-no detect, always in for boot card |
; 4-manually insert and remove by /proc/driver/sunxi-mmc.x/insert|
; sdc_buswidth: card bus width, 1-1bit, 4-4bit, 8-8bit |
; sdc_use_wp: 1-with write protect IO, 0-no write protect IO |
; sdc_isio: for sdio card |
; sdc_regulator: power control.if card supports UHS-I/DDR and HS200 timing for|
; SD3.0 or eMMC4.5, regulator must be configured. the value is |
; the ldo name of AXP221, eg: sdc_regulator = "axp22_eldo2" |
; other: GPIO Mapping configuration |
; ------------------------------------------------------------------------------|
; Note: |
; 1 if detmode=2, sdc_det's config=6 |
; else if detmode=1, sdc_det's config=0 |
; else sdc_det IO is not necessary |
; 2 if the customer wants to support UHS-I and HS200 features, he must provide|
; an independent power supply for the card. This is only used in platforms |
; that supports SD3.0 cards and eMMC4.4+ flashes |
;--------------------------------------------------------------------------------
[sdc0]
sdc0_used = 0
sdc0_detmode = 4
sdc0_buswidth = 4
sdc0_d1 = port:PF00<2><1><3><default>
sdc0_d0 = port:PF01<2><1><3><default>
sdc0_clk = port:PF02<2><1><3><default>
sdc0_cmd = port:PF03<2><1><3><default>
sdc0_d3 = port:PF04<2><1><3><default>
sdc0_d2 = port:PF05<2><1><3><default>
sdc0_det =
sdc0_use_wp = 0
sdc0_wp =
sdc0_isio = 0
sdc0_regulator = "none"
vmmc = "none"
vqmmc = "none"
vdmmc = "none"
[sdc1]
sdc1_used = 1
sdc1_detmode = 3
sdc1_buswidth = 1
sdc1_clk = port:PC00<3><1><2><default>
sdc1_cmd = port:PC01<3><1><2><default>
sdc1_d0 = port:PC02<3><1><2><default>
sdc1_det =
sdc1_use_wp = 0
sdc1_wp =
sdc1_isio = 1
sdc1_regulator = "none"
vmmc = "none"
vqmmc = "none"
vdmmc = "none"
; ------------------------------------------------------------------------------|
; sim card configuration
;--------------------------------------------------------------------------------
[smc]
smc_used =
smc_rst =
smc_vppen =
smc_vppp =
smc_det =
smc_vccen =
smc_sck =
smc_sda =
;--------------------------------
;[usbc0]:控制器0的配置。
;usb_used:USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。
;usb_port_type:USB端口的使用情况。 0:device only;1:host only;2:OTG
;usb_detect_type:USB端口的检查方式。0:不做检测;1:vbus/id检查;2:id/dpdm检查
;usb_id_gpio:USB ID pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio:USB DET_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_drv_vbus_gpio:USB DRY_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio: "axp_ctrl",表示axp 提供
;--------------------------------
;--------------------------------
;--- USB0控制标志
;--------------------------------
;[usbc0]
;usbc0_used = 0
;usb_port_type = 2
;usb_detect_type = 1
;usb_id_gpio = port:PH09<0><1><default><default>
;usb_det_vbus_gpio = "axp_ctrl"
;usb_drv_vbus_gpio = port:PB07<1><0><default><0>
;usb_host_init_state = 0
;usb_regulator_io = "nocare"
;usb_regulator_vol = 0
;usb_wakeup_suspend = 0
;--- USB Device
;usb_luns = 3
;usb_serial_unique = 0
;usb_serial_number = "20080411"
[usbc0]
usbc0_used = 1
usb_port_type = 0
usb_detect_type = 1
usb_id_gpio =
usb_det_vbus_gpio =
usb_board_sel = 1
usb_drv_vbus_gpio = 2047
usb_host_init_state = 0
usb_regulator_io = "nocare"
usb_regulator_vol = 0
usb_wakeup_suspend = 0
; USB Device
usb_luns = 3
usb_serial_unique = 0
usb_serial_number = "20080411"
;--------------------------------
;--- USB1控制标志
;--------------------------------
;[usbc1]
;usbc1_used = 0
;usb_drv_vbus_gpio = port:PB06<1><0><default><0>
;usb_host_init_state = 1
;usb_regulator_io = "nocare"
;usb_regulator_vol = 0
;usb_wakeup_suspend = 0
;--------------------------------------------------------------------------------
; G sensor configuration
; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2)
;--------------------------------------------------------------------------------
[gsensor_para]
gsensor_used = 0
gsensor_twi_id = 2
gsensor_twi_addr = 0x18
gsensor_int1 = port:PA09<6><1><default><default>
gsensor_int2 =
;--------------------------------------------------------------------------------
; gps gpio configuration
; gps_spi_id --- the index of SPI controller. 0: SPI0, 1: SPI1, 2: SPI2, 15: no SPI used
; gps_spi_cs_num --- the chip select number of SPI controller. 0: SPI CS0, 1: SPI CS1
; gps_lradc --- the lradc number for GPS used. 0 and 1 is valid, set 2 if not use lradc
;--------------------------------------------------------------------------------
[gps_para]
;--------------------------------------------------------------------------------
;wlan configuration
;clocks: 32k clk
;wlan_power_num: the number of inputs for wifi power
;wlan_power(n): wifi power(n)
;wlan_io_regulator: the power of wifi io
;wlan_busnum: no. of bus(usb or bus)
;wlan_regon: wifi function enable/reset io
;wlan_hostwake: wifi device wake-up host
;status: okay
;--------------------------------------------------------------------------------
[wlan]
wlan_used = 1
compatible = "allwinner,sunxi-wlan"
wlan_busnum = 0
;wlan_power_num =
;wlan_power1 =
;wlan_io_regulator =
wlan_board_sel = 1
;wlan_hostwake = port:PD13<6><default><default><default>
wlan_hostwake = port:PD21<6><default><default><1>
;wlan_regon = port:PD16<1><1><3><0>
wlan_regon = 2041
;--------------------------------------------------------------------------------
;gyroscope
;--------------------------------------------------------------------------------
[gy_para]
gy_used = 0
gy_twi_id = 2
gy_twi_addr = 0x6a
gy_int1 = port:PA10<6><1><default><default>
gy_int2 =
;--------------------------------------------------------------------------------
;light sensor
;--------------------------------------------------------------------------------
[ls_para]
ls_used = 0
ls_twi_id = 2
ls_twi_addr = 0x23
ls_int = port:PA12<6><1><default><default>
;--------------------------------------------------------------------------------
;compass
;--------------------------------------------------------------------------------
[compass_para]
compass_used = 0
compass_twi_id = 2
compass_twi_addr = 0x0d
compass_int = port:PA11<6><1><default><default>
;--------------------------------------------------------------------------------
;blue tooth
;bt_used ---- blue tooth used (0- no used, 1- used)
;bt_uard_id ---- uart index
;--------------------------------------------------------------------------------
[bt_para]
bt_used =
bt_uart_id =
bt_wakeup =
bt_gpio =
bt_rst =
;--------------------------------------------------------------------------------
; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1,
; if register the sound card spdif.
;--------------------------------------------------------------------------------
[audiospdif]
audiospdif_used = 0
[spdif_machine]
spdif_machine_used = 0
;----------------------------------------------------------------------------------
; NOTE :Make sure hdmi_used = 0x1,hdmimach_used = 0x1,
; if register the sound card hdmi.
;---------------------------------------------------------------------------------
[audiohdmi]
audiohdmi_used = 0
[hdmi_machine]
hdmi_machine_used = 0
;--------------------------------------------------------------------------------
;allwinner,pcm_lrck_period :16/32/64/128/256
;allwinner,pcm_lrckr_period :no use
;allwinner,slot_width_select :16bits/20bits/24bits/32bits
;allwinner,pcm_lsb_first :0: msb first; 1: lsb first
;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use
; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use
; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use
; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use
;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use
; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format).
; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format)
; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use
; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge)
;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use
; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM)
; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use
; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM)
;allwinner,frametype :0: long frame = 2 clock width; 1: short frame
;allwinner,tdm_config :0:pcm 1:i2s
;allwinner,daudio0_used :0:not use 1:use
;-------------------------------------------------------------------------------
; NOTE :Make sure daudio0mach_used = 0x1,daudio0_used = 0x1,
; if register the sound card DAUDIO0.
;--------------------------------------------------------------------------------
;[daudio0_machine]
;daudio0_machine_used = 0
;-----------------------------------------------------------------------------
;[daudio0]
;pcm_lrck_period = 0x20
;pcm_lrckr_period = 0x01
;slot_width_select = 0x10
;pcm_lsb_first = 0x0
;tx_data_mode = 0x0
;rx_data_mode = 0x0
;daudio_master = 0x04
;audio_format = 0x01
;signal_inversion = 0x01
;frametype = 0x0
;tdm_config = 0x01
;daudio0_used = 0
;--------------------------------------------------------------------------------------
;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step
;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step
;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step
;allwinner,adcagc_cfg : 1:use adcagc 0:no use
;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use
;allwinner,adchpf_cfg : 1:use adchpf 0:no use
;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use
;allwinner,dachpf_cfg : 1:use adchpf 0:no use
;allwinner,aif2config : 1:use aif2 0:no use
;allwinner,aif3config : 1:use aif3 0:no use
;--------------------------------------------------------------------------------
; NOTE :Make sure audiocodec_machine_used = 0x1,sun50i2s_used = 0x1
; sun50codec_used = 0x1,if register the sound card audiocodec.
;---------------------------------------------------------------------------------
;[audiocodec_machine]
;audiocodec_machine_used = 0
;-------------------------------------------------------------------------------------
;used ---0:not used,1:used
;pmu_id ---0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813
;pmu_twi_addr ---slave address
;pmu_twi_id ---i2c bus number (0 TWI0, 1 TWI2, 2 TWI3)
;pmu_irq_id ---irq number (0 irq0,1 irq1)
;pmu_chg_ic_temp ---intelligence charge pmu temperature. when it is 0, this function is closed.
;pmu_battery_rdc ---battery initial resistance
;pmu_battery_cap ---battery capability,mAh
;pmu_runtime_chgcur ---set initial charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_suspend_chgcur ---set suspend charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_shutdown_chgcur ---set shutdown charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_init_chgvol ---set initial charing target voltage,mV,4100/4220/4200/4240
;pmu_ac_vol ---set usb-ac limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_ac_cur ---set usb-ac limited current level,mA,500/900, 0 - not limite
;pmu_usbpc_vol ---set usb-pc limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_usbpc_cur ---set usb-pc limited current level,mA,500/900, 0 - not limite
;pmu_battery_warning_level1 ---low power warning high level,5%-20%,1%/step
;pmu_battery_warning_level2 ---low power warning low level,0%-15%,1%/step
;pmu_chgled_func ---CHGKED pin control, 0:controlled by pmu,1:controlled by Charger
;pmu_chgled_type ---CHGLED Type select when pmu_chgled_func=0,0:Type A, 1:type B
;pmu_bat_para1 ---battery indication at 3.13V
;pmu_bat_para2 ---battery indication at 3.27V
;pmu_bat_para3 ---battery indication at 3.34V
;pmu_bat_para4 ---battery indication at 3.41V
;pmu_bat_para5 ---battery indication at 3.48V
;pmu_bat_para6 ---battery indication at 3.52V
;pmu_bat_para7 ---battery indication at 3.55V
;pmu_bat_para8 ---battery indication at 3.57V
;pmu_bat_para9 ---battery indication at 3.59V
;pmu_bat_para10 ---battery indication at 3.61V
;pmu_bat_para11 ---battery indication at 3.63V
;pmu_bat_para12 ---battery indication at 3.64V
;pmu_bat_para13 ---battery indication at 3.66V
;pmu_bat_para14 ---battery indication at 3.7V
;pmu_bat_para15 ---battery indication at 3.73V
;pmu_bat_para16 ---battery indication at 3.77V
;pmu_bat_para17 ---battery indication at 3.78V
;pmu_bat_para18 ---battery indication at 3.8V
;pmu_bat_para19 ---battery indication at 3.82V
;pmu_bat_para20 ---battery indication at 3.84V
;pmu_bat_para21 ---battery indication at 3.85V
;pmu_bat_para22 ---battery indication at 3.87V
;pmu_bat_para23 ---battery indication at 3.91V
;pmu_bat_para24 ---battery indication at 3.94V
;pmu_bat_para25 ---battery indication at 3.98V
;pmu_bat_para26 ---battery indication at 4.01V
;pmu_bat_para27 ---battery indication at 4.05V
;pmu_bat_para28 ---battery indication at 4.08V
;pmu_bat_para29 ---battery indication at 4.1V
;pmu_bat_para30 ---battery indication at 4.12V
;pmu_bat_para31 ---battery indication at 4.14V
;pmu_bat_para32 ---battery indication at 4.15V
;pmu_bat_temp_enable ---battery temp detect enable
;pmu_bat_charge_ltf ---charge battery temp low threshold voltage
;pmu_bat_charge_htf ---charge battery temp high threshold voltage
;pmu_bat_shutdown_ltf ---shutdown battery temp low threshold voltage
;pmu_bat_shutdown_htf ---shutdown battery temp high threshold voltage
;pmu_bat_temp_para1 ---battery temp -25 voltage
;pmu_bat_temp_para2 ---battery temp -15 voltage
;pmu_bat_temp_para3 ---battery temp -10 voltage
;pmu_bat_temp_para4 ---battery temp -5 voltage
;pmu_bat_temp_para5 ---battery temp 0 voltage
;pmu_bat_temp_para6 ---battery temp 5 voltage
;pmu_bat_temp_para7 ---battery temp 10 voltage
;pmu_bat_temp_para8 ---battery temp 20 voltage
;pmu_bat_temp_para9 ---battery temp 30 voltage
;pmu_bat_temp_para10 ---battery temp 40 voltage
;pmu_bat_temp_para11 ---battery temp 45 voltage
;pmu_bat_temp_para12 ---battery temp 50 voltage
;pmu_bat_temp_para13 ---battery temp 55 voltage
;pmu_bat_temp_para14 ---battery temp 60 voltage
;pmu_bat_temp_para15 ---battery temp 70 voltage
;pmu_bat_temp_para16 ---battery temp 80 voltage
;pmu_powkey_off_time ---set pek off time,ms, 4000/6000/8000/10000
;pmu_powkey_off_func ---set pek off func, 0:shutdown,1:restart
;pmu_powkey_off_en ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown
;pmu_powkey_long_time ---set pek pek long irq time,ms,1000/1500/2000/2500
;pmu_powkey_on_time ---set pek on time,ms,128/1000/2000/3000
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;--------------------------------------------------------------------------------------------------------
[pmu0]
used = 0
pmu_id = 6
pmu_twi_addr = 0x34
pmu_twi_id = 1
pmu_irq_id = 0
pmu_chg_ic_temp = 0
pmu_battery_rdc = 100
pmu_battery_cap = 0
pmu_runtime_chgcur = 450
pmu_suspend_chgcur = 1500
pmu_shutdown_chgcur = 1500
pmu_init_chgvol = 4200
pmu_ac_vol = 4000
pmu_ac_cur = 0
pmu_usbpc_vol = 4400
pmu_usbpc_cur = 500
pmu_battery_warning_level1 = 15
pmu_battery_warning_level2 = 0
pmu_chgled_func = 0
pmu_chgled_type = 0
pmu_bat_para1 = 0
pmu_bat_para2 = 0
pmu_bat_para3 = 0
pmu_bat_para4 = 0
pmu_bat_para5 = 0
pmu_bat_para6 = 0
pmu_bat_para7 = 0
pmu_bat_para8 = 0
pmu_bat_para9 = 5
pmu_bat_para10 = 8
pmu_bat_para11 = 9
pmu_bat_para12 = 10
pmu_bat_para13 = 13
pmu_bat_para14 = 16
pmu_bat_para15 = 20
pmu_bat_para16 = 33
pmu_bat_para17 = 41
pmu_bat_para18 = 46
pmu_bat_para19 = 50
pmu_bat_para20 = 53
pmu_bat_para21 = 57
pmu_bat_para22 = 61
pmu_bat_para23 = 67
pmu_bat_para24 = 73
pmu_bat_para25 = 78
pmu_bat_para26 = 84
pmu_bat_para27 = 88
pmu_bat_para28 = 92
pmu_bat_para29 = 93
pmu_bat_para30 = 94
pmu_bat_para31 = 95
pmu_bat_para32 = 100
pmu_bat_temp_enable = 0
pmu_bat_charge_ltf = 2261
pmu_bat_charge_htf = 388
pmu_bat_shutdown_ltf = 3200
pmu_bat_shutdown_htf = 237
pmu_bat_temp_para1 = 7466
pmu_bat_temp_para2 = 4480
pmu_bat_temp_para3 = 3518
pmu_bat_temp_para4 = 2786
pmu_bat_temp_para5 = 2223
pmu_bat_temp_para6 = 1788
pmu_bat_temp_para7 = 1448
pmu_bat_temp_para8 = 969
pmu_bat_temp_para9 = 664
pmu_bat_temp_para10 = 466
pmu_bat_temp_para11 = 393
pmu_bat_temp_para12 = 333
pmu_bat_temp_para13 = 283
pmu_bat_temp_para14 = 242
pmu_bat_temp_para15 = 179
pmu_bat_temp_para16 = 134
pmu_powkey_off_time = 6000
pmu_powkey_off_func = 0
pmu_powkey_off_en = 1
pmu_powkey_long_time = 1500
pmu_powkey_on_time = 1000
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;regulator tree
;--------------------------------------------------------------------------------------------------------
[pmu0_regu]
regulator_count = 23
regulator1 = "axp28_rtc"
regulator2 = "axp28_aldo1"
regulator3 = "axp28_aldo2"
regulator4 = "axp28_aldo3"
regulator5 = "axp28_dldo1"
regulator6 = "axp28_dldo2"
regulator7 = "axp28_dldo3"
regulator8 = "axp28_dldo4"
regulator9 = "axp28_eldo1"
regulator0 = "axp28_eldo2"
regulator11 = "axp28_eldo3"
regulator12 = "axp28_fldo1"
regulator13 = "axp28_fldo2"
regulator14 = "axp28_dcdc1"
regulator15 = "axp28_dcdc2"
regulator16 = "axp28_dcdc3"
regulator17 = "axp28_dcdc4"
regulator18 = "axp28_dcdc5"
regulator19 = "axp28_dcdc6"
regulator20 = "axp28_dcdc7"
regulator21 = "axp28_gpio0ldo"
regulator22 = "axp28_gpio1ldo"
;----------------------------------------------------------------------------------
; dvfs voltage-frequency table configuration
;
; max_freq: cpu maximum frequency, based on Hz
; min_freq: cpu minimum frequency, based on Hz
;
; LV_count: count of LV_freq/LV_volt, must be < 16
;
; LV1: core vdd is 1.50v if cpu frequency is (1344Mhz, 1536Mhz]
; LV2: core vdd is 1.46v if cpu frequency is (1200Mhz, 1344Mhz]
; LV3: core vdd is 1.32v if cpu frequency is (1008Mhz, 1200Mhz]
; LV4: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz]
; LV5: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz]
; LV6: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
; LV7: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
; LV8: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
;
;----------------------------------------------------------------------------------
[dvfs_table]
;extremity_freq = 1344000000
max_freq = 1200000000
min_freq = 480000000
LV_count = 8
LV1_freq = 1536000000
LV1_volt = 1500
LV2_freq = 1344000000
LV2_volt = 1460
LV3_freq = 1200000000
LV3_volt = 1320
LV4_freq = 1008000000
LV4_volt = 1200
LV5_freq = 816000000
LV5_volt = 1100
LV6_freq = 648000000
LV6_volt = 1040
LV7_freq = 0
LV7_volt = 1040
LV8_freq = 0
LV8_volt = 1040
;----------------------------------------------------------------------------------
;virtual device
;virtual device for pinctrl testing
;device have pin PA1 PA2
;----------------------------------------------------------------------------------
[Vdevice]
Vdevice_used = 0
Vdevice_0 = port:PC00<4><1><2><default>
Vdevice_1 = port:PC01<4><1><2><default>
[fel_key]
keyen_flag = 1
fel_key_max = 426
fel_key_min = 256
研究了一下,
第①步会生成:
/opt/f1c100s/Tina_rel/tina$ export
declare -x BUILD_ENV_SEQUENCE_NUMBER="10"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1001/bus"
declare -x DISPLAY="localhost:10.0"
declare -x GCC_COLORS="error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01"
declare -x HOME="/home/cube"
declare -x LANG="en_US.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LICHEE_CHIP_CONFIG_DIR="/opt/f1c100s/Tina_rel/tina/device/config/chips/violin"
declare -x LICHEE_PACK_OUT_DIR="/opt/f1c100s/Tina_rel/tina/out/violin-F1C200s/image"
declare -x LOGNAME="cube"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"
declare -ax LUNCH_MENU_CHOICES=([0]="astar_dm2-tina" [1]="astar_dm-tina" [2]="astar_evb-tina" [3]="astar_noma-tina" [4]="astar_parrot-tina" [5]="astar_spk-tina" [6]="azalea_evb-tina" [7]="azalea_m2ultraservers-tina" [8]="azalea_m2ultra-tina" [9]="azalea_perf1-tina" [10]="azalea_perf2-tina" [11]="azalea_perf3-tina" [12]="bangu_h300-tina" [13]="banjo_dh-tina" [14]="banjo_GW-tina" [15]="banjo_kudrone-tina" [16]="banjo_mic-tina" [17]="banjo_perf1-tina" [18]="banjo_R11_pref1-tina" [19]="banjo_R11_sc3866r-tina" [20]="banjo_R7_pref1-tina" [21]="bassoon_perf1-tina" [22]="bassoon_std-tina" [23]="boobam_ac100-tina" [24]="boobam_ac101s-tina" [25]="boobam_std-tina" [26]="cello_perf1-tina" [27]="cello_pro-tina" [28]="cowbell_demo-tina" [29]="cowbell_perf1-tina" [30]="cowbell_perf2_xr829-tina" [31]="cowbell_qa-tina" [32]="cowbell_std-tina" [33]="cowbell_ubidemo-tina" [34]="drum_std-tina" [35]="drum_std_xr829-tina" [36]="flute_ac100-tina" [37]="guitar_robots-tina" [38]="harp_robots-tina" [39]="koto_carp-tina" [40]="koto_perf1-tina" [41]="koto_perf2-tina" [42]="koto_std-tina" [43]="lute_R7s-tina" [44]="mandolin_perf1-tina" [45]="nuclear_dev-tina" [46]="octopus_dev-tina" [47]="octopus_sch-tina" [48]="organ_perf1-tina" [49]="organ_robots-tina" [50]="petrel_p1-tina" [51]="piano_chimera-tina" [52]="piano_p1-tina" [53]="piano_perf1-tina" [54]="r328s2_demo-tina" [55]="r328s2_perf1_rt-tina" [56]="r328s2_perf1-tina" [57]="r328s2_perf2_xr829-tina" [58]="r328s2_qa-tina" [59]="r328s2_std-tina" [60]="r328s2_ubidemo-tina" [61]="sitar_cuckoo-tina" [62]="sitar_db-tina" [63]="sitar_evb-tina" [64]="sitar_mic2-tina" [65]="sitar_mic-tina" [66]="sitar_pd4-tina" [67]="sitar_perf1-tina" [68]="sitar_perf2-tina" [69]="sitar_perf3-tina" [70]="t7_chimera-tina" [71]="t7_p1-tina" [72]="t7_perf1-tina" [73]="tulip_d1nor-tina" [74]="tulip_d1-tina" [75]="tulip_hena-tina" [76]="tulip_m64-tina" [77]="tulip_mozart-tina" [78]="tulip_noma-tina" [79]="tulip_perf1-tina" [80]="tulip_pine64-tina" [81]="tulip_sgw-tina" [82]="v313_sdv-tina" [83]="v316_perfnor-tina" [84]="v316_SdvDragonBoard-tina" [85]="v316_sdvlpddr-tina" [86]="v316_sdv-tina" [87]="v536_CdrDragonboard-tina" [88]="v536_cdr-tina" [89]="v5_dvb-tina" [90]="v5_lindeni-tina" [91]="violin_F1C200s-tina")
declare -x MAIL="/var/mail/cube"
declare -x OLDPWD="/opt/f1c100s/Tina_rel/tina/package/add-rootfs-demo"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
declare -x PLATFORM_CHOICES="astar
azalea
bangu
banjo
bassoon
boobam
cello
cowbell
drum
flute
guitar
harp
koto
lute
mandolin
nuclear
octopus
organ
petrel
piano
r328s2
sitar
t7
tulip
v313
v316
v5
v536
violin"
declare -x PWD="/opt/f1c100s/Tina_rel/tina"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="127.0.0.1 49258 22"
declare -x SSH_CONNECTION="127.0.0.1 49258 127.0.0.1 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TARGET_BOARD="violin-F1C200s"
declare -x TARGET_BUILD_TYPE="release"
declare -x TARGET_BUILD_VARIANT="tina"
declare -x TARGET_CHIP="sun3iw1p1"
declare -x TARGET_KERNEL_VERSION="3.10"
declare -x TARGET_PLATFORM="violin"
declare -x TARGET_PRODUCT="violin_F1C200s"
declare -x TARGET_UBOOT="u-boot-2014.07"
declare -x TERM="xterm"
declare -x TINA_BUILD_TOP="/opt/f1c100s/Tina_rel/tina"
declare -x TINA_TARGET_ARCH="arm"
declare -x TINA_TOP="/opt/f1c100s/Tina_rel/tina"
declare -x USER="cube"
declare -x VARIANT_CHOICES="tina"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/var/lib/snapd/desktop"
declare -x XDG_RUNTIME_DIR="/run/user/1001"
declare -x XDG_SESSION_ID="683"
这些环境变量:
declare -x TARGET_BOARD="violin-F1C200s"
declare -x TARGET_BUILD_TYPE="release"
declare -x TARGET_BUILD_VARIANT="tina"
declare -x TARGET_CHIP="sun3iw1p1"
declare -x TARGET_KERNEL_VERSION="3.10"
declare -x TARGET_PLATFORM="violin"
第②步不会
①如果先输入 lunch命令,再输入92回车
ubuntu:/opt/f1c100s/Tina_rel/tina$ source build/envsetup.sh
Setup env done! Please run lunch next.
ubuntu:/opt/f1c100s/Tina_rel/tina$
ubuntu:/opt/f1c100s/Tina_rel/tina$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. astar_dm2-tina
2. astar_dm-tina
3. astar_evb-tina
...
85. v316_SdvDragonBoard-tina
86. v316_sdvlpddr-tina
87. v316_sdv-tina
88. v536_CdrDragonboard-tina
89. v536_cdr-tina
90. v5_dvb-tina
91. v5_lindeni-tina
92. violin_F1C200s-tina
Which would you like? [Default violin_F1C200s]: 92
============================================
TINA_BUILD_TOP=/opt/f1c100s/Tina_rel/tina
TINA_TARGET_ARCH=arm
TARGET_PRODUCT=violin_F1C200s
TARGET_PLATFORM=violin
TARGET_BOARD=violin-F1C200s
TARGET_BUILD_VARIANT=tina
TARGET_BUILD_TYPE=release
TARGET_KERNEL_VERSION=3.10
TARGET_UBOOT=u-boot-2014.07
TARGET_CHIP=sun3iw1p1
============================================
ubuntu:/opt/f1c100s/Tina_rel/tina$
这样继续 make & pack 都不会出错。
②但是如果执行 echo 92 | lunch:
:/opt/f1c100s/Tina_rel/tina$ echo 92 | lunch
You're building on Linux
Lunch menu... pick a combo:
1. astar_dm2-tina
2. astar_dm-tina
3. astar_evb-tina
...
90. v5_dvb-tina
91. v5_lindeni-tina
92. violin_F1C200s-tina
Which would you like? [Default violin_F1C200s]: ============================================
TINA_BUILD_TOP=/opt/f1c100s/Tina_rel/tina
TINA_TARGET_ARCH=arm
TARGET_PRODUCT=violin_F1C200s
TARGET_PLATFORM=violin
TARGET_BOARD=violin-F1C200s
TARGET_BUILD_VARIANT=tina
TARGET_BUILD_TYPE=release
TARGET_KERNEL_VERSION=3.10
TARGET_UBOOT=u-boot-2014.07
TARGET_CHIP=sun3iw1p1
============================================
make & pack 都不会执行
我上面两步有什么差异吗?
通过这个实现文件系统初始化
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mtdblock1:env@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=32M fb_base=0x83f00000 androidboot.serialno=<NULL> boot_type=3
/pseudo_init 文件内容:
#!/bin/sh
MOUNT_ETC=0
MOUNT_OVERLAY=1
################################## functions ##################################
#mkfs_jffs2() <device in /dev/by-name>
mkfs_jffs2() {
! [ -x /usr/sbin/mkfs.jffs2 ] \
&& ! [ -x /sbin/mkfs.jffs2 ] \
&& echo "Not Found /usr/sbin/mkfs.jffs2 or /sbin/mkfs.jffs2" \
&& return 1
# format to jffs2
local erase_block=$(/bin/cat /proc/mtd \
| /bin/grep "$(basename $1)" \
| /usr/bin/awk '{print $3}')
/bin/mkdir -p /tmp/jffs2.dir/tmp
mkfs.jffs2 -p -e 0x${erase_block} -d /tmp/jffs2.dir \
-o /tmp/jffs2.img >/dev/null || return 1
/bin/dd if=/tmp/jffs2.img of=$1 || return 1
/bin/rm -rf /tmp/jffs2.img /tmp/jffs2.dir
return 0
}
mount_etc() {
local etc_update=0
# if enable ota, do update
[ -f /etc/init.d/rc.ota-upgrade ] \
&& source /etc/init.d/ota-upgrade
local root_dev="$(readlink /dev/by-name/rootfs)"
# if mount failed, format.
case "${root_dev}" in
/dev/mtdblock*)
/bin/mount -t jffs2 /dev/by-name/rootfs_data /etc \
&& [ -e /etc/etc_complete -a ! -e /etc/etc_need_update ] \
&& return
# /etc/etc_complete and /etc/etc_need_update both exist, that means we just need to update
[ -e /etc/etc_complete -a -e /etc/etc_need_update ] && /bin/echo "do etc update" && etc_update=1
/bin/umount /etc
[ x$etc_update = x"1" ] || {
# not update, format first
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to jffs2 ..."
mkfs_jffs2 "/dev/by-name/rootfs_data" || return 1
}
mount -t jffs2 /dev/by-name/rootfs_data /mnt
;;
*)
/usr/sbin/fsck.ext4 -y /dev/by-name/rootfs_data &>/dev/null
/bin/mount -t ext4 /dev/by-name/rootfs_data /etc \
&& [ -e /etc/etc_complete -a ! -e /etc/etc_need_update ] \
&& return
# /etc/etc_complete and /etc/etc_need_update both exist, that means we just need to update
[ -e /etc/etc_complete -a -e /etc/etc_need_update ] && /bin/echo "do etc update" && etc_update=1
/bin/umount /etc
[ x$etc_update = x"1" ] || {
# not update, format first
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to ext4 ..."
mkfs.ext4 -m 0 /dev/by-name/rootfs_data >/dev/null || return 1
}
/bin/mount -t ext4 /dev/by-name/rootfs_data /mnt
;;
esac
mkdir -p /tmp/etc
/bin/cp -af /etc/* /tmp/etc/
# keep the wifi config
[ -e /mnt/wifi/wpa_supplicant.conf ] && {
/bin/echo "keep the wifi config"
/bin/cp /mnt/wifi/wpa_supplicant.conf /tmp/etc/wifi/
}
/bin/cp -af /tmp/etc/* /mnt/
rm -rf /tmp/etc
sync
[ ! -e /mnt/etc_complete ] && touch /mnt/etc_complete
[ -e /mnt/etc_need_update ] && /bin/echo "etc update done" && rm -f /mnt/etc_need_update
sync
/bin/mount -o move /mnt /etc
}
mount_usr(){
[ -L /dev/by-name/extend ] || return
/bin/mkdir -p /tmp/usr
/bin/mount /dev/by-name/extend /tmp/usr >/dev/null || {
rm -rf /tmp/usr
return
}
! [ -d /tmp/usr/bin ] \
&& umount /tmp/usr \
&& rm -rf /tmp/usr \
&& return
/bin/mount -o move /tmp/usr /usr \
&& rm -rf /tmp/usr
}
mount_sec_storage(){
[ -e /dev/by-name/sec_storage ] || return
local root_dev="$(readlink /dev/by-name/rootfs)"
# mount sec_storage
if [ -h /dev/by-name/sec_storage -a -d /data/tee ]; then
case "${root_dev}" in
/dev/mtdblock*)
/bin/busybox mount -t jffs2 /dev/by-name/sec_storage /data/tee 2>/dev/null
if [ "$?" -ne "0" ]; then
mkfs_jffs2 "/dev/by-name/sec_storage"
/bin/busybox mount -t jffs2 /dev/by-name/sec_storage /data/tee 2>/dev/null
fi
;;
*)
/usr/sbin/fsck.ext4 -y /dev/by-name/sec_storage &>/dev/null
/bin/busybox mount -t ext4 /dev/by-name/sec_storage /data/tee 2>/dev/null
if [ "$?" -ne "0" ]; then
mkfs.ext4 /dev/by-name/sec_storage >/dev/null
/bin/busybox mount -t ext4 /dev/by-name/sec_storage /data/tee 2>/dev/null
fi
;;
esac
fi
}
mount_single_app(){
/usr/sbin/fsck.ext4 -y /dev/by-name/app &>/dev/null
/bin/mount /dev/by-name/app /mnt/app
}
mount_dual_app(){
mkdir -p /var/lock
local appAB=$(fw_printenv -n appAB)
local first_app=app
local second_app=app_sub
local applimit=$(fw_printenv -n applimit)
[ x"$applimit" != x"" -a "$applimit" -ne 0 ] && {
local appcount=$(fw_printenv -n appcount)
let appcount+=1
[ "$appcount" -gt "$applimit" ] && {
echo "Warning: applimit ($applimit) exceeded. Switch app partition."
if [ x"$appAB" = x"A" ]; then
appAB=B
elif [ x"$appAB" = x"B" ]; then
appAB=A
else
echo "check appAB error: appAB=$appAB"
appAB=A
fi
fw_setenv appAB $appAB
echo "Switch appAB to $appAB"
appcount=1
}
fw_setenv appcount $appcount
}
echo "appAB=$appAB"
if [ x"$appAB" = x"A" ]; then
first_app=app
second_app=app_sub
elif [ x"$appAB" = x"B" ]; then
first_app=app_sub
second_app=app
else
echo "check appAB error: appAB=$appAB"
fi
/usr/sbin/fsck.ext4 -y /dev/by-name/$first_app &> /dev/null
/bin/mount -t ext4 /dev/by-name/$first_app /mnt/app \
&& echo "mount $first_app success" \
&& return
echo "mount $first_app fail, now try mount $second_app"
#mount first_app fail, try second_app
/usr/sbin/fsck.ext4 -y /dev/by-name/$second_app &> /dev/null
/bin/mount -t ext4 /dev/by-name/$second_app /mnt/app \
&& echo "mount $second_app success" \
&& return
echo "mount app fail"
}
mount_app() {
[ -L /dev/by-name/app ] || return
if [ -L /dev/by-name/app_sub ]; then
mount_dual_app
else
mount_single_app
fi
}
mount_overlay() {
local root_dev="$(readlink /dev/by-name/rootfs)"
mkdir -p /overlay
case "${root_dev}" in
/dev/mtdblock*)
/bin/mount -t jffs2 /dev/by-name/rootfs_data /overlay || {
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to jffs2 ..."
mkfs_jffs2 "/dev/by-name/rootfs_data" || return 1
mount -t jffs2 /dev/by-name/rootfs_data /overlay
}
;;
*)
/usr/sbin/fsck.ext4 -y /dev/by-name/rootfs_data &>/dev/null
/bin/mount -t ext4 /dev/by-name/rootfs_data /overlay || {
/bin/echo "Mount Failed: formating /dev/by-name/rootfs_data to ext4 ..."
mkfs.ext4 -m 0 /dev/by-name/rootfs_data >/dev/null || return 1
/bin/mount -t ext4 /dev/by-name/rootfs_data /overlay
}
;;
esac
fgrep -sq overlay /proc/filesystems || {
/bin/echo "skip mount overlayfs as kernel not support"
return
}
fgrep -sq '/dev/root / squashfs ro' /proc/mounts || {
/bin/echo "skip mount overlayfs as now rootfs not squashfs"
return
}
# First, try to mount without a workdir, for overlayfs v22 and before.
# If it fails, it means that we are probably using a v23 and
# later versions that require a workdir
# mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay /mnt || {
# mkdir -p /overlay/upper /overlay/workdir
# mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir /mnt
# }
local overlay_need_workdir=1
# overlayfs in linux-3.4 and linux-3.10 is v22 and before, should mount without a workdir
fgrep -sq 'Linux version 3' /proc/version && overlay_need_workdir=0
if [ x"$overlay_need_workdir" = x"0" ]; then
mount -n -t overlayfs overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay /mnt
else
mkdir -p /overlay/upper /overlay/workdir
mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/workdir /mnt
fi
mount -n /proc -o noatime,move /mnt/proc
pivot_root /mnt /mnt/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
fgrep -sq '/rom/usr' /proc/mounts && {
mount -n /rom/usr -o noatime,move /usr
if [ x"$overlay_need_workdir" = x"0" ]; then
mkdir -p /overlay/usr
mount -n -t overlayfs overlayfs:/overlay -o rw,noatime,lowerdir=/usr,upperdir=/overlay/usr /usr
else
mkdir -p /overlay/upper/usr /overlay/workdir/usr
mount -n -t overlay overlayfs:/overlay -o rw,noatime,lowerdir=/usr,upperdir=/overlay/upper/usr,workdir=/overlay/workdir/usr /usr
fi
}
}
set_parts_by_name() {
# create by-name
local parts part
/bin/mkdir -p /dev/by-name
parts=$partitions
for part in $(/bin/echo ${parts} | /bin/sed 's/:/ /g')
do
[ ! -e /dev/${part#*@} ] && mdev -s #for initramfs
/bin/ln -fs "/dev/${part#*@}" "/dev/by-name/${part%@*}"
done
}
etc_part=/dev/nande
#hardcode rootfs_data partition as nande
mount_etc_hardcode() {
# fix fs
/usr/sbin/fsck.ext4 -y $etc_part &>/dev/null
/bin/mount -t ext4 $etc_part /etc \
&& [ -e /etc/etc_complete ] \
&& return
/bin/echo "mount Failed or etc_complete not exist"
/bin/echo "now format $etc_part to ext4 ..."
/bin/umount /etc
mkfs.ext4 -m 0 $etc_part >/dev/null || return 1
/bin/mount -t ext4 $etc_part /mnt
/bin/cp -af /etc/* /mnt/
sync
/bin/mount -o move /mnt /etc
#prepare by-name in /etc for next boot
set_parts_by_name
cp -fpr /dev/by-name /etc
sync
#now rootfs_data is ready, next boot can mount it as etc
touch /etc/etc_complete
sync # this sync not necessary, but sync after modify something is good
}
set_parts_by_name_hardcode() {
#UDISK is the last partition, when UDISK is there, the /etc/by-name is ready
[ -e /etc/by-name/UDISK ] && {
#set_part_by_name may cost more than 100ms, now just copy it from /etc
cp -fpr /etc/by-name /dev/
return
}
#should not go here. now just show warning and do set_parts_by_name
echo "warning: no /etc/by-name/UDISK, please check it"
set_parts_by_name
}
#----------------------------------------------------------------
/bin/mount -t proc /proc /proc
/bin/mount -t tmpfs tmpfs /tmp
/bin/mount -t sysfs sys /sys
/bin/mount -t devtmpfs none /dev
/bin/mount -t pstore pstore /sys/fs/pstore
#common but slow
set_parts_by_name
mount_sec_storage
mount_usr
[ x"$MOUNT_ETC" = x"1" ] && mount_etc
[ x"$MOUNT_OVERLAY" = x"1" ] && mount_overlay
mount_app
#hardcode but fast
#mount_etc_hardcode
#set_parts_by_name_hardcode
#mount_usr
exec /sbin/init
root@TinaLinux:/# cat /rom/etc/mtab
rootfs / rootfs rw 0 0
/dev/root /rom squashfs ro,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=13208k,nr_inodes=3302,mode=755 0 0
/proc /proc proc rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime 0 0
sys /sys sysfs rw,relatime 0 0
/dev/by-name/rootfs_data /overlay jffs2 rw,relatime 0 0
overlayfs:/overlay / overlayfs rw,noatime,lowerdir=/,upperdir=/overlay 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/mtdblock8 /mnt/UDISK jffs2 rw,relatime 0 0
根文件系统由两部分构成,
/dev/by-name/rootfs
/dev/by-name/rootfs_data
其中 rootfs 是squashfs 格式压缩只读文件系统,
rootfs_data 是jffs2可读写文件系统
修改 target/allwinner/violin-F1C200s/configs/sys_config.fex
[norflash]
-size = 8
+size = 16
修改 target/allwinner/violin-F1C200s/configs/sys_partition_nor.fex
[partition]
name = rootfs
;size = 1024
- size = 6656
+ size = 8192
downloadfile = "rootfs.fex"
user_type = 0x8000
然后执行 ARCH=arm make clean -C ./lichee/linux-3.10/;make -j3;pack
.....
Begin Parse sys_partion.fex
Add partion bootlogo.fex BOOTLOGO_FEX0000
Add partion very bootlogo.fex BOOTLOGO_FEX0000
FilePath: bootlogo.fex
FileLength=4b036Add partion env.fex ENV_FEX000000000
Add partion very env.fex ENV_FEX000000000
FilePath: env.fex
FileLength=20000Add partion boot.fex BOOT_FEX00000000
Add partion very boot.fex BOOT_FEX00000000
FilePath: boot.fex
FileLength=276688Add partion rootfs.fex ROOTFS_FEX000000
Add partion very rootfs.fex ROOTFS_FEX000000
FilePath: rootfs.fex
FileLength=3c0000sys_config.fex Len: 0xb943
config.fex Len: 0x7000
split_xxxx.fex Len: 0x200
sys_partition.fex Len: 0xbf2
sunxi.fex Len: 0xc400
boot0_nand.fex Len: 0x4000
boot0_sdcard.fex Len: 0x8000
boot0_spinor.fex Len: 0x4000
u-boot.fex Len: 0xa4000
toc1.fex Len: 0x8
toc0.fex Len: 0x8
fes1.fex Len: 0x2d80
boot_package_nor.fex Len: 0x54000
usbtool.fex Len: 0x24200
aultools.fex Len: 0x2849b
aultls32.fex Len: 0x24d3f
cardtool.fex Len: 0x11e00
cardscript.fex Len: 0x6de
sunxi_mbr_nor.fex Len: 0x4000
dlinfo.fex Len: 0x4000
arisc.fex Len: 0xf
bootlogo.fex Len: 0x4b036
Vbootlogo.fex Len: 0x4
env.fex Len: 0x20000
Venv.fex Len: 0x4
boot.fex Len: 0x276688
Vboot.fex Len: 0x4
rootfs.fex Len: 0x3c0000
Vrootfs.fex Len: 0x4
BuildImg 0
Dragon execute image.cfg SUCCESS !
----------image is for nor----------
----------image is at----------
/opt/Tina_rel/tina/out/violin-F1C200s/tina_violin-F1C200s_uart0_nor.img
pack finish
用 PhoenixSuit.exe 烧录 tina_violin-F1C200s_uart0_nor.img
启动日志:
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62]Reg pull reg_val=0x00000000,read=0x00000010
[66]Succeed in reading toc file head.
[69]The size of toc is 00054000.
[127]Reg pull reg_val=0x00000000,read=0x00000010
[136]Ready to disable icache.
[138]Jump to secend Boot.
U-Boot 2014.07 (Aug 21 2019 - 14:53:43) Allwinner Technology
uboot commit : 78cb55af380c57c0278162e241a9999cdc16e1d6
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.187]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.193]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 64 MiB
Relocation Offset is: 03580000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 3
[0.259]spinor: 0
flash size =0x8000 sectors
sunxi spinor is initing...int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
sunxi_dma_install_int ok
OK
spinor id:0x1840ef
spi_freq = 40000000
[0.278]sunxi flash init ok
spinor read: start 0x3e0, sector 0x20
used mbr [0], count = 8
spinor read: start 0x800, sector 0x200
env size is 256
env partition is too small!
can't enabled backup env functions
logo addr = 0x83f00000
spinor read: start 0x400, sector 0x400
sunxi_read_bootlogo: read bootlogo partition successful
do not find fastboot status flag
--------fastboot partitions--------
-total partitions:8-
-name- -start- -size-
bootlogo : 4000 80000
env : 84000 20000
boot : a4000 280000
rootfs : 324000 400000
rootfs_data : 724000 80000
misc : 7a4000 10000
private : 7b4000 10000
UDISK : 7c4000 0
-----------------------------------
spinor read: start 0x4100, sector 0x4
disable nand error: FDT_ERR_BADPATH
disable nand error: FDT_ERR_BADPATH
## error: update_fdt_dram_para : FDT_ERR_NOTFOUND
PowerBus = 0( 2:vBus 3:acBus other: not exist)
no battery exist
sunxi_bmp_logo_display
Hit any key to stop autoboot: 0
spinor read: start 0x900, sector 0x40
spinor read: start 0x940, sector 0x1374
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: ARM OpenWrt Linux-3.10.65
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2582088 Bytes = 2.5 MiB
Load Address: 80008000
Entry Point: 80008000
XIP Kernel Image ... OK
reserving fdt memory region: addr=81000000 size=10000
Using Device Tree in place at 81000000, end 8100f23f
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.65 (cube@global) (gcc version 6.4.1 (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) ) #33 Mon Mar 29 13:37:21 UTC 2021
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Allwinner A1X (Device Tree), model: sun3iw1p1
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] cma: CMA: reserved 32 MiB at 82000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 16384
[ 0.000000] free_area_init_node: node 0, pgdat c0542acc, node_mem_map c0570000
[ 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] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: enforcing=1 earlyprintk=sunxi-uart,0x01c25000 initcall_debug=0 console=ttyS1,115200 loglevel=8 root=/dev/mtdblock4 init=/pseudo_init rdinit=/rdinit partitions=bootlogo@mtdblock1:env@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:rootfs_data@mtdblock5:misc@mtdblock6:private@mtdblock7:UDISK@mtdblock8 cma=32M fb_base=0x83f00000 androidboot.serialno=<NULL> boot_type=3
[ 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: 64MB = 64MB total
[ 0.000000] Memory: 26420k/26420k available, 39116k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc043ef84 (4316 kB)
[ 0.000000] .init : 0xc043f000 - 0xc045cf34 ( 120 kB)
[ 0.000000] .data : 0xc045e000 - 0xc05433e8 ( 917 kB)
[ 0.000000] .bss : 0xc05433e8 - 0xc056fbc0 ( 178 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] of_sunxi_clocks_init : sunxi_clk_base[0xf1c20000]
[ 0.000000] pll_cpu-set_default_rate=552000000 success!
[ 0.000000] pll_video-set_default_rate=297000000 success!
[ 0.000000] pll_ddr-set_default_rate=312000000 success!
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.005328] Calibrating delay loop... 275.25 BogoMIPS (lpj=1376256)
[ 0.075252] pid_max: default: 32768 minimum: 301
[ 0.080437] Mount-cache hash table entries: 512
[ 0.086403] CPU: Testing write buffer coherency: ok
[ 0.092181] Setting up static identity map for 0xc0340248 - 0xc03402a0
[ 0.101429] devtmpfs: initialized
[ 0.106914] pinctrl core: initialized pinctrl subsystem
[ 0.119338] NET: Registered protocol family 16
[ 0.127272] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.134925] dump_class_init,844, success
[ 0.143764] sun3iw1p1-pinctrl pio: initialized sunXi PIO driver
[ 0.167576] bio: create slab <bio-0> at 0
[ 0.173104] pwm module init!
[ 0.177898] SCSI subsystem initialized
[ 0.182071] usbcore: registered new interface driver usbfs
[ 0.187957] usbcore: registered new interface driver hub
[ 0.193836] usbcore: registered new device driver usb
[ 0.201386] gpio=0,mul_sel=0,pull=0,drv_level=0,data=0
[ 0.207100] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.215645] pcf857x 0-0020: retry commucation.7
[ 0.220608] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.229135] pcf857x 0-0020: retry commucation.6
[ 0.234115] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.242634] pcf857x 0-0020: retry commucation.5
[ 0.247594] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.256114] pcf857x 0-0020: retry commucation.4
[ 0.261066] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.269584] pcf857x 0-0020: retry commucation.3
[ 0.274556] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.283071] pcf857x 0-0020: retry commucation.2
[ 0.288022] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.296535] pcf857x 0-0020: retry commucation.1
[ 0.301491] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x48, dev addr: 0x20)
[ 0.310036] pcf857x: probe of 0-0020 failed with error -70
[ 0.319580] Linux video capture interface: v2.00
[ 0.325015] Advanced Linux Sound Architecture Driver Initialized.
[ 0.332966] cfg80211: Calling CRDA to update world regulatory domain
[ 0.340479] Switching to clocksource sun3i high-res couter
[ 0.365530] get det_vbus is fail, 84
[ 0.370958] NET: Registered protocol family 2
[ 0.377612] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.384724] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.391388] TCP: Hash tables configured (established 512 bind 512)
[ 0.397957] TCP: reno registered
[ 0.401350] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.407460] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.414558] NET: Registered protocol family 1
[ 0.432647] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.439304] jffs2: version 2.2. © 2001-2006 Red Hat, Inc.
[ 0.445744] msgmni has been set to 115
[ 0.452972] io scheduler noop registered
[ 0.457268] io scheduler cfq registered (default)
[ 0.462145] [pm]aw_pm_init!
[ 0.465415] [pm]valid
[ 0.467916] [pm]valid
[ 0.470649] [DISP]disp_module_init
[ 0.526367] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 0.533747] num_screens=1
[ 0.536635] screen_id=0
[ 0.539216] para->mclk[MOD_CLK_LCD1CH0]=0xc180c340
[ 0.544166] para->mclk[MOD_CLK_LCD1CH1]=0xc180c440
[ 0.549170] disp tv init
[ 0.551839] tcon_clk=0xc180c340, tcon_clk_parent=0x0
[ 0.557009] tcon_clk=0xc180c340, tcon_clk_parent=0xc1804400
[ 0.562757] tve_clk=0xc180c440, tve_clk_parent=0xc1804400
[ 0.568355] disp al tv init
[ 0.574034] fetch script datadisp.screen2_output_type fail
[ 0.580129] fetch script datadisp.screen2_output_mode fail
[ 0.588544] fetch script datadisp.fb2_format fail
[ 0.593723] fetch script datadisp.fb2_scaler_mode_enable fail
[ 0.600032] fetch script datadisp.fb2_width fail
[ 0.605123] fetch script datadisp.fb2_height fail
[ 0.633343] [DISP]disp_module_init finish
[ 0.651664] uart1: ttyS1 at MMIO 0x1c25400 (irq = 104) is a SUNXI
[ 0.658111] sw_console_setup()1324 - console setup baud 115200 parity n bits 8, flow n
[ 0.666333] console [ttyS1] enabled, bootconsole disabled
[ 0.666333] console [ttyS1] enabled, bootconsole disabled
[ 0.678883] misc dump reg init
[ 0.683558] sunxi-wlan wlan: wlan_busnum (0)
[ 0.688439] sunxi-wlan wlan: wlan_power_num (0)
[ 0.693483] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 0.699336] sunxi-wlan wlan: io_regulator_name ((null))
[ 0.705166] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 0.713024] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 0.720996] sunxi-wlan wlan: wlan_regon gpio=-1048148608 mul-sel=-1048355436 pull=-1048355480 drv_level=-1072832404 data=-1072834700
[ 0.734637] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 0.741275] platform wlan: Driver sunxi-wlan requests probe deferral
[ 0.748716] lradc_battery_probe:lradc_battery_probe ++++++
[ 0.754812] lradc_battery_dts_parse:lradc_battery_dts_parse ++++++
[ 0.761779] key base: f1c23400
[ 0.765306] irq num: 115 !
[ 0.768380] battery_data_hw_init:battery_data_hw_init ++++++
[ 0.774721] lradc_battery_probe:lradc_battery_probe ------
[ 0.783365] spi spi0: master is unqueued, this is deprecated
[ 0.791041] m25p80 spi0.0: found w25q128, expected m25p64
[ 0.797173] m25p80 spi0.0: w25q128 (16384 Kbytes) - fast mode
[ 0.807952] 9 sunxipart partitions found on MTD device (null)
[ 0.814347] Creating 9 MTD partitions on "(null)":
[ 0.819786] 0x000000000000-0x000000080000 : "uboot"
[ 0.827456] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.835094] 0x000000100000-0x000000120000 : "env"
[ 0.842238] 0x000000120000-0x0000003a0000 : "boot"
[ 0.849440] 0x0000003a0000-0x0000007a0000 : "rootfs"
[ 0.856900] 0x0000007a0000-0x000000820000 : "rootfs_data"
[ 0.864792] 0x000000820000-0x000000830000 : "misc"
[ 0.872188] 0x000000830000-0x000000840000 : "private"
[ 0.879780] 0x000000840000-0x000001000000 : "UDISK"
[ 0.887592] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.896113] gpio_request failed
[ 0.899757] get regulator_io is no nocare
[ 0.904364] sunxi_hcd_host0 1c13000.otghci0-controller: sunxi_hcd host driver
[ 0.912455] sunxi_hcd_host0 1c13000.otghci0-controller: new USB bus registered, assigned bus number 1
[ 0.924312] hub 1-0:1.0: USB hub found
[ 0.928652] hub 1-0:1.0: 1 port detected
[ 0.933517] wrn: hcd is not enable, need not stop hcd
[ 0.939982] sunxi_keyboard_startup: keyboard has no clk.
[ 0.946571] input: sunxi-keyboard as /devices/virtual/input/input0
[ 0.954538] rtc-pcf8563 0-0051: chip found, driver version 0.4.3
[ 0.961697] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 0.970946] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 0.978185] rtc-pcf8563 0-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 0.985742] sunxi cedar version 0.1
[ 0.989974] VE: install start!!!
[ 0.989974]
[ 0.995358] cedar_ve: cedar-ve the get irq is 103
[ 1.001282] VE: install end!!!
[ 1.001282]
[ 1.008118] sunxi-mmc sdc0: SD/MMC/SDIO Host Controller Driver(v0.91 2018-5-29 14:19) Compiled in Mar 29 2021 at 13:36:51
[ 1.020598] sunxi-mmc sdc0: Can't get vmmc regulator string
[ 1.026893] sunxi-mmc sdc0: Can't get vqmmc regulator string
[ 1.033188] sunxi-mmc sdc0: Can't get vdmmc regulator string
[ 1.039523] sunxi-mmc sdc0: Failed getting OCR mask: 0
[ 1.046820] sunxi-mmc sdc0: ***set host ocr***
[ 1.052147] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.076384] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.106546] sunxi-mmc sdc0: base:0xf1c0f000 irq:107
[ 1.112005] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.118853] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[ 1.124852] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.139387] failed to get gpio-spk and gpio_num
[ 1.147913] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTR
[ 1.155916] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin HPOUTL
[ 1.163929] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKL
[ 1.171711] sunxi-internal-codec 1c23c00.codec: ASoC: DAPM unknown pin SPKR
[ 1.179478] sunxi-codec-machine sound.2: ASoC: DAPM unknown pin External Speaker
[ 1.188813] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.207661] sunxi-codec-machine sound.2: sun3iw1codec <-> 1c23c00.cpudai0-controller mapping ok
[ 1.217574] sunxi-codec-machine sound.2: ASoC: no sink widget found for MainMic Bias
[ 1.226180] sunxi-codec-machine sound.2: ASoC: Failed to add route External MainMic -> direct -> MainMic Bias
[ 1.237246] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.246037] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1P
[ 1.256023] sunxi-codec-machine sound.2: ASoC: no source widget found for MainMic Bias
[ 1.264848] sunxi-codec-machine sound.2: ASoC: Failed to add route MainMic Bias -> direct -> MIC1N
[ 1.276789] sunxi-mmc sdc0: smc 0 p0 err, cmd 8, RTO !!
[ 1.283526] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.290335] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.296673] ipip: IPv4 over IPv4 tunneling driver
[ 1.301950] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.308690] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[ 1.314954] gre: GRE over IPv4 demultiplexor driver
[ 1.320516] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.326500] ip_gre: GRE over IPv4 tunneling driver
[ 1.332702] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.339611] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.346436] sunxi-mmc sdc0: smc 0 p0 err, cmd 55, RTO !!
[ 1.352589] sunxi-mmc sdc0: sdc set ios: clk 400000Hz bm OD pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 1.363461] TCP: cubic registered
[ 1.367216] Initializing XFRM netlink socket
[ 1.372150] NET: Registered protocol family 17
[ 1.377193] sunxi-mmc sdc0: smc 0 p0 err, cmd 1, RTO !!
[ 1.383074] sunxi-mmc sdc0: sdc set ios: clk 0Hz bm OD pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 1.393586] NET: Registered protocol family 15
[ 1.399074] VFP support v0.3: not present
[ 1.405834] [LCD]lcd_module_init
[ 1.413483] enhance_en=1
[ 1.416464] matrixresult:(0x0, 0x3c4, 0x0, 0x0)
[ 1.421643] pll_freq=297000000HZ, lcd_dclk_freq=33000000HZ, clk_div=9
[ 1.428898] clk_div=9
[ 1.431439] [DISP] disp_sys_gpio_request,line:303: disp_sys_gpio_request failed, gpio_name=lcd_gpio_0, gpio=2043, ret=-517
[ 1.445587] [LCD]open, step 0 finish
[ 1.486346] [LCD]open, step 1 finish
[ 1.546347] [LCD]open, step 2 finish
[ 1.666356] ------------[ cut here ]------------
[ 1.671556] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.679347] invalid GPIO -517
[ 1.682666] Modules linked in:
[ 1.686074] CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 3.10.65 #33
[ 1.693103] Workqueue: events start_work
[ 1.697503] Backtrace:
[ 1.700321] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.709733] r7:0000007e r6:c03f32ed r5:00000009 r4:c185bda8
[ 1.716132] [<c001351c>] (show_stack+0x0/0x1c) from [<c033da38>] (dump_stack+0x20/0x28)
[ 1.725120] [<c033da18>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 1.735071] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 1.745626] r9:c05551e0 r8:c03f4102 r7:00000001 r6:00000000 r5:c18ce300
r4:fffffdfb
[ 1.754472] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 1.764267] r3:fffffdfb r2:c03f32dc
[ 1.768346] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014bc3c>] (gpio_get_value_cansleep+0x10/0x44)
[ 1.778775] [<c014bc2c>] (gpio_get_value_cansleep+0x0/0x44) from [<c015a7fc>] (disp_sys_gpio_set_direction+0x20/0xb8)
[ 1.790685] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 1.802908] r5:c18ce300 r4:c1814000
[ 1.806981] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 1.819577] r7:c1814000 r6:c0554f68 r5:00000001 r4:00000000
[ 1.825934] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 1.838633] r5:00000000 r4:00000003
[ 1.842661] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 1.853476] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 1.862908] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 1.872420] r9:c05551e0 r8:c03f411f r7:00000001 r6:c03f40af r5:c0555454
r4:00000000
[ 1.881210] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 1.891032] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 1.901914] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 1.912555] r5:c046abd0 r4:c1822e40
[ 1.916631] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 1.925642] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 1.934594] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 1.940945] ---[ end trace 7bafd6f951250a1d ]---
[ 1.946068] ------------[ cut here ]------------
[ 1.951284] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 1.959049] invalid GPIO -517
[ 1.962335] Modules linked in:
[ 1.965737] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #33
[ 1.973830] Workqueue: events start_work
[ 1.978236] Backtrace:
[ 1.981012] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 1.990441] r7:0000007e r6:c03f32ed r5:00000009 r4:c185bda0
[ 1.996845] [<c001351c>] (show_stack+0x0/0x1c) from [<c033da38>] (dump_stack+0x20/0x28)
[ 2.005805] [<c033da18>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.015742] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.026329] r9:c05551e0 r8:c03f4102 r7:00000001 r6:00000000 r5:c18ce300
r4:00000000
[ 2.035144] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 2.044939] r3:fffffdfb r2:c03f32dc
[ 2.048997] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014c628>] (gpio_direction_output+0x14/0x20)
[ 2.059250] [<c014c614>] (gpio_direction_output+0x0/0x20) from [<c015a808>] (disp_sys_gpio_set_direction+0x2c/0xb8)
[ 2.070890] r5:c18ce300 r4:fffffdfb
[ 2.074950] [<c015a7dc>] (disp_sys_gpio_set_direction+0x0/0xb8) from [<c0170d5c>] (disp_lcd_gpio_set_direction+0xa8/0xc8)
[ 2.087173] r5:c18ce300 r4:c1814000
[ 2.091205] [<c0170cb4>] (disp_lcd_gpio_set_direction+0x0/0xc8) from [<c016c730>] (bsp_disp_lcd_gpio_set_direction+0x38/0x44)
[ 2.103806] r7:c1814000 r6:c0554f68 r5:00000001 r4:00000000
[ 2.110206] [<c016c6f8>] (bsp_disp_lcd_gpio_set_direction+0x0/0x44) from [<c0177274>] (sunxi_lcd_gpio_set_direction+0x20/0x30)
[ 2.122898] r5:00000000 r4:00000003
[ 2.126963] [<c0177254>] (sunxi_lcd_gpio_set_direction+0x0/0x30) from [<c017a9c0>] (LCD_bl_open+0x28/0x3c)
[ 2.137772] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.147211] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.156719] r9:c05551e0 r8:c03f411f r7:00000001 r6:c03f40af r5:c0555454
r4:00000000
[ 2.165478] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.175305] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.186185] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.196833] r5:c046abd0 r4:c1822e40
[ 2.200851] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.209931] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.218874] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.225185] ---[ end trace 7bafd6f951250a1e ]---
[ 2.230345] gpiod_direction_output: invalid GPIO
[ 2.235498] [DISP] disp_sys_gpio_set_direction,line:413: gpio_direction_output fail!
[ 2.244424] ------------[ cut here ]------------
[ 2.249622] WARNING: at drivers/gpio/gpiolib.c:126 gpio_to_desc+0x28/0x4c()
[ 2.257407] invalid GPIO -517
[ 2.260693] Modules linked in:
[ 2.264098] CPU: 0 PID: 9 Comm: kworker/0:1 Tainted: G W 3.10.65 #33
[ 2.272190] Workqueue: events start_work
[ 2.276590] Backtrace:
[ 2.279369] [<c0013328>] (dump_backtrace+0x0/0x104) from [<c0013534>] (show_stack+0x18/0x1c)
[ 2.288802] r7:0000007e r6:c03f32ed r5:00000009 r4:c185bda8
[ 2.295158] [<c001351c>] (show_stack+0x0/0x1c) from [<c033da38>] (dump_stack+0x20/0x28)
[ 2.304161] [<c033da18>] (dump_stack+0x0/0x28) from [<c001b9dc>] (warn_slowpath_common+0x54/0x70)
[ 2.314083] [<c001b988>] (warn_slowpath_common+0x0/0x70) from [<c001ba30>] (warn_slowpath_fmt+0x38/0x40)
[ 2.324655] r9:c05551e0 r8:c03f4102 r7:00000001 r6:00000000 r5:c18ce300
r4:00000001
[ 2.333469] [<c001b9f8>] (warn_slowpath_fmt+0x0/0x40) from [<c014bb98>] (gpio_to_desc+0x28/0x4c)
[ 2.343278] r3:fffffdfb r2:c03f32dc
[ 2.347334] [<c014bb70>] (gpio_to_desc+0x0/0x4c) from [<c014be10>] (gpio_set_value_cansleep+0x14/0x6c)
[ 2.357779] [<c014bdfc>] (gpio_set_value_cansleep+0x0/0x6c) from [<c015a8f8>] (disp_sys_gpio_set_value+0x18/0x4c)
[ 2.369202] r5:c18ce300 r4:c1814000
[ 2.373279] [<c015a8e0>] (disp_sys_gpio_set_value+0x0/0x4c) from [<c0170c94>] (disp_lcd_gpio_set_value+0xa8/0xc8)
[ 2.384762] [<c0170bec>] (disp_lcd_gpio_set_value+0x0/0xc8) from [<c016c6ec>] (bsp_disp_lcd_gpio_set_value+0x38/0x44)
[ 2.396593] r7:c1814000 r6:c0554f68 r5:00000001 r4:00000000
[ 2.402949] [<c016c6b4>] (bsp_disp_lcd_gpio_set_value+0x0/0x44) from [<c0177244>] (sunxi_lcd_gpio_set_value+0x20/0x30)
[ 2.414877] r5:00000000 r4:00000003
[ 2.418947] [<c0177224>] (sunxi_lcd_gpio_set_value+0x0/0x30) from [<c017a9d0>] (LCD_bl_open+0x38/0x3c)
[ 2.429372] [<c017a998>] (LCD_bl_open+0x0/0x3c) from [<c0154010>] (drv_lcd_enable+0xa0/0xe0)
[ 2.438827] [<c0153f70>] (drv_lcd_enable+0x0/0xe0) from [<c015415c>] (start_work+0x10c/0x1cc)
[ 2.448328] r9:c05551e0 r8:c03f411f r7:00000001 r6:c03f40af r5:c0555454
r4:00000000
[ 2.457139] [<c0154050>] (start_work+0x0/0x1cc) from [<c0031cc0>] (process_one_work+0x1e8/0x330)
[ 2.466946] [<c0031ad8>] (process_one_work+0x0/0x330) from [<c0031e38>] (process_scheduled_works+0x30/0x34)
[ 2.477828] [<c0031e08>] (process_scheduled_works+0x0/0x34) from [<c0032b78>] (worker_thread+0x1e0/0x358)
[ 2.488487] r5:c046abd0 r4:c1822e40
[ 2.492505] [<c0032998>] (worker_thread+0x0/0x358) from [<c0037cf8>] (kthread+0xa8/0xb4)
[ 2.501556] [<c0037c50>] (kthread+0x0/0xb4) from [<c000f930>] (ret_from_fork+0x14/0x24)
[ 2.510496] r7:00000000 r6:00000000 r5:c0037c50 r4:c1849e7c
[ 2.516840] ---[ end trace 7bafd6f951250a1f ]---
[ 2.521981] [LCD]open, step 3 finish
[ 2.526862] [LCD]lcd_module_init finish
[ 2.531807] sunxi-wlan wlan: wlan_busnum (0)
[ 2.536711] sunxi-wlan wlan: wlan_power_num (0)
[ 2.541803] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 2.547675] sunxi-wlan wlan: io_regulator_name ((null))
[ 2.553592] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 2.561508] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 2.569501] sunxi-wlan wlan: wlan_regon gpio=-1048148608 mul-sel=-1047962220 pull=-1047962264 drv_level=-1072832404 data=-1072834700
[ 2.583175] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 2.589842] platform wlan: Driver sunxi-wlan requests probe deferral
[ 2.597249] usb_serial_number:20080411
[ 2.601996] file system registered
[ 2.608705] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 2.616482] android_usb gadget: Number of LUNs=3
[ 2.621715] lun0: LUN: removable file: (no medium)
[ 2.627206] lun1: LUN: removable file: (no medium)
[ 2.632621] lun2: LUN: removable file: (no medium)
[ 2.638933] android_usb gadget: android_usb ready
[ 2.644590] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 2.653868] rtc-pcf8563 0-0051: pcf8563_get_datetime: read error
[ 2.660637] rtc-pcf8563 0-0051: hctosys: unable to read the hardware clock
[ 2.668535] ALSA device list:
[ 2.671845] #0: audiocodec
[ 2.690776] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[ 2.704496] devtmpfs: mounted
[ 2.708993] Freeing unused kernel memory: 116K (c043f000 - c045c000)
mount: mounting none on /dev failed: Resource busy
mount: mounting pstore on /sys/fs/pstore failed: No such file or directory
-- run rc.preboot --
-- set volume --
-- play music --
-- end --
[ 4.386401]
[ 4.386401] insmod_device_driver
[ 4.386401]
[ 4.393538] device_chose finished 77!
playing '/etc/kaiji.wav': 2 ch, 48000 hz, 16 bit
[ 6.587618] get ctp_name is fail, -22
[ 6.591710] get ctp_power is fail, -22
[ 6.595870] get ctp_power_ldo_vol is fail, -22
[ 6.600973] ctp_fetch_sysconfig_para: ctp_power_io is invalid.
[ 6.607556] get ctp_wakeup is fail, -22
[ 6.611831] ctp_fetch_sysconfig_para: irq_gpio is invalid.
[ 6.668290] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.697586] input: gt82x as /devices/virtual/input/input1
[ 6.721252] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.741641] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.752059] sunxi-wlan wlan: wlan_busnum (0)
[ 6.757044] sunxi-wlan wlan: wlan_power_num (0)
[ 6.762099] sunxi-wlan wlan: Missing wlan_io_regulator.
[ 6.767971] sunxi-wlan wlan: io_regulator_name ((null))
[ 6.781877] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[ 6.789892] ------------SUNXI_RF: Set regon for SUN3IW1P1_R6!----------------
[ 6.797915] sunxi-wlan wlan: wlan_regon gpio=-1048148608 mul-sel=-1048257132 pull=-1048257176 drv_level=-1072832404 data=-1072834700
[ 6.811606] sunxi-wlan wlan: can't request wlan_regon gpio 2041
[ 6.826575] ==icn85xx_init 3281 20150319!!!!!!!!
[ 6.832139] get ctp_name is fail, -22
[ 6.836356] get ctp_power is fail, -22
[ 6.840562] get ctp_power_ldo_vol is fail, -22
[ 6.845501] ctp_fetch_sysconfig_para: ctp_power_io is invalid.
[ 6.852051] get ctp_wakeup is fail, -22
[ 6.856388] ctp_fetch_sysconfig_para: irq_gpio is invalid.
[ 6.862480] wakeup gpio_request is failed
[ 6.866964] icn85xx_ts_init:init_platform_resource err.
[ 6.886106] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 6.896125] 20141014 ====icn85xx_ts_probe begin=====.
[ 6.902050] can't find function irq on pin 0
[ 6.907968] goodix_probe: request irq failed
[ 6.912838] platform wlan: Driver sunxi-wlan requests probe deferral
[ 6.986794] twi_stop()424 - [i2c0] i2c state(0x000000f9) isn't idle(0xf8)
[ 6.994351] sunxi_i2c_core_process()787 - [i2c0] STOP failed!
[ 7.000859] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x30, dev addr: 0x48)
[ 7.010145] iic test error! retry = 1
[ 7.028509] twi_start()387 - [i2c0] START can't sendout!
[ 7.035020] twi_stop()424 - [i2c0] i2c state(0x000000f9) isn't idle(0xf8)
[ 7.042561] sunxi_i2c_core_process()787 - [i2c0] STOP failed!
[ 7.050347] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x30, dev addr: 0x48)
[ 7.059743] iic test error! retry = 2
[ 7.078510] twi_start()387 - [i2c0] START can't sendout!
[ 7.085024] twi_stop()424 - [i2c0] i2c state(0x000000f9) isn't idle(0xf8)
[ 7.092559] sunxi_i2c_core_process()787 - [i2c0] STOP failed!
[ 7.100334] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x30, dev addr: 0x48)
[ 7.109738] iic test error! retry = 3
[ 7.208484] twi_start()387 - [i2c0] START can't sendout!
[ 7.214779] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.225472] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.235877] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.245224] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.326598] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.336062] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.346955] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.356151] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.436619] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.446121] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.456935] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.466178] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.474177] icn85xx_goto_progmode over, ret: -70
[ 7.496735] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.507050] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.517538] sunxi_i2c_do_xfer()928 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 7.526847] icn85xx_prog_i2c_txdata i2c write error: -70
[ 7.532786] write reg failed! ret: -70
[ 7.536994] icn85xx_iic_test failed.
[ 7.541895] ctp_icn85xx: probe of 0-0048 failed with error -1
[ 7.549991] icn85xx init ok,by zyt
[ 7.624626] Unable to handle kernel NULL pointer dereference at virtual address 00000054
[ 7.633836] pgd = c1b04000
[ 7.636912] [00000054] *pgd=81bbf831, *pte=00000000, *ppte=00000000
[ 7.643899] Internal error: Oops: 17 [#1] ARM
[ 7.648729] Modules linked in: xradio_core(+) xradio_mac icn85xx_ts gt82x snd_pcm_oss snd_mixer_oss snd_seq_device
[ 7.660260] CPU: 0 PID: 108 Comm: kmodloader Tainted: G W 3.10.65 #33
[ 7.668369] task: c1b002c0 ti: c1aea000 task.ti: c1aea000
[ 7.674394] PC is at dev_driver_string+0xc/0x44
[ 7.679426] LR is at __dev_printk+0x3c/0x6c
[ 7.684073] pc : [<c019f008>] lr : [<c019f198>] psr: 20000013
[ 7.684073] sp : c1aebdb8 ip : c1aebdc8 fp : c1aebdc4
[ 7.696799] r10: 0000001a r9 : 00000000 r8 : 00000000
[ 7.702592] r7 : bf0bdab8 r6 : c0543400 r5 : c1aebdf0 r4 : 00000036
[ 7.709829] r3 : c1aebdec r2 : c1aebdf0 r1 : 00000010 r0 : 00000010
[ 7.717069] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 7.724982] Control: 0005317f Table: 81b04000 DAC: 00000015
[ 7.731351]
[ 7.731351] PC: 0xc019ef88:
[ 7.736084] ef88 e24b409c e1a05000 e1a06002 e1a00001 e3a02080 e1a01004 e1a07003 ebffffaf
[ 7.745194] efa8 e3500000 e1a03000 e88d00c0 11a02004 03a02000 e1a01005 e3a00000 ebf9f945
[ 7.754305] efc8 e24bd01c e89da8f0 e1a0c00d e92d000c e92dd800 e24cb00c e24dd008 e28b3008
[ 7.763414] efe8 e59b2004 e50b3010 ebffffe0 e24bd00c e89da800 e1a0c00d e92dd800 e24cb004
[ 7.772522] f008 e5903044 e3530000 0a000001 e5930000 e89da800 e5903040 e3530000 1afffffa
[ 7.781632] f028 e59030cc e3530000 1afffff7 e59f0000 e89da800 c03e822d e1a0c00d e92dd830
[ 7.790742] f048 e24cb004 e5913008 e1a05001 e3530000 e2400008 03e04004 0a000006 e12fff33
[ 7.799852] f068 e3500a01 e1a04000 ba000002 e5951008 e59f0008 ebfadcd0 e1a00004 e89da830
[ 7.808966]
[ 7.808966] LR: 0xc019f118:
[ 7.813700] f118 089da830 e5903000 e3530000 089da830 e593303c e5942010 e2833084 e1520003
[ 7.822807] f138 189da830 e59f0014 eb067de1 e1a00004 ebfe2380 e59f0004 eb067df6 e89da830
[ 7.831918] f158 c0533c50 e1a0c00d e92dd830 e24cb004 e24dd008 e3510000 e1a05002 1a000004
[ 7.841028] f178 e1a01000 e59f003c eb067429 e24bd014 e89da830 e5d04001 e1a00001 ebffff98
[ 7.850139] f198 e591202c e2444030 e3520000 05912008 e1a03000 e88d0024 e1a00004 e59f2008
[ 7.859248] f1b8 ebffff84 eafffff0 c03f95e2 c0416f72 e1a0c00d e92d000c e92dd800 e24cb00c
[ 7.868356] f1d8 e24dd010 e28b3008 e50b3018 e59b3004 e24b2014 e50b3014 e24b3018 e50b3010
[ 7.877469] f1f8 ebffffd7 e24bd00c e89da800 e1a0c00d e92d000e e92dd800 e24cb010 e24dd014
[ 7.886582]
[ 7.886582] SP: 0xc1aebd38:
[ 7.891316] bd38 00000000 c0477690 c1aebd64 c1aebd50 c003f2c4 c033f0dc c019f008 20000013
[ 7.900424] bd58 ffffffff c1aebda4 c1aebdc4 c1aebd70 c000f4b8 c000a1a0 00000010 00000010
[ 7.909534] bd78 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400 bf0bdab8 00000000 00000000
[ 7.918643] bd98 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198 c019f008 20000013 ffffffff
[ 7.927752] bdb8 c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0 c033f624 c0558d6c bf0bda24
[ 7.936863] bdd8 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24 c1aebe10 c03fa8da c1aebdec
[ 7.945973] bdf8 c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424 c03fa8da c1bcde50 c1bcd6d0
[ 7.955084] be18 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40
[ 7.964196]
[ 7.964196] IP: 0xc1aebd48:
[ 7.968929] bd48 c003f2c4 c033f0dc c019f008 20000013 ffffffff c1aebda4 c1aebdc4 c1aebd70
[ 7.978039] bd68 c000f4b8 c000a1a0 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0
[ 7.987147] bd88 c0543400 bf0bdab8 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8
[ 7.996257] bda8 c019f198 c019f008 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c
[ 8.005368] bdc8 c033e8e0 c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c
[ 8.014478] bde8 c1aebe24 c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4
[ 8.023586] be08 c019f424 c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30
[ 8.032698] be28 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000
[ 8.041811]
[ 8.041811] FP: 0xc1aebd44:
[ 8.046544] bd44 c1aebd50 c003f2c4 c033f0dc c019f008 20000013 ffffffff c1aebda4 c1aebdc4
[ 8.055654] bd64 c1aebd70 c000f4b8 c000a1a0 00000010 00000010 c1aebdf0 c1aebdec 00000036
[ 8.064762] bd84 c1aebdf0 c0543400 bf0bdab8 00000000 00000000 0000001a c1aebdc4 c1aebdc8
[ 8.073871] bda4 c1aebdb8 c019f198 c019f008 20000013 ffffffff c1aebde4 c1aebdc8 c019f198
[ 8.082979] bdc4 c019f00c c033e8e0 c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c
[ 8.092090] bde4 c019f16c c1aebe24 c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18
[ 8.101199] be04 c01b2ae4 c019f424 c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c
[ 8.110308] be24 c1aebe30 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000
[ 8.119419]
[ 8.119419] R2: 0xc1aebd70:
[ 8.124151] bd70 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400 bf0bdab8
[ 8.133257] bd90 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198 c019f008
[ 8.142365] bdb0 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0 c033f624
[ 8.151475] bdd0 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24 c1aebe10
[ 8.160586] bdf0 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424 c03fa8da
[ 8.169695] be10 c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c c01b2ac4
[ 8.178806] be30 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000 c1aebe94 c1aebe58
[ 8.187916] be50 c000a4d4 bf0c6010 c1aebe84 bf0bda70 c1aebf48 c1997800 bf0bdab8 bf0bda70
[ 8.197027]
[ 8.197027] R3: 0xc1aebd6c:
[ 8.201759] bd6c c000a1a0 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400
[ 8.210869] bd8c bf0bdab8 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198
[ 8.219977] bdac c019f008 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0
[ 8.229087] bdcc c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24
[ 8.238198] bdec c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424
[ 8.247307] be0c c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c
[ 8.256420] be2c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000 c1aebe94
[ 8.265528] be4c c1aebe58 c000a4d4 bf0c6010 c1aebe84 bf0bda70 c1aebf48 c1997800 bf0bdab8
[ 8.274642]
[ 8.274642] R5: 0xc1aebd70:
[ 8.279376] bd70 00000010 00000010 c1aebdf0 c1aebdec 00000036 c1aebdf0 c0543400 bf0bdab8
[ 8.288488] bd90 00000000 00000000 0000001a c1aebdc4 c1aebdc8 c1aebdb8 c019f198 c019f008
[ 8.297598] bdb0 20000013 ffffffff c1aebde4 c1aebdc8 c019f198 c019f00c c033e8e0 c033f624
[ 8.306705] bdd0 c0558d6c bf0bda24 c1aebe08 c1aebde8 c019f44c c019f16c c1aebe24 c1aebe10
[ 8.315815] bdf0 c03fa8da c1aebdec c002fd6c c1aebe2c c1aebe18 c01b2ae4 c019f424 c03fa8da
[ 8.324925] be10 c1bcde50 c1bcd6d0 c1aea000 bf0bda24 c1aebe3c c1aebe30 bf0a7b9c c01b2ac4
[ 8.334036] be30 c1aebe54 c1aebe40 bf0c602c bf0a7b9c c1aea000 bf0c6000 c1aebe94 c1aebe58
[ 8.343146] be50 c000a4d4 bf0c6010 c1aebe84 bf0bda70 c1aebf48 c1997800 bf0bdab8 bf0bda70
[ 8.352258]
[ 8.352258] R6: 0xc0543380:
[ 8.356990] 3380 c02df884 c04673d8 c02d7e1c c02d7dc0 c056cbe0 c028fe14 c028ff18 c056cbe0
[ 8.366100] 33a0 c02d4b64 c02d4b8c c056cbe0 c02c46bc c02c46d0 c056cbe0 c0299728 c0299738
[ 8.375209] 33c0 c056cbe0 c028ff5c c0290000 c056cbe0 c028c67c c028c718 c056cbe0 c028b940
[ 8.384319] 33e0 c028b958 c056cbe0 00000000 00000000 00000000 00000000 00000000 00000000
[ 8.393427] 3400 00000000 c0600138 00000000 00000000 00000000 c05fff40 c06000c0 00000000
[ 8.402533] 3420 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 8.411641] 3440 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 8.420748] 3460 00000000 00000000 01f00004 00000000 00000001 00000000 c0543478 00000000
[ 8.429867] Process kmodloader (pid: 108, stack limit = 0xc1aea1b8)
[ 8.436816] Stack: (0xc1aebdb8 to 0xc1aec000)
[ 8.451728] bda0: c1aebde4 c1aebdc8
[ 8.460999] bdc0: c019f198 c019f00c c033e8e0 c033f624 c0558d6c bf0bda24 c1aebe08 c1aebde8
[ 8.470213] bde0: c019f44c c019f16c c1aebe24 c1aebe10 c03fa8da c1aebdec c002fd6c c1aebe2c
[ 8.479364] be00: c1aebe18 c01b2ae4 c019f424 c03fa8da c1bcde50 c1bcd6d0 c1aea000 bf0bda24
[ 8.488523] be20: c1aebe3c c1aebe30 bf0a7b9c c01b2ac4 c1aebe54 c1aebe40 bf0c602c bf0a7b9c
[ 8.497665] be40: c1aea000 bf0c6000 c1aebe94 c1aebe58 c000a4d4 bf0c6010 c1aebe84 bf0bda70
[ 8.506821] be60: c1aebf48 c1997800 bf0bdab8 bf0bda70 c1aebf48 c1997800 bf0bdab8 c1997a08
[ 8.515908] be80: 00000000 0000001a c1aebf44 c1aebe98 c0054e5c c000a3c8 bf0bda7c 00007fff
[ 8.525060] bea0: c0051fc8 c1aebed8 ffffffff 000123b7 bf0bdbb0 c4916420 c00529c0 00000028
[ 8.534195] bec0: c1aea000 bf0bda7c c1aebfa4 c1aebed8 c000f520 c000a2e8 c48da520 00000000
[ 8.543347] bee0: 00000000 bf0b20ac 00000003 00000000 00000000 00000000 00000000 00000000
[ 8.552554] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 20000013 b6e70010
[ 8.561703] bf20: 000123b7 00044470 00000080 c000fa28 c1aea000 00000000 c1aebfa4 c1aebf48
[ 8.570862] bf40: c0055518 c0053a1c c48d2000 00044470 c4916060 c4915f7c c4908984 00032a88
[ 8.579998] bf60: 000362b8 00000000 00000000 00000000 00000018 00000019 00000013 00000000
[ 8.589161] bf80: 0000000c 00000000 00000001 00000000 00000000 00000004 00000000 c1aebfa8
[ 8.598302] bfa0: c000f8a0 c0055458 00000000 00000000 b6e70010 00044470 000123b7 00001f04
[ 8.607455] bfc0: 00000000 00000000 00000004 00000080 00044470 00000000 b6ed0c70 00000000
[ 8.616586] bfe0: bed6ec2c bed6ec10 00011ae8 b6f234cc 60000010 b6e70010 81fee831 81feec31
[ 8.625673] Backtrace:
[ 8.628506] [<c019effc>] (dev_driver_string+0x0/0x44) from [<c019f198>] (__dev_printk+0x3c/0x6c)
[ 8.638367] [<c019f15c>] (__dev_printk+0x0/0x6c) from [<c019f44c>] (_dev_info+0x3c/0x48)
[ 8.647390] r5:bf0bda24 r4:c0558d6c
[ 8.651407] [<c019f410>] (_dev_info+0x0/0x48) from [<c01b2ae4>] (sunxi_wlan_get_bus_index+0x30/0x4c)
[ 8.661603] r3:c1bcd6d0 r2:c1bcde50 r1:c03fa8da
[ 8.667110] [<c01b2ab4>] (sunxi_wlan_get_bus_index+0x0/0x4c) from [<bf0a7b9c>] (xradio_plat_init+0x10/0x24 [xradio_core])
[ 8.679368] r5:bf0bda24 r4:c1aea000
[ 8.683844] [<bf0a7b8c>] (xradio_plat_init+0x0/0x24 [xradio_core]) from [<bf0c602c>] (init_module+0x2c/0xcc [xradio_core])
[ 8.696542] [<bf0c6000>] (init_module+0x0/0xcc [xradio_core]) from [<c000a4d4>] (do_one_initcall+0x11c/0x148)
[ 8.707636] r5:bf0c6000 r4:c1aea000
[ 8.711659] [<c000a3b8>] (do_one_initcall+0x0/0x148) from [<c0054e5c>] (load_module+0x1450/0x1a3c)
[ 8.721693] [<c0053a0c>] (load_module+0x0/0x1a3c) from [<c0055518>] (SyS_init_module+0xd0/0xd4)
[ 8.731421] [<c0055448>] (SyS_init_module+0x0/0xd4) from [<c000f8a0>] (ret_fast_syscall+0x0/0x2c)
[ 8.741321] r6:00000004 r5:00000000 r4:00000000
[ 8.746558] Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5903044)
[ 8.753329] ---[ end trace 7bafd6f951250a20 ]---
Segmentation fault
-- run rc.final --
insmod F1C200s-board
-- wifi connect --
insmod wifi kernel module --------------------
[ 8.968847] android_usb: already disabled
[ 9.152143] adb_open
[ 9.155008] adb_bind_config
[ 9.411108] android_work: sent uevent USB_STATE=CONNECTED
[ 9.536919] android_usb gadget: high-speed config #1: android
[ 9.566817] android_work: sent uevent USB_STATE=CONFIGURED
[ 38.886168] xradio_wlan: gave up waiting for init of module xradio_core.
[ 38.893695] xradio_wlan: Unknown symbol xradio_etf_to_wlan (err -16)
[ 68.895887] xradio_wlan: gave up waiting for init of module xradio_core.
[ 68.903397] xradio_wlan: Unknown symbol xradio_core_init (err -16)
[ 98.905664] xradio_wlan: gave up waiting for init of module xradio_core.
[ 98.913132] xradio_wlan: Unknown symbol xradio_core_deinit (err -16)
[ 128.915430] xradio_wlan: gave up waiting for init of module xradio_core.
[ 128.922898] xradio_wlan: Unknown symbol xradio_etf_to_wlan (err -16)
[ 158.925189] xradio_wlan: gave up waiting for init of module xradio_core.
[ 158.932692] xradio_wlan: Unknown symbol xradio_core_init (err -16)
[ 188.934944] xradio_wlan: gave up waiting for init of module xradio_core.
[ 188.942409] xradio_wlan: Unknown symbol xradio_core_deinit (err -16)
insmod: can't insert '/lib/modules/3.10.65/xradio_wlan.ko': Resource busy
start wpa_supplicant ------------------------
Successfully initialized wpa_supplicant
Line 6: Invalid passphrase length 6 (expected: 8..63) '******"'.
Line 6: failed to parse psk '"******"'.
Line 7: failed to parse network block.
Failed to read or parse configuration '/etc/wpa_supplicant.conf'.
start udhcpc ----------------
-- end --
BusyBox v1.27.2 () built-in shell (ash)
udhcpc: SIOCGIFINDEX: No such device
_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _
| | _ | || | | |__ | || || | ||_'_|
| | | || | || _ | |_____||_||_|_||___||_,_|
|_| |_||_|_||_|_| Tina is Based on OpenWrt!
----------------------------------------------
Tina Linux (Neptune, 5C1C9C53)
----------------------------------------------
root@TinaLinux:/#
mtd分区已经改好:
[ 0.819786] 0x000000000000-0x000000080000 : "uboot"
[ 0.827456] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.835094] 0x000000100000-0x000000120000 : "env"
[ 0.842238] 0x000000120000-0x0000003a0000 : "boot"
[ 0.849440] 0x0000003a0000-0x0000007a0000 : "rootfs"
[ 0.856900] 0x0000007a0000-0x000000820000 : "rootfs_data"
[ 0.864792] 0x000000820000-0x000000830000 : "misc"
[ 0.872188] 0x000000830000-0x000000840000 : "private"
[ 0.879780] 0x000000840000-0x000001000000 : "UDISK"
这是之前的:
[ 0.819592] 0x000000000000-0x000000080000 : "uboot"
[ 0.827240] 0x000000080000-0x000000100000 : "bootlogo"
[ 0.834874] 0x000000100000-0x000000120000 : "env"
[ 0.842023] 0x000000120000-0x0000003a0000 : "boot"
[ 0.849237] 0x0000003a0000-0x0000006e0000 : "rootfs"
[ 0.856700] 0x0000006e0000-0x000000760000 : "rootfs_data"
[ 0.864598] 0x000000760000-0x000000770000 : "misc"
[ 0.872003] 0x000000770000-0x000000780000 : "private"
[ 0.879597] 0x000000780000-0x000001000000 : "UDISK"
执行 pack 之后
./out/violin-F1C200s/image/.sunxi.dts
变了:
uart_para@0 {
linux,phandle = <0x51>;
phandle = <0x51>;
allwinner,pins = "PE0", "PE0";
allwinner,function = "uart_para";
allwinner,pname = "uart_debug_tx", "uart_debug_rx";
allwinner,muxsel = <0x5>;
allwinner,pull = <0x1>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
为了验证楼上的想法, 我把
./target/allwinner/violin-F1C200s/configs/sys_config.fex
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PA2<5><1><default><default>
uart_debug_rx = port:PA3<5><1><default><default>
改成:
[uart_para]
uart_debug_port = 0
uart_debug_tx = port:PE0<5><1><default><default>
uart_debug_rx = port:PE0<5><1><default><default>
然后执行make 命令
看 ./out/violin-F1C200s/image/.sunxi.dts 会不会跟着变化
./out/violin-F1C200s/image/.sunxi.dts
/dts-v1/;
/memreserve/ 0x0000000081000000 0x0000000000010000;
/ {
model = "sun3iw1p1";
compatible = "arm,sun3iw1p1", "arm,sun3iw1p1";
interrupt-parent = <0x1>;
#address-cells = <0x2>;
#size-cells = <0x2>;
clocks {
compatible = "allwinner,sunxi-clk-init";
device_type = "clocks";
#address-cells = <0x2>;
#size-cells = <0x2>;
ranges;
reg = <0x0 0x1c20000 0x0 0x2d0>;
losc {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-clock";
clock-frequency = <0x8000>;
clock-output-names = "losc";
};
hosc {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-clock";
clock-frequency = <0x16e3600>;
clock-output-names = "hosc";
linux,phandle = <0x8>;
phandle = <0x8>;
};
pll_cpu {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-pll-clock";
lock-mode = "none";
assigned-clock-rates = <0x20e6da00>;
clock-output-names = "pll_cpu";
};
pll_audio {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-pll-clock";
lock-mode = "none";
clock-output-names = "pll_audio";
linux,phandle = <0x2>;
phandle = <0x2>;
};
pll_video {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-pll-clock";
lock-mode = "none";
assigned-clock-rates = <0x11b3dc40>;
clock-output-names = "pll_video";
linux,phandle = <0x3>;
phandle = <0x3>;
};
pll_ve {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-pll-clock";
lock-mode = "none";
clock-output-names = "pll_ve";
linux,phandle = <0xa>;
phandle = <0xa>;
};
pll_ddr {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-pll-clock";
lock-mode = "none";
assigned-clock-rates = <0x1298be00>;
clock-output-names = "pll_ddr";
};
pll_periph {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-pll-clock";
lock-mode = "none";
clock-output-names = "pll_periph";
linux,phandle = <0x4>;
phandle = <0x4>;
};
pll_audiox8 {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-factor-clock";
clocks = <0x2>;
clock-mult = <0x8>;
clock-div = <0x1>;
clock-output-names = "pll_audiox8";
};
pll_audiox4 {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-factor-clock";
clocks = <0x2>;
clock-mult = <0x8>;
clock-div = <0x2>;
clock-output-names = "pll_audiox4";
};
pll_audiox2 {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-factor-clock";
clocks = <0x2>;
clock-mult = <0x8>;
clock-div = <0x4>;
clock-output-names = "pll_audiox2";
};
pll_videox2 {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-factor-clock";
clocks = <0x3>;
clock-mult = <0x2>;
clock-div = <0x1>;
clock-output-names = "pll_videox2";
};
pll_periphx2 {
#clock-cells = <0x0>;
compatible = "allwinner,fixed-factor-clock";
clocks = <0x4>;
clock-mult = <0x2>;
clock-div = <0x1>;
clock-output-names = "pll_periphx2";
};
cpu {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "cpu";
};
pll_periphahb {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "pll_periphahb";
};
ahb1 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "ahb1";
linux,phandle = <0x1e>;
phandle = <0x1e>;
};
apb1 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "apb1";
};
sdmmc0_mod {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdmmc0_mod";
linux,phandle = <0x2a>;
phandle = <0x2a>;
};
sdmmc0_bus {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdmmc0_bus";
linux,phandle = <0x2b>;
phandle = <0x2b>;
};
sdmmc0_rst {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdmmc0_rst";
linux,phandle = <0x2c>;
phandle = <0x2c>;
};
sdmmc1_mod {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdmmc1_mod";
linux,phandle = <0x2f>;
phandle = <0x2f>;
};
sdmmc1_bus {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdmmc1_bus";
linux,phandle = <0x30>;
phandle = <0x30>;
};
sdmmc1_rst {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdmmc1_rst";
linux,phandle = <0x31>;
phandle = <0x31>;
};
spi0 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "spi0";
linux,phandle = <0x1f>;
phandle = <0x1f>;
};
spi1 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "spi1";
linux,phandle = <0x26>;
phandle = <0x26>;
};
usbphy0 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "usbphy0";
linux,phandle = <0x3f>;
phandle = <0x3f>;
};
usbotg {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "usbotg";
linux,phandle = <0x40>;
phandle = <0x40>;
};
audio {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "audio";
linux,phandle = <0x41>;
phandle = <0x41>;
};
avs {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "avs";
};
codec {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "codec";
linux,phandle = <0x47>;
phandle = <0x47>;
};
spdif {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "spdif";
linux,phandle = <0x44>;
phandle = <0x44>;
};
debe {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "debe";
linux,phandle = <0x34>;
phandle = <0x34>;
};
defe {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "defe";
linux,phandle = <0x35>;
phandle = <0x35>;
};
tcon {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "tcon";
linux,phandle = <0x36>;
phandle = <0x36>;
};
deinterlace {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "deinterlace";
linux,phandle = <0x38>;
phandle = <0x38>;
};
tve_clk2 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "tve_clk2";
linux,phandle = <0x37>;
phandle = <0x37>;
};
tve_clk1 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "tve_clk1";
};
tvd {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "tvd";
linux,phandle = <0x39>;
phandle = <0x39>;
};
csi_m {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "csi_m";
linux,phandle = <0x3c>;
phandle = <0x3c>;
};
ve {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "ve";
linux,phandle = <0xb>;
phandle = <0xb>;
};
sdram {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "sdram";
};
dma {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "dma";
linux,phandle = <0x6>;
phandle = <0x6>;
};
pio {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "pio";
linux,phandle = <0x5>;
phandle = <0x5>;
};
uart0 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "uart0";
linux,phandle = <0xc>;
phandle = <0xc>;
};
uart1 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "uart1";
linux,phandle = <0xf>;
phandle = <0xf>;
};
uart2 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "uart2";
linux,phandle = <0x12>;
phandle = <0x12>;
};
twi0 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "twi0";
linux,phandle = <0x15>;
phandle = <0x15>;
};
twi1 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "twi1";
linux,phandle = <0x18>;
phandle = <0x18>;
};
twi2 {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "twi2";
linux,phandle = <0x1b>;
phandle = <0x1b>;
};
rsb {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "rsb";
};
cir {
#clock-cells = <0x0>;
compatible = "allwinner,sunxi-periph-clock";
clock-output-names = "cir";
linux,phandle = <0x9>;
phandle = <0x9>;
};
};
soc {
compatible = "simple-bus";
#address-cells = <0x2>;
#size-cells = <0x2>;
device_type = "soc";
ranges;
pinctrl@01c20800 {
compatible = "allwinner,sun3iw1p1-pinctrl";
reg = <0x0 0x1c20800 0x0 0x400>;
interrupts = <0x26 0x27 0x28>;
device_type = "pio";
clocks = <0x5>;
gpio-controller;
interrupt-controller;
#interrupt-cells = <0x2>;
#size-cells = <0x0>;
#gpio-cells = <0x6>;
linux,phandle = <0x24>;
phandle = <0x24>;
ir@0 {
allwinner,function = "ir";
allwinner,muxsel = <0x4>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0x7>;
phandle = <0x7>;
};
uart0@1 {
allwinner,pins = "PF2", "PF4";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0xe>;
phandle = <0xe>;
};
uart1@1 {
allwinner,pins = "PA3", "PA2";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0x11>;
phandle = <0x11>;
};
uart2@0 {
allwinner,pname = "uart2_tx", "uart2_rx";
allwinner,function = "uart2";
allwinner,muxsel = <0x3>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0x13>;
phandle = <0x13>;
};
uart2@1 {
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0x14>;
phandle = <0x14>;
};
twi0@1 {
allwinner,pins = "PD12", "PD0";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x17>;
phandle = <0x17>;
};
twi1@1 {
allwinner,pins = "PB0", "PB1";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x1a>;
phandle = <0x1a>;
};
twi2@1 {
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x1d>;
phandle = <0x1d>;
};
spi0@2 {
allwinner,pins = "PC0", "PC1", "PC2";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x22>;
phandle = <0x22>;
};
spi0@3 {
allwinner,pins = "PC3";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x23>;
phandle = <0x23>;
};
spi1@2 {
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x29>;
phandle = <0x29>;
};
csi0@0 {
allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
allwinner,pname = "csi0_hsync", "csi0_vsync", "csi0_pck", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7";
allwinner,function = "csi0";
allwinner,muxsel = <0x2>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
allwinner,data = <0x0>;
linux,phandle = <0x3d>;
phandle = <0x3d>;
};
csi0_sleep@0 {
allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
allwinner,pname = "csi0_hsync", "csi0_vsync", "csi0_pck", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
allwinner,data = <0x0>;
linux,phandle = <0x3e>;
phandle = <0x3e>;
};
pwm1@0 {
allwinner,function = "pwm1";
allwinner,muxsel = <0x3>;
allwinner,drive = <0x3>;
allwinner,pull = <0x1>;
linux,phandle = <0x3b>;
phandle = <0x3b>;
};
sdc0@1 {
allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0x2e>;
phandle = <0x2e>;
};
sdc1@1 {
allwinner,pins = "PC0", "PC1", "PC2";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x1>;
linux,phandle = <0x33>;
phandle = <0x33>;
};
daudio0@0 {
allwinner,function = "iis0";
allwinner,muxsel = <0x4>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x42>;
phandle = <0x42>;
};
daudio0_sleep@0 {
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x43>;
phandle = <0x43>;
};
daudio0@1 {
allwinner,function = "iis0";
allwinner,muxsel = <0x2>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
};
spdif@0 {
allwinner,pins = "PD17";
allwinner,function = "spdif0";
allwinner,muxsel = <0x3>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x45>;
phandle = <0x45>;
};
spdif_sleep@0 {
allwinner,pins = "PD17";
allwinner,function = "io_disabled";
allwinner,muxsel = <0x7>;
allwinner,drive = <0x1>;
allwinner,pull = <0x0>;
linux,phandle = <0x46>;
phandle = <0x46>;
};
card0_boot_para@0 {
linux,phandle = <0x4d>;
phandle = <0x4d>;
allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
allwinner,function = "card0_boot_para";
allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x1>;
allwinner,drive = <0x2>;
allwinner,data = <0xffffffff>;
};
card2_boot_para@0 {
linux,phandle = <0x4e>;
phandle = <0x4e>;
allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC1";
allwinner,function = "card2_boot_para";
allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst", "sdc_ds";
allwinner,muxsel = <0x3>;
allwinner,pull = <0x1>;
allwinner,drive = <0x3>;
allwinner,data = <0xffffffff>;
};
card1_boot_para@0 {
linux,phandle = <0x4f>;
phandle = <0x4f>;
allwinner,pins = "PC0", "PC1", "PC2";
allwinner,function = "card1_boot_para";
allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0";
allwinner,muxsel = <0x3>;
allwinner,pull = <0x1>;
allwinner,drive = <0x3>;
allwinner,data = <0xffffffff>;
};
twi_para@0 {
linux,phandle = <0x50>;
phandle = <0x50>;
allwinner,pins = "PD12", "PD0";
allwinner,function = "twi_para";
allwinner,pname = "twi_scl", "twi_sda";
allwinner,muxsel = <0x3>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
uart_para@0 {
linux,phandle = <0x51>;
phandle = <0x51>;
allwinner,pins = "PA2", "PA3";
allwinner,function = "uart_para";
allwinner,pname = "uart_debug_tx", "uart_debug_rx";
allwinner,muxsel = <0x5>;
allwinner,pull = <0x1>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
jtag_para@0 {
linux,phandle = <0x52>;
phandle = <0x52>;
allwinner,pins = "PH9", "PH10", "PH11", "PH12";
allwinner,function = "jtag_para";
allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di";
allwinner,muxsel = <0x3>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
twi0@0 {
linux,phandle = <0x53>;
phandle = <0x53>;
allwinner,pins = "PD12", "PD0";
allwinner,function = "twi0";
allwinner,pname = "twi0_scl", "twi0_sda";
allwinner,muxsel = <0x3>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
twi1@0 {
linux,phandle = <0x54>;
phandle = <0x54>;
allwinner,pins = "PB0", "PB1";
allwinner,function = "twi1";
allwinner,pname = "twi1_scl", "twi1_sda";
allwinner,muxsel = <0x2>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
twi2@0 {
linux,phandle = <0x55>;
phandle = <0x55>;
allwinner,pins = "PD15", "PD16";
allwinner,function = "twi2";
allwinner,pname = "twi2_scl", "twi2_sda";
allwinner,muxsel = <0x4>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
uart0@0 {
linux,phandle = <0x56>;
phandle = <0x56>;
allwinner,pins = "PF2", "PF4";
allwinner,function = "uart0";
allwinner,pname = "uart0_tx", "uart0_rx";
allwinner,muxsel = <0x3>;
allwinner,pull = <0x1>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
uart1@0 {
linux,phandle = <0x57>;
phandle = <0x57>;
allwinner,pins = "PA2", "PA3";
allwinner,function = "uart1";
allwinner,pname = "uart1_tx", "uart1_rx";
allwinner,muxsel = <0x5>;
allwinner,pull = <0x1>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
spi0@0 {
linux,phandle = <0x58>;
phandle = <0x58>;
allwinner,pins = "PC1";
allwinner,function = "spi0";
allwinner,pname = "spi0_cs0";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x1>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
spi0@1 {
linux,phandle = <0x59>;
phandle = <0x59>;
allwinner,pins = "PC0", "PC3", "PC2";
allwinner,function = "spi0";
allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso";
allwinner,muxsel = <0x2>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
spi1@0 {
linux,phandle = <0x5a>;
phandle = <0x5a>;
allwinner,pins = "PE7";
allwinner,function = "spi1";
allwinner,pname = "spi1_cs0";
allwinner,muxsel = <0x4>;
allwinner,pull = <0x1>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
spi1@1 {
linux,phandle = <0x5b>;
phandle = <0x5b>;
allwinner,pins = "PE9", "PE8", "PE10";
allwinner,function = "spi1";
allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso";
allwinner,muxsel = <0x4>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
nand0@0 {
linux,phandle = <0x5c>;
phandle = <0x5c>;
allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14";
allwinner,function = "nand0";
allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x0>;
allwinner,drive = <0x1>;
allwinner,data = <0xffffffff>;
};
nand0@1 {
linux,phandle = <0x5d>;
phandle = <0x5d>;
allwinner,pins = "PC3", "PC5";
allwinner,function = "nand0";
allwinner,pname = "nand0_ce0", "nand0_rb0";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x1>;
allwinner,drive = <0x1>;
allwinner,data = <0xffffffff>;
};
lcd0@0 {
linux,phandle = <0x5e>;
phandle = <0x5e>;
allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD13", "PD14", "PD15", "PD16", "PD17";
allwinner,function = "lcd0";
allwinner,pname = "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd19", "lcdd20", "lcdd21", "lcdd22", "lcdd23";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x0>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
lcd0@1 {
linux,phandle = <0x5f>;
phandle = <0x5f>;
allwinner,pins = "PD18", "PD19", "PD21";
allwinner,function = "lcd0";
allwinner,pname = "lcdclk", "lcdde", "lcdvsync";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x0>;
allwinner,drive = <0x3>;
allwinner,data = <0xffffffff>;
};
pwm0_para@0 {
linux,phandle = <0x60>;
phandle = <0x60>;
allwinner,pins = "PE12";
allwinner,function = "pwm0_para";
allwinner,pname = "pwm_positive";
allwinner,muxsel = <0x4>;
allwinner,pull = <0x0>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
pwm1_para@0 {
linux,phandle = <0x61>;
phandle = <0x61>;
allwinner,pins = "PE6";
allwinner,function = "pwm1_para";
allwinner,pname = "pwm_positive";
allwinner,muxsel = <0x3>;
allwinner,pull = <0x0>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
vip0@0 {
linux,phandle = <0x62>;
phandle = <0x62>;
allwinner,pins = "PE2", "PE0", "PE1", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10";
allwinner,function = "vip0";
allwinner,pname = "vip0_csi_pck", "vip0_csi_hsync", "vip0_csi_vsync", "vip0_csi_d0", "vip0_csi_d1", "vip0_csi_d2", "vip0_csi_d3", "vip0_csi_d4", "vip0_csi_d5", "vip0_csi_d6", "vip0_csi_d7";
allwinner,muxsel = <0x2>;
allwinner,pull = <0xffffffff>;
allwinner,drive = <0xffffffff>;
allwinner,data = <0xffffffff>;
};
vip0@1 {
linux,phandle = <0x63>;
phandle = <0x63>;
allwinner,pins = "PE11";
allwinner,function = "vip0";
allwinner,pname = "vip0_csi_mck";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x1>;
allwinner,drive = <0x3>;
allwinner,data = <0x0>;
};
sdc0@0 {
linux,phandle = <0x64>;
phandle = <0x64>;
allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
allwinner,function = "sdc0";
allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2";
allwinner,muxsel = <0x2>;
allwinner,pull = <0x1>;
allwinner,drive = <0x3>;
allwinner,data = <0xffffffff>;
};
sdc1@0 {
linux,phandle = <0x65>;
phandle = <0x65>;
allwinner,pins = "PC0", "PC1", "PC2";
allwinner,function = "sdc1";
allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0";
allwinner,muxsel = <0x3>;
allwinner,pull = <0x1>;
allwinner,drive = <0x2>;
allwinner,data = <0xffffffff>;
};
Vdevice@0 {
linux,phandle = <0x66>;
phandle = <0x66>;
allwinner,pins = "PC0", "PC1";
allwinner,function = "Vdevice";
allwinner,pname = "Vdevice_0", "Vdevice_1";
allwinner,muxsel = <0x4>;
allwinner,pull = <0x1>;
allwinner,drive = <0x2>;
allwinner,data = <0xffffffff>;
};
};
dma-controller@01c02000 {
compatible = "allwinner,sun3i-dma";
reg = <0x0 0x1c02000 0x0 0x1000>;
interrupts = <0x12>;
clocks = <0x6>;
#dma-cells = <0x2>;
linux,phandle = <0x25>;
phandle = <0x25>;
};
timer@1c20c00 {
compatible = "allwinner,sunxi-timer";
device_type = "timer";
reg = <0x0 0x1c20c00 0x0 0x90>;
interrupts = <0xd>;
clock-frequency = <0x16e3600>;
timer-prescale = <0x10>;
};
ir@01c22c00 {
compatible = "allwinner,ir";
reg = <0x0 0x1c22c00 0x0 0x400>;
interrupts = <0x6>;
pinctrl-names = "default";
pinctrl-0 = <0x7>;
clocks = <0x8 0x9>;
status = "okay";
};
ve@01c0e000 {
compatible = "allwinner,sunxi-cedar-ve";
reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x1c00000 0x0 0x3000 0x0 0x1c20000 0x0 0x800>;
interrupts = <0x22>;
clocks = <0xa 0xb>;
};
uart@01c25000 {
compatible = "allwinner,sun3i-uart";
device_type = "uart0";
reg = <0x0 0x1c25000 0x0 0x400>;
interrupts = <0x1>;
clocks = <0xc>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0xe>;
uart0_port = <0x0>;
uart0_type = <0x2>;
status = "disabled";
pinctrl-0 = <0x56>;
};
uart@01c25400 {
compatible = "allwinner,sun3i-uart";
device_type = "uart1";
reg = <0x0 0x1c25400 0x0 0x400>;
interrupts = <0x2>;
clocks = <0xf>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x11>;
uart1_port = <0x1>;
uart1_type = <0x2>;
status = "okay";
pinctrl-0 = <0x57>;
};
uart@01c25800 {
compatible = "allwinner,sun3i-uart";
device_type = "uart2";
reg = <0x0 0x1c25800 0x0 0x400>;
interrupts = <0x3>;
clocks = <0x12>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <0x13>;
pinctrl-1 = <0x14>;
uart2_port = <0x2>;
uart2_type = <0x4>;
status = "disabled";
};
twi@0x01c27000 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "allwinner,sun3i-twi";
device_type = "twi0";
reg = <0x0 0x1c27000 0x0 0x400>;
interrupts = <0x7>;
clocks = <0x15>;
clock-frequency = <0x186a0>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x17>;
status = "okay";
pinctrl-0 = <0x53>;
io_expand@0x38 {
compatible = "nxp,pcf8574a";
i2c-max-frequency = <0x186a0>;
reg = <0x20>;
device_type = "io_expand";
gpio_base = <0x7f8>;
};
touchscreen0@0x4A {
compatible = "atmel,mxt336t";
reg = <0x4a>;
atmel,suspend_mode = <0x0>;
};
touchscreen1@0x48 {
compatible = "ctp_icn85xx";
reg = <0x48>;
device_type = "touchscreen1";
};
rtc@0x51 {
compatible = "nxp,pcf8563";
i2c-max-frequency = <0x186a0>;
reg = <0x51>;
};
sensor_gc0308@0x42 {
compatible = "allwinner,sensor_gc0308";
i2c-max-frequency = <0x186a0>;
reg = <0x42>;
status = "okay";
};
};
twi@0x01c27400 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "allwinner,sun3i-twi";
device_type = "twi1";
reg = <0x0 0x1c27400 0x0 0x400>;
interrupts = <0x8>;
clocks = <0x18>;
clock-frequency = <0x30d40>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x1a>;
status = "disabled";
pinctrl-0 = <0x54>;
};
twi@0x01c27800 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "allwinner,sun3i-twi";
device_type = "twi2";
reg = <0x0 0x1c27800 0x0 0x400>;
interrupts = <0x9>;
clocks = <0x1b>;
clock-frequency = <0x186a0>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x1d>;
status = "disabled";
pinctrl-0 = <0x55>;
};
spi@01c05000 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "allwinner,sun8i-spi";
device_type = "spi0";
reg = <0x0 0x1c05000 0x0 0x1000>;
interrupts = <0xa>;
clocks = <0x1e 0x1f>;
clock-frequency = <0x5f5e100>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x22 0x23>;
spi0_cs_number = <0x1>;
spi0_cs_bitmap = <0x1>;
sd-spi-sel = <0x24 0x0 0x1 0x1 0x1 0x0 0x0>;
sd-spi-act = <0x1>;
dmas = <0x25 0x0 0x4 0x25 0x0 0x4>;
dma-names = "rx", "tx";
status = "disabled";
pinctrl-0 = <0x58 0x59>;
nor_flash@0 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "st,m25p64";
spi-max-frequency = <0x2faf080>;
reg = <0x0>;
};
};
spinand@01c05000 {
compatible = "allwinner,sunxi-spinand";
device_type = "spinand";
reg = <0x0 0x1c05000 0x0 0x1000>;
interrupts = <0xa>;
clocks = <0x1e 0x1f>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <0x58 0x59>;
pinctrl-1 = <0x22 0x23>;
nand0_regulator1 = "vcc-nand";
nand0_regulator2 = "none";
nand0_cache_level = <0x55aaaa55>;
nand0_flush_cache_num = <0x55aaaa55>;
nand0_capacity_level = <0x55aaaa55>;
nand0_id_number_ctl = <0x55aaaa55>;
nand0_print_level = <0x55aaaa55>;
nand0_p0 = <0x55aaaa55>;
nand0_p1 = <0x55aaaa55>;
nand0_p2 = <0x55aaaa55>;
nand0_p3 = <0x55aaaa55>;
status = "okay";
};
spi@01c06000 {
#address-cells = <0x1>;
#size-cells = <0x0>;
compatible = "allwinner,sun8i-spi";
device_type = "spi1";
reg = <0x0 0x1c06000 0x0 0x1000>;
interrupts = <0xb>;
clocks = <0x1e 0x26>;
clock-frequency = <0x5f5e100>;
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x29>;
spi1_cs_number = <0x1>;
spi1_cs_bitmap = <0x1>;
status = "okay";
pinctrl-0 = <0x5a 0x5b>;
mmc-slot@0 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "mmc-spi-slot";
spi-max-frequency = <0x17d7840>;
device_type = "mmc-spi";
reg = <0x0>;
voltage-ranges = <0xce4 0xce4>;
};
};
sdmmc@01c0f000 {
compatible = "allwinner,sun3iw1p1-sdmmc0";
device_type = "sdc0";
reg = <0x0 0x1c0f000 0x0 0x1000>;
interrupts = <0x17>;
clocks = <0x8 0x4 0x2a 0x2b 0x2c>;
clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst";
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x2e>;
max-frequency = <0x2faf080>;
bus-width = <0x4>;
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
status = "okay";
sdc0_buswidth = <0x4>;
pinctrl-0 = <0x64>;
sdc0_det = <0x24 0x0 0x1 0x0 0x1 0x3 0xffffffff>;
sdc0_use_wp = <0x0>;
sdc0_wp;
sdc0_isio = <0x0>;
sdc0_regulator = "none";
};
sdmmc@01c10000 {
compatible = "allwinner,sun3iw1p1-sdmmc1";
device_type = "sdc1";
reg = <0x0 0x1c10000 0x0 0x1000>;
interrupts = <0x18>;
clocks = <0x8 0x4 0x2f 0x30 0x31>;
clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst";
pinctrl-names = "default", "sleep";
pinctrl-1 = <0x33>;
max-frequency = <0x2faf080>;
bus-width = <0x1>;
no-sdio;
no-sd;
non-removable;
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
sunxi-dly-52M-ddr4 = <0x1 0x0 0x0 0x0 0x2>;
sunxi-dly-104M = <0x1 0x0 0x0 0x0 0x1>;
sunxi-dly-208M = <0x1 0x0 0x0 0x0 0x1>;
status = "okay";
sdc1_detmode = <0x4>;
sdc1_buswidth = <0x1>;
pinctrl-0 = <0x65>;
sdc1_det;
sdc1_use_wp = <0x0>;
sdc1_wp;
sdc1_isio = <0x1>;
sdc1_regulator = "none";
};
disp@0x01e00000 {
compatible = "allwinner,sunxi-disp";
reg = <0x0 0x1e00000 0x0 0x20000 0x0 0x1c0c000 0x0 0x1000 0x0 0x1e70000 0x0 0x10000>;
interrupts = <0x1d 0x1f 0x1e 0x21>;
clocks = <0x34 0x35 0x36 0x37 0x38>;
status = "okay";
device_type = "disp";
disp_init_enable = <0x1>;
disp_mode = <0x0>;
screen0_output_type = <0x1>;
screen0_output_mode = <0x4>;
screen1_output_type = <0x1>;
screen1_output_mode = <0x4>;
fb0_framebuffer_num = <0x2>;
fb0_pixel_sequence = <0x0>;
fb0_scaler_mode_enable = <0x0>;
fb0_format = <0x0>;
fb0_width = <0x0>;
fb0_height = <0x0>;
fb1_framebuffer_num = <0x0>;
fb1_pixel_sequence = <0x0>;
fb1_scaler_mode_enable = <0x0>;
fb1_format = <0x0>;
fb1_width = <0x0>;
fb1_height = <0x0>;
lcd0_backlight = <0x32>;
lcd1_backlight = <0x32>;
lcd0_bright = <0x32>;
lcd0_contrast = <0x32>;
lcd0_saturation = <0x39>;
lcd0_hue = <0x32>;
lcd1_bright = <0x32>;
lcd1_contrast = <0x32>;
lcd1_saturation = <0x39>;
lcd1_hue = <0x32>;
};
tvd0@01c0b000 {
compatible = "allwinner,sunxi-tvd";
reg = <0x0 0x1c0b000 0x0 0x1000>;
interrupts = <0x1b>;
clocks = <0x39>;
tvd_used = <0x1>;
tvd_if = <0x0>;
status = "okay";
};
lcd0@01c0c000 {
compatible = "allwinner,sunxi-lcd0";
pinctrl-names = "active", "sleep";
status = "okay";
device_type = "lcd0";
lcd_used = <0x1>;
lcd_driver_name = "ili6122_800x480";
lcd_if = <0x0>;
lcd_x = <0x320>;
lcd_y = <0x1e0>;
lcd_width = <0x6d>;
lcd_height = <0x3f>;
lcd_dclk_freq = <0x21>;
lcd_pwm_used = <0x1>;
lcd_pwm_ch = <0x0>;
lcd_pwm_freq = <0xc350>;
lcd_pwm_pol = <0x1>;
lcd_hbp = <0x37>;
lcd_ht = <0x420>;
lcd_hspw = <0x14>;
lcd_vbp = <0x23>;
lcd_vt = <0x20d>;
lcd_vspw = <0xa>;
lcd_hv_if = <0x0>;
lcd_hv_smode = <0x0>;
lcd_hv_s888_if = <0x0>;
lcd_hv_syuv_if = <0x0>;
lcd_hv_vspw = <0xa>;
lcd_hv_hspw = <0x14>;
lcd_hv_sync_polarity = <0x3>;
lcd_lvds_if = <0x0>;
lcd_lvds_colordepth = <0x1>;
lcd_lvds_mode = <0x0>;
lcd_lvds_ch = <0x0>;
lcd_lvds_bitwidth = <0x0>;
lcd_lvds_io_cross = <0x0>;
lcd_cpu_if = <0x0>;
lcd_frm = <0x1>;
lcd_rb_swap = <0x1>;
lcd_io_phase = <0x0>;
lcd_gamma_en = <0x0>;
lcd_bright_curve_en = <0x0>;
lcd_cmap_en = <0x0>;
deu_mode = <0x0>;
lcdgamma4iep = <0x16>;
lcd_io_cfg0 = <0x0>;
smart_color = <0x5a>;
lcd_gpio_0 = <0x7fb>;
pinctrl-0 = <0x5e 0x5f>;
};
pwm@01c21000 {
compatible = "allwinner,sunxi-pwm";
reg = <0x0 0x1c21000 0x0 0x8>;
pwm-number = <0x1>;
pwm-base = <0x0>;
pwms = <0x3a>;
};
pwm0@01c21000 {
compatible = "allwinner,sunxi-pwm0";
pinctrl-names = "active", "sleep";
reg_base = <0x1c21000>;
reg_busy_offset = <0x0>;
reg_busy_shift = <0x1c>;
reg_enable_offset = <0x0>;
reg_enable_shift = <0x4>;
reg_clk_gating_offset = <0x0>;
reg_clk_gating_shift = <0x6>;
reg_bypass_offset = <0x0>;
reg_bypass_shift = <0x9>;
reg_pulse_start_offset = <0x0>;
reg_pulse_start_shift = <0x8>;
reg_mode_offset = <0x0>;
reg_mode_shift = <0x7>;
reg_polarity_offset = <0x0>;
reg_polarity_shift = <0x5>;
reg_period_offset = <0x4>;
reg_period_shift = <0x10>;
reg_period_width = <0x10>;
reg_active_offset = <0x4>;
reg_active_shift = <0x0>;
reg_active_width = <0x10>;
reg_prescal_offset = <0x0>;
reg_prescal_shift = <0x0>;
reg_prescal_width = <0x4>;
};
pwm1@01c21000 {
compatible = "allwinner,sunxi-pwm1";
pinctrl-names = "active", "sleep";
pinctrl-0 = <0x3b>;
reg_base = <0x1c21000>;
reg_busy_offset = <0x0>;
reg_busy_shift = <0x1d>;
reg_enable_offset = <0x0>;
reg_enable_shift = <0x13>;
reg_clk_gating_offset = <0x0>;
reg_clk_gating_shift = <0x15>;
reg_bypass_offset = <0x0>;
reg_bypass_shift = <0x18>;
reg_pulse_start_offset = <0x0>;
reg_pulse_start_shift = <0x17>;
reg_mode_offset = <0x0>;
reg_mode_shift = <0x16>;
reg_polarity_offset = <0x0>;
reg_polarity_shift = <0x14>;
reg_period_offset = <0x8>;
reg_period_shift = <0x10>;
reg_period_width = <0x10>;
reg_active_offset = <0x8>;
reg_active_shift = <0x0>;
reg_active_width = <0x10>;
reg_prescal_offset = <0x0>;
reg_prescal_shift = <0xf>;
reg_prescal_width = <0x4>;
linux,phandle = <0x3a>;
phandle = <0x3a>;
};
deinterlace@0x01e70000 {
compatible = "allwinner,sunxi-deinterlace";
reg = <0x0 0x1e70000 0x0 0x80>;
interrupts = <0x21>;
clocks = <0x38 0x3>;
status = "disabled";
device_type = "di";
};
csi_res@0x01cb0000 {
compatible = "allwinner,sunxi-csi";
reg = <0x0 0x1cb0000 0x0 0x1000>;
clocks = <0x3c 0x3 0x8>;
clocks-index = <0x0 0x1 0x2>;
status = "okay";
};
vfe@0 {
device_type = "csi0";
compatible = "allwinner,sunxi-vfe";
interrupts = <0x20>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <0x3d>;
pinctrl-1 = <0x3e>;
csi_sel = <0x0>;
csi0_sensor_list = <0x0>;
csi0_mck = <0x24 0x4 0xb 0x2 0x1 0x3 0x0>;
status = "okay";
dev@1 {
csi0_dev0_mname = "gc0308";
csi0_dev0_twi_addr = <0x42>;
csi0_dev0_twi_id = <0x0>;
csi0_dev0_pos = "rear";
csi0_dev0_isp_used = <0x0>;
csi0_dev0_fmt = <0x0>;
csi0_dev0_stby_mode = <0x0>;
csi0_dev0_vflip = <0x0>;
csi0_dev0_hflip = <0x0>;
csi0_dev0_iovdd = <0x0>;
csi0_dev0_iovdd_vol = <0x0>;
csi0_dev0_avdd = <0x0>;
csi0_dev0_avdd_vol = <0x0>;
csi0_dev0_dvdd = <0x0>;
csi0_dev0_dvdd_vol = <0x0>;
csi0_dev0_afvdd = <0x0>;
csi0_dev0_afvdd_vol = <0x0>;
csi0_dev0_power_en;
csi0_dev0_reset = <0x7fc>;
csi0_dev0_pwdn;
csi0_dev0_flash_en;
csi0_dev0_flash_mode;
csi0_dev0_af_pwdn;
csi0_dev0_act_used = <0x0>;
csi0_dev0_act_name = <0x0>;
csi0_dev0_act_slave = <0x0>;
status = "okay";
};
};
usbc0@0 {
device_type = "usbc0";
compatible = "allwinner,sunxi-otg-manager";
usb_port_type = <0x0>;
usb_detect_type = <0x1>;
usb_detect_mode = <0x0>;
usb_drv_vbus_gpio = <0x7ff>;
usb_host_init_state = <0x0>;
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0x0>;
usb_luns = <0x3>;
usb_serial_unique = <0x0>;
usb_serial_number = "20080411";
rndis_wceis = <0x1>;
status = "okay";
usb_id_gpio;
usb_det_vbus_gpio;
usb_board_sel = <0x1>;
usb_regulator_vol = <0x0>;
};
udc-controller@0x01c13000 {
compatible = "allwinner,sunxi-udc";
reg = <0x0 0x1c13000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>;
interrupts = <0x1a>;
clocks = <0x3f 0x40>;
status = "okay";
};
otghci0-controller@0x01c13000 {
compatible = "allwinner,sunxi-hcd0";
reg = <0x0 0x1c13000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>;
interrupts = <0x1a>;
clocks = <0x3f 0x40>;
hci_ctrl_no = <0x0>;
status = "okay";
};
daudio@0x01c22000 {
compatible = "allwinner,sunxi-daudio";
reg = <0x0 0x1c22000 0x0 0x3c>;
clocks = <0x2 0x41>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <0x42>;
pinctrl-1 = <0x43>;
word_select_size = <0x20>;
pcm_sync_period = <0x20>;
pcm_lsb_first = <0x0>;
over_sample_rate = <0x80>;
slot_width_select = <0x10>;
pcm_sync_type = <0x0>;
pcm_start_slot = <0x0>;
tx_data_mode = <0x0>;
rx_data_mode = <0x0>;
tdm_config = <0x1>;
tdm_num = <0x0>;
dmas = <0x25 0x0 0xe 0x25 0x0 0xe>;
dma-names = "rx-tx", "rx-tx";
status = "okay";
linux,phandle = <0x4a>;
phandle = <0x4a>;
};
spdif-controller@0x01c21400 {
compatible = "allwinner,sunxi-spdif";
reg = <0x0 0x1c21400 0x0 0x38>;
clocks = <0x2 0x44>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <0x45>;
pinctrl-1 = <0x46>;
dmas = <0x25 0x0 0x1 0x25 0x0 0x1>;
status = "disabled";
linux,phandle = <0x4b>;
phandle = <0x4b>;
};
codec@0x01c23c00 {
compatible = "allwinner,sunxi-internal-codec";
reg = <0x0 0x1c23c00 0x0 0x9c>;
clocks = <0x2 0x47>;
gpio_shdn = <0x0>;
headphonevol = <0x3b>;
spkervol = <0x1b>;
maingain = <0x4>;
hp_dirused = <0x0>;
pa_sleep_time = <0x15e>;
status = "okay";
linux,phandle = <0x49>;
phandle = <0x49>;
};
cpudai0-controller@0x01c22000 {
compatible = "allwinner,sunxi-internal-cpudai";
reg = <0x0 0x1c23c00 0x0 0x9c>;
clocks = <0x47>;
dmas = <0x25 0x0 0xc 0x25 0x0 0xc>;
dma-names = "rx-tx", "rx-tx";
status = "okay";
linux,phandle = <0x48>;
phandle = <0x48>;
};
sound@0 {
compatible = "allwinner,sunxi-codec-machine";
sunxi,cpudai-controller = <0x48>;
sunxi,audio-codec = <0x49>;
hp_detect_case = <0x0>;
status = "okay";
};
sound@1 {
compatible = "allwinner,sunxi-daudio0-machine";
sunxi,daudio0-controller = <0x4a>;
sunxi,snddaudio-codec = "nau8540.2-001d";
sunxi,snddaudio-codec-dai = "nau8540-hifi";
status = "okay";
};
sound@2 {
compatible = "allwinner,sunxi-spdif-machine";
sunxi,spdif-controller = <0x4b>;
status = "okay";
};
wlan {
compatible = "allwinner,sunxi-wlan";
wlan-reset-pin = <0x24 0x3 0x10 0x0 0x1 0x1 0x1>;
wlan-irq-pin = <0x24 0x3 0xd 0x0 0x6 0x1 0x1>;
wlan_busnum = <0x0>;
status = "okay";
device_type = "wlan";
wlan_board_sel = <0x1>;
wlan_hostwake = <0x24 0x4 0xc 0x6 0xffffffff 0xffffffff 0x1>;
wlan_regon = <0x7f9>;
};
vdevice@0 {
compatible = "allwinner,sun3i-vdevice";
device_type = "Vdevice";
pinctrl-names = "default";
test-gpios = <0x24 0x3 0x1 0x1 0x2 0x2 0x1>;
status = "disabled";
pinctrl-0 = <0x66>;
};
keyboard {
compatible = "allwinner,keyboard_2000mv";
reg = <0x0 0x1c23400 0x0 0x400>;
interrupts = <0x16>;
status = "okay";
pwr-key = <0x24 0x3 0xe 0x0 0x6 0x1 0x0>;
usb-sts = <0x24 0x3 0xa 0x0 0x6 0x1 0x0>;
key_cnt = <0x6>;
key0 = <0xf8 0x73>;
key1 = <0x193 0x72>;
key2 = <0x24d 0x8b>;
key3 = <0x307 0x1c>;
key4 = <0x3c1 0x66>;
key5 = <0x4b9 0x67>;
};
pwr_off_ctrl {
compatible = "allwinner,pwr_off_ctrl";
status = "okay";
};
battery {
compatible = "allwinner,LRADC_battery";
reg = <0x0 0x1c23400 0x0 0x400>;
interrupts = <0x16>;
status = "okay";
};
wirelesskey@0 {
compatible = "allwinner,wireless-key";
gpio-key = <0x24 0x4 0x3 0x0 0x6 0x1 0x1>;
debounce = <0x0>;
status = "disabled";
};
tp_key@0x01c24800 {
compatible = "allwinner,tp_key";
reg = <0x0 0x1c24800 0x0 0xf0>;
interrupts = <0x14>;
key_cnt = <0xa>;
key1 = <0x118 0x73>;
key2 = <0x230 0x72>;
key3 = <0x366 0x77>;
key4 = <0x48f 0x1c>;
key5 = <0x5b4 0x175>;
key6 = <0x6cd 0x66>;
key7 = <0x82f 0x0>;
key8 = <0x95f 0x0>;
key9 = <0xa78 0x0>;
key10 = <0xb87 0x0>;
status = "okay";
};
product {
device_type = "product";
version = "100";
machine = "evb";
};
platform {
device_type = "platform";
eraseflag = <0x1>;
debug_mode = <0x1>;
};
target {
device_type = "target";
boot_clock = <0x198>;
storage_type = <0x6>;
burn_key = <0x0>;
};
norflash {
device_type = "norflash";
size = <0x10>;
};
power_sply {
device_type = "power_sply";
dcdc1_vol = <0xbb8>;
dcdc2_vol = <0x4b0>;
dcdc3_vol = <0x4b0>;
dcdc4_vol = <0x4b0>;
dcdc5_vol = <0x5dc>;
aldo2_vol = <0x708>;
aldo3_vol = <0xbb8>;
};
pwr_ctrl {
device_type = "pwr_ctrl";
power_off_key = <0x24 0x3 0x14 0x0 0x0 0xffffffff 0x1>;
power_on = <0x24 0x0 0x1 0x1 0xffffffff 0xffffffff 0x0>;
pwroff_gpio_is_irq = <0x0>;
};
card_boot {
device_type = "card_boot";
logical_start = <0xa000>;
sprite_gpio0;
};
pm_para {
device_type = "pm_para";
standby_mode = <0x1>;
};
card0_boot_para {
device_type = "card0_boot_para";
card_ctrl = <0x0>;
card_high_speed = <0x1>;
card_line = <0x4>;
pinctrl-0 = <0x4d>;
};
card2_boot_para {
device_type = "card2_boot_para";
card_ctrl = <0x2>;
card_high_speed = <0x1>;
card_line = <0x8>;
pinctrl-0 = <0x4e>;
};
card1_boot_para {
device_type = "card1_boot_para";
card_ctrl = <0x1>;
card_high_speed = <0x1>;
card_line = <0x1>;
pinctrl-0 = <0x4f>;
};
twi_para {
device_type = "twi_para";
twi_port = <0x0>;
pinctrl-0 = <0x50>;
};
uart_para {
device_type = "uart_para";
uart_debug_port = <0x1>;
pinctrl-0 = <0x51>;
};
jtag_para {
device_type = "jtag_para";
jtag_enable = <0x0>;
pinctrl-0 = <0x52>;
};
dram {
device_type = "dram";
dram_clk = <0x1e0>;
dram_type = <0x3>;
dram_zq = <0x77bb>;
dram_odt_en = <0x1>;
dram_para1 = <0x4319f4>;
dram_para2 = <0x5>;
dram_mr0 = <0x620>;
dram_mr1 = <0x0>;
dram_mr2 = <0x8>;
dram_mr3 = <0x0>;
dram_tpr0 = <0x6141b10>;
dram_tpr1 = <0x40416>;
dram_tpr2 = <0x3030306>;
dram_tpr3 = <0x2006>;
dram_tpr4 = <0x5040405>;
dram_tpr5 = <0x5050302>;
dram_tpr6 = <0x90006644>;
dram_tpr7 = <0x42c21590>;
dram_tpr8 = <0xd05612c0>;
dram_tpr9 = <0x83def>;
dram_tpr10 = <0x18082356>;
dram_tpr11 = <0x32034156>;
dram_tpr12 = <0x0>;
dram_tpr13 = <0x0>;
};
rtp_para {
device_type = "rtp_para";
rtp_used = <0x0>;
rtp_screen_size = <0x5>;
rtp_regidity_level = <0x5>;
rtp_press_threshold_enable = <0x0>;
rtp_press_threshold = <0x1f40>;
rtp_sensitive_level = <0xf>;
rtp_exchange_x_y_flag = <0x0>;
};
ctp {
device_type = "ctp";
status = "okay";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x48>;
ctp_screen_max_x = <0x320>;
ctp_screen_max_y = <0x1e0>;
ctp_revert_x_flag = <0x1>;
ctp_revert_y_flag = <0x1>;
ctp_exchange_x_y_flag = <0x1>;
};
tkey_para {
device_type = "tkey_para";
tkey_used = <0x0>;
tkey_twi_id;
tkey_twi_addr;
tkey_int;
};
motor_para {
device_type = "motor_para";
motor_used = <0x0>;
};
nand0 {
device_type = "nand0";
nand0_support_2ch = <0x0>;
status = "disabled";
pinctrl-0 = <0x5c 0x5d>;
nand0_regulator1 = "vcc-nand";
nand0_regulator2 = "none";
nand0_cache_level = <0x55aaaa55>;
nand0_flush_cache_num = <0x55aaaa55>;
nand0_capacity_level = <0x55aaaa55>;
nand0_id_number_ctl = <0x55aaaa55>;
nand0_print_level = <0x55aaaa55>;
nand0_p0 = <0x55aaaa55>;
nand0_p1 = <0x55aaaa55>;
nand0_p2 = <0x55aaaa55>;
nand0_p3 = <0x55aaaa55>;
};
pwm0_para {
device_type = "pwm0_para";
pwm_used = <0x0>;
pinctrl-0 = <0x60>;
};
pwm1_para {
device_type = "pwm1_para";
pwm_used = <0x0>;
pinctrl-0 = <0x61>;
};
vip0 {
device_type = "vip0";
status = "okay";
pinctrl-0 = <0x62 0x63>;
vip0_mname = "gc0308";
vip0_twi_addr = <0x42>;
vip0_twi_id = <0x0>;
vip0_isp_used = <0x0>;
vip0_fmt = <0x0>;
vip0_stby_mode = <0x0>;
vip0_vflip = <0x0>;
vip0_hflip = <0x0>;
vip0_iovdd;
vip0_iovdd_vol = <0x2ab980>;
vip0_avdd;
vip0_avdd_vol = <0x2ab980>;
vip0_dvdd;
vip0_dvdd_vol = <0x16e360>;
vip0_afvdd;
vip0_afvdd_vol = <0x2ab980>;
vip0_power_en;
vip0_reset = <0x7fc>;
vip0_pwdn;
vip0_flash_en;
vip0_flash_mode;
vip0_af_pwdn;
};
tvout_para {
device_type = "tvout_para";
tvout_used;
tvout_channel_num;
tv_en;
};
tvin_para {
device_type = "tvin_para";
tvin_used;
tvin_channel_num;
};
smc {
device_type = "smc";
smc_used;
smc_rst;
smc_vppen;
smc_vppp;
smc_det;
smc_vccen;
smc_sck;
smc_sda;
};
gsensor_para {
device_type = "gsensor_para";
gsensor_used = <0x0>;
gsensor_twi_id = <0x2>;
gsensor_twi_addr = <0x18>;
gsensor_int1 = <0x24 0x0 0x9 0x6 0x1 0xffffffff 0xffffffff>;
gsensor_int2;
};
gps_para {
device_type = "gps_para";
};
gy_para {
device_type = "gy_para";
gy_used = <0x0>;
gy_twi_id = <0x2>;
gy_twi_addr = <0x6a>;
gy_int1 = <0x24 0x0 0xa 0x6 0x1 0xffffffff 0xffffffff>;
gy_int2;
};
ls_para {
device_type = "ls_para";
ls_used = <0x0>;
ls_twi_id = <0x2>;
ls_twi_addr = <0x23>;
ls_int = <0x24 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>;
};
compass_para {
device_type = "compass_para";
compass_used = <0x0>;
compass_twi_id = <0x2>;
compass_twi_addr = <0xd>;
compass_int = <0x24 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>;
};
bt_para {
device_type = "bt_para";
bt_used;
bt_uart_id;
bt_wakeup;
bt_gpio;
bt_rst;
};
audiospdif {
device_type = "audiospdif";
status = "disabled";
};
spdif_machine {
device_type = "spdif_machine";
status = "disabled";
};
audiohdmi {
device_type = "audiohdmi";
status = "disabled";
};
hdmi_machine {
device_type = "hdmi_machine";
status = "disabled";
};
pmu0 {
device_type = "pmu0";
status = "disabled";
pmu_id = <0x6>;
pmu_twi_addr = <0x34>;
pmu_twi_id = <0x1>;
pmu_irq_id = <0x0>;
pmu_chg_ic_temp = <0x0>;
pmu_battery_rdc = <0x64>;
pmu_battery_cap = <0x0>;
pmu_runtime_chgcur = <0x1c2>;
pmu_suspend_chgcur = <0x5dc>;
pmu_shutdown_chgcur = <0x5dc>;
pmu_init_chgvol = <0x1068>;
pmu_ac_vol = <0xfa0>;
pmu_ac_cur = <0x0>;
pmu_usbpc_vol = <0x1130>;
pmu_usbpc_cur = <0x1f4>;
pmu_battery_warning_level1 = <0xf>;
pmu_battery_warning_level2 = <0x0>;
pmu_chgled_func = <0x0>;
pmu_chgled_type = <0x0>;
pmu_bat_para1 = <0x0>;
pmu_bat_para2 = <0x0>;
pmu_bat_para3 = <0x0>;
pmu_bat_para4 = <0x0>;
pmu_bat_para5 = <0x0>;
pmu_bat_para6 = <0x0>;
pmu_bat_para7 = <0x0>;
pmu_bat_para8 = <0x0>;
pmu_bat_para9 = <0x5>;
pmu_bat_para10 = <0x8>;
pmu_bat_para11 = <0x9>;
pmu_bat_para12 = <0xa>;
pmu_bat_para13 = <0xd>;
pmu_bat_para14 = <0x10>;
pmu_bat_para15 = <0x14>;
pmu_bat_para16 = <0x21>;
pmu_bat_para17 = <0x29>;
pmu_bat_para18 = <0x2e>;
pmu_bat_para19 = <0x32>;
pmu_bat_para20 = <0x35>;
pmu_bat_para21 = <0x39>;
pmu_bat_para22 = <0x3d>;
pmu_bat_para23 = <0x43>;
pmu_bat_para24 = <0x49>;
pmu_bat_para25 = <0x4e>;
pmu_bat_para26 = <0x54>;
pmu_bat_para27 = <0x58>;
pmu_bat_para28 = <0x5c>;
pmu_bat_para29 = <0x5d>;
pmu_bat_para30 = <0x5e>;
pmu_bat_para31 = <0x5f>;
pmu_bat_para32 = <0x64>;
pmu_bat_temp_enable = <0x0>;
pmu_bat_charge_ltf = <0x8d5>;
pmu_bat_charge_htf = <0x184>;
pmu_bat_shutdown_ltf = <0xc80>;
pmu_bat_shutdown_htf = <0xed>;
pmu_bat_temp_para1 = <0x1d2a>;
pmu_bat_temp_para2 = <0x1180>;
pmu_bat_temp_para3 = <0xdbe>;
pmu_bat_temp_para4 = <0xae2>;
pmu_bat_temp_para5 = <0x8af>;
pmu_bat_temp_para6 = <0x6fc>;
pmu_bat_temp_para7 = <0x5a8>;
pmu_bat_temp_para8 = <0x3c9>;
pmu_bat_temp_para9 = <0x298>;
pmu_bat_temp_para10 = <0x1d2>;
pmu_bat_temp_para11 = <0x189>;
pmu_bat_temp_para12 = <0x14d>;
pmu_bat_temp_para13 = <0x11b>;
pmu_bat_temp_para14 = <0xf2>;
pmu_bat_temp_para15 = <0xb3>;
pmu_bat_temp_para16 = <0x86>;
pmu_powkey_off_time = <0x1770>;
pmu_powkey_off_func = <0x0>;
pmu_powkey_off_en = <0x1>;
pmu_powkey_long_time = <0x5dc>;
pmu_powkey_on_time = <0x3e8>;
};
pmu0_regu {
device_type = "pmu0_regu";
regulator_count = <0x17>;
regulator1 = "axp28_rtc";
regulator2 = "axp28_aldo1";
regulator3 = "axp28_aldo2";
regulator4 = "axp28_aldo3";
regulator5 = "axp28_dldo1";
regulator6 = "axp28_dldo2";
regulator7 = "axp28_dldo3";
regulator8 = "axp28_dldo4";
regulator9 = "axp28_eldo1";
regulator0 = "axp28_eldo2";
regulator11 = "axp28_eldo3";
regulator12 = "axp28_fldo1";
regulator13 = "axp28_fldo2";
regulator14 = "axp28_dcdc1";
regulator15 = "axp28_dcdc2";
regulator16 = "axp28_dcdc3";
regulator17 = "axp28_dcdc4";
regulator18 = "axp28_dcdc5";
regulator19 = "axp28_dcdc6";
regulator20 = "axp28_dcdc7";
regulator21 = "axp28_gpio0ldo";
regulator22 = "axp28_gpio1ldo";
};
dvfs_table {
device_type = "dvfs_table";
max_freq = <0x47868c00>;
min_freq = <0x1c9c3800>;
LV_count = <0x8>;
LV1_freq = <0x5b8d8000>;
LV1_volt = <0x5dc>;
LV2_freq = <0x501bd000>;
LV2_volt = <0x5b4>;
LV3_freq = <0x47868c00>;
LV3_volt = <0x528>;
LV4_freq = <0x3c14dc00>;
LV4_volt = <0x4b0>;
LV5_freq = <0x30a32c00>;
LV5_volt = <0x44c>;
LV6_freq = <0x269fb200>;
LV6_volt = <0x410>;
LV7_freq = <0x0>;
LV7_volt = <0x410>;
LV8_freq = <0x0>;
LV8_volt = <0x410>;
};
fel_key {
device_type = "fel_key";
keyen_flag = <0x1>;
fel_key_max = <0x1aa>;
fel_key_min = <0x100>;
};
partitions {
device_type = "partitions";
bootlogo {
device_type = "bootlogo";
offset = <0x2000>;
size = <0x400>;
};
env {
device_type = "env";
offset = <0x2400>;
size = <0x200>;
};
boot {
device_type = "boot";
offset = <0x2600>;
size = <0x3000>;
};
rootfs {
device_type = "rootfs";
offset = <0x5600>;
size = <0xc800>;
};
rootfs_data {
device_type = "rootfs_data";
offset = <0x11e00>;
size = <0xc800>;
};
misc {
device_type = "misc";
offset = <0x1e600>;
size = <0x200>;
};
private {
device_type = "private";
offset = <0x1e800>;
size = <0x200>;
};
UDISK {
device_type = "UDISK";
offset = <0x1ea00>;
size = <0x0>;
};
};
};
aliases {
serial0 = "/soc/uart@01c25000", "/soc/uart@01c25000";
serial1 = "/soc/uart@01c25400", "/soc/uart@01c25400";
serial2 = "/soc/uart@01c25800", "/soc/uart@01c25800";
twi0 = "/soc/twi@0x01c27000", "/soc/twi@0x01c27000";
twi1 = "/soc/twi@0x01c27400", "/soc/twi@0x01c27400";
twi2 = "/soc/twi@0x01c27800", "/soc/twi@0x01c27800";
spi0 = "/soc/spi@01c05000", "/soc/spi@01c05000";
spinand = "/soc/spinand@01c05000", "/soc/spinand@01c05000";
spi1 = "/soc/spi@01c06000", "/soc/spi@01c06000";
mmc0 = "/soc/sdmmc@01c0f000", "/soc/sdmmc@01c0f000";
mmc1 = "/soc/sdmmc@01c10000", "/soc/sdmmc@01c10000";
global_timer0 = "/soc/timer@1c20c00", "/soc/timer@1c20c00";
csi_res0 = "/soc/csi_res@0x01cb0000", "/soc/csi_res@0x01cb0000";
vfe0 = "/soc/vfe@0", "/soc/vfe@0";
disp = "/soc/disp@0x01e00000", "/soc/disp@0x01e00000";
lcd0 = "/soc/lcd0@01c0c000", "/soc/lcd0@01c0c000";
tvd = "/soc/tvd0@01c0b000", "/soc/tvd0@01c0b000";
pwm = "/soc/pwm@01c21000", "/soc/pwm@01c21000";
pwm0 = "/soc/pwm0@01c21000", "/soc/pwm0@01c21000";
pwm1 = "/soc/pwm1@01c21000", "/soc/pwm1@01c21000";
};
chosen {
bootargs = "earlyprintk=sunxi-uart,0x01c25000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init";
linux,initrd-start = <0x0 0x0>;
linux,initrd-end = <0x0 0x0>;
};
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
cpu@0 {
device_type = "cpu";
compatible = "arm,arm926ejs";
reg = <0x0>;
};
};
sram_ctrl {
device_type = "sram_ctrl";
compatible = "allwinner,sram_ctrl";
reg = <0x0 0x1c00000 0x0 0x100>;
};
ion {
compatible = "allwinner,sunxi-ion";
system {
type = <0x0>;
};
cma {
type = <0x4>;
};
system_contig {
type = <0x1>;
};
};
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x2000000>;
};
interrupt-controller@01c20400 {
compatible = "allwinner,sun3i-intc";
#interrupt-cells = <0x1>;
#address-cells = <0x0>;
device_type = "intc";
interrupt-controller;
reg = <0x0 0x1c20400 0x0 0x1000>;
linux,phandle = <0x1>;
phandle = <0x1>;
};
watchdog@01c20ca0 {
compatible = "allwinner,sun3i-wdt";
reg = <0x0 0x1c20ca0 0x0 0x18>;
};
};
./out/violin-F1C200s/image/sys_config.fex
;A31 PAD application
;---------------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
;---------------------------------------------------------------------------------------------------------
[product]
version = "100"
machine = "evb"
[platform]
eraseflag = 1
debug_mode = 1
;----------------------------------------------------------------------------------
; system configuration
; ?
;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step
;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step
;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step
;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step
;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step
;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step
;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step
;----------------------------------------------------------------------------------
;----------------------------------------------------------------------------------
; storage_type 0:nand 1:sd 2:emmc 3:spinor 4:emmc3 5:spinand 6:sd1
;
; as spi0 and sdc0 both use PC0-PC2
; for spinor, set [target] storage_type = 3, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for spinand, set [target] storage_type = 5, [spi0] spi0_used = 1 , [sdc1] sdc1_used = 0
; for sd1, set [target] storage_type = 6, [spi0] spi0_used = 0 , [sdc1] sdc1_used = 1
;----------------------------------------------------------------------------------
[target]
boot_clock = 408
storage_type = 6
burn_key = 0
[norflash]
size = 16
[power_sply]
dcdc1_vol = 3000
dcdc2_vol = 1200
dcdc3_vol = 1200
dcdc4_vol = 1200
dcdc5_vol = 1500
aldo2_vol = 1800
aldo3_vol = 3000
;[power_ctrl]
;power_off_key = port:PD14<0><0><default><1>
;power_on = port:PD15<1><0><default><0>
[pwr_ctrl]
power_off_key = port:PD20<0><0><default><1>
power_on = port:PA1<1><default><default><0>
pwroff_gpio_is_irq = 0
[card_boot]
logical_start = 40960
sprite_gpio0 =
;card_no = 1
;---------------------------------------------------------------------------------------------------------
; if 1 == standby_mode, then support super standby;
; else, support normal standby.
;---------------------------------------------------------------------------------------------------------
[pm_para]
standby_mode = 1
[card0_boot_para]
card_ctrl = 0
card_high_speed = 1
card_line = 4
sdc_d1 = port:PF0<2><1><2><default>
sdc_d0 = port:PF1<2><1><2><default>
sdc_clk = port:PF2<2><1><2><default>
sdc_cmd = port:PF3<2><1><2><default>
sdc_d3 = port:PF4<2><1><2><default>
sdc_d2 = port:PF5<2><1><2><default>
[card2_boot_para]
card_ctrl = 2
card_high_speed = 1
card_line = 8
sdc_clk = port:PC5<3><1><3><default>
sdc_cmd = port:PC6<3><1><3><default>
sdc_d0 = port:PC8<3><1><3><default>
sdc_d1 = port:PC9<3><1><3><default>
sdc_d2 = port:PC10<3><1><3><default>
sdc_d3 = port:PC11<3><1><3><default>
sdc_d4 = port:PC12<3><1><3><default>
sdc_d5 = port:PC13<3><1><3><default>
sdc_d6 = port:PC14<3><1><3><default>
sdc_d7 = port:PC15<3><1><3><default>
sdc_emmc_rst = port:PC16<3><1><3><default>
sdc_ds = port:PC01<3><1><3><default>
[card1_boot_para]
card_ctrl = 1
card_high_speed = 1
card_line = 1
sdc_clk = port:PC0<3><1><3><default>
sdc_cmd = port:PC1<3><1><3><default>
sdc_d0 = port:PC2<3><1><3><default>
[twi_para]
twi_port = 0
twi_scl = port:PD12<3><default><default><default>
twi_sda = port:PD00<3><default><default><default>
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PA2<5><1><default><default>
uart_debug_rx = port:PA3<5><1><default><default>
[jtag_para]
jtag_enable = 0
jtag_ms = port:PH9<3><default><default><default>
jtag_ck = port:PH10<3><default><default><default>
jtag_do = port:PH11<3><default><default><default>
jtag_di = port:PH12<3><default><default><default>
;*****************************************************************************
;sdram configuration
;
;*****************************************************************************
[dram_para]
dram_clk = 480
dram_type = 3
dram_zq = 0x77bb
dram_odt_en = 1
dram_para1 = 0x004319f4
dram_para2 = 0x5
dram_mr0 = 0x620
dram_mr1 = 0x0
dram_mr2 = 0x8
dram_mr3 = 0
dram_tpr0 = 0x06141B10
dram_tpr1 = 0x40416
dram_tpr2 = 0x03030306
dram_tpr3 = 0x2006
dram_tpr4 = 0x05040405
dram_tpr5 = 0x05050302
dram_tpr6 = 0x90006644
dram_tpr7 = 0x42c21590
dram_tpr8 = 0xd05612c0
dram_tpr9 = 0x00083def
dram_tpr10 = 0x18082356
dram_tpr11 = 0x32034156
dram_tpr12 = 0
dram_tpr13 = 0
;----------------------------------------------------------------------------------
;i2c configuration
;----------------------------------------------------------------------------------
[twi0]
twi0_used = 1
twi0_scl = port:PD12<3><default><default><default>
twi0_sda = port:PD00<3><default><default><default>
[twi1]
twi1_used = 0
twi1_scl = port:PB00<2><default><default><default>
twi1_sda = port:PB01<2><default><default><default>
[twi2]
twi2_used = 0
twi2_scl = port:PD15<4><default><default><default>
twi2_sda = port:PD16<4><default><default><default>
;----------------------------------------------------------------------------------
;TWI device configuration
;compatible --- device name
;reg --- device address
;----------------------------------------------------------------------------------
;[twi0/twi_board0]
;compatible =
;reg =
[io_expand]
compatible = "nxp,pcf8574a"
reg = 0x20
gpio_base = 2040
;int-gpio = port:PE09<6><default><1><1>
;----------------------------------------------------------------------------------
;uart configuration
;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function)
;----------------------------------------------------------------------------------
[uart0]
uart0_used = 0
uart0_port = 0
uart0_type = 2
uart0_tx = port:PF2<3><1><default><default>
uart0_rx = port:PF4<3><1><default><default>
[uart1]
uart1_used = 1
uart1_port = 1
uart1_type = 2
uart1_tx = port:PA2<5><1><default><default>
uart1_rx = port:PA3<5><1><default><default>
;----------------------------------------------------------------------------------
;SPI controller configuration
;----------------------------------------------------------------------------------
[spi0]
spi0_used = 0
spi0_cs_number = 1
spi0_cs_bitmap = 1
spi0_cs0 = port:PC1<2><1><default><default>
spi0_sclk = port:PC0<2><default><default><default>
spi0_mosi = port:PC3<2><default><default><default>
spi0_miso = port:PC2<2><default><default><default>
[spi1]
spi1_used = 1
spi1_cs_number = 1
spi1_cs_bitmap = 1
spi1_cs0 = port:PE07<4><1><default><default>
spi1_sclk = port:PE09<4><default><default><default>
spi1_mosi = port:PE08<4><default><default><default>
spi1_miso = port:PE10<4><default><default><default>
;----------------------------------------------------------------------------------
;SPI device configuration
;compatible --- device name
;spi-max-frequency --- work frequency
;reg --- chip select
;optional properties: spi-cpha, spi-cpol, spi-cs-high
;----------------------------------------------------------------------------------
;[spi0/spi_board0]
;compatible =
;spi-max-frequency =
;reg =
;spi-cpha
;spi-cpol
;spi-cs-high
;----------------------------------------------------------------------------------
;resistance tp configuration
;----------------------------------------------------------------------------------
[rtp_para]
rtp_used = 0
rtp_screen_size = 5
rtp_regidity_level = 5
rtp_press_threshold_enable = 0
rtp_press_threshold = 0x1f40
rtp_sensitive_level = 0xf
rtp_exchange_x_y_flag = 0
;----------------------------------------------------------------------------------
;capacitor tp configuration
;external int function
;wakeup output function
;notice --- tp_int_port & tp_io_port use the same port
;----------------------------------------------------------------------------------
[ctp]
ctp_used = 1
ctp_twi_id = 0
ctp_twi_addr = 0x48
ctp_screen_max_x = 800
ctp_screen_max_y = 480
ctp_revert_x_flag = 1
ctp_revert_y_flag = 1
ctp_exchange_x_y_flag = 1
;ctp_int_port = port:PE12<6><default><default><1>
;ctp_wakeup = 2045
[twi0/touchscreen1]
compatible = "ctp_icn85xx"
reg = 0x48
;----------------------------------------------------------------------------------
;touch key configuration
;----------------------------------------------------------------------------------
[tkey_para]
tkey_used = 0
tkey_twi_id =
tkey_twi_addr =
tkey_int =
;----------------------------------------------------------------------------------
;motor configuration
;----------------------------------------------------------------------------------
[motor_para]
motor_used = 0
;motor_shake = port:power3<1><default><default><1>
[nand0_para]
nand0_support_2ch = 0
nand0_used = 0
nand0_we = port:PC00<2><0><1><default>
nand0_ale = port:PC01<2><0><1><default>
nand0_cle = port:PC02<2><0><1><default>
nand0_ce0 = port:PC03<2><1><1><default>
nand0_nre = port:PC04<2><0><1><default>
nand0_rb0 = port:PC05<2><1><1><default>
nand0_d0 = port:PC06<2><0><1><default>
nand0_d1 = port:PC07<2><0><1><default>
nand0_d2 = port:PC08<2><0><1><default>
nand0_d3 = port:PC09<2><0><1><default>
nand0_d4 = port:PC10<2><0><1><default>
nand0_d5 = port:PC11<2><0><1><default>
nand0_d6 = port:PC12<2><0><1><default>
nand0_d7 = port:PC13<2><0><1><default>
nand0_ndqs = port:PC14<2><0><1><default>
nand0_regulator1 = "vcc-nand"
nand0_regulator2 = "none"
nand0_cache_level = 0x55aaaa55
nand0_flush_cache_num = 0x55aaaa55
nand0_capacity_level = 0x55aaaa55
nand0_id_number_ctl = 0x55aaaa55
nand0_print_level = 0x55aaaa55
nand0_p0 = 0x55aaaa55
nand0_p1 = 0x55aaaa55
nand0_p2 = 0x55aaaa55
nand0_p3 = 0x55aaaa55
;----------------------------------------------------------------------------------
;disp init configuration
;
;disp_mode (0:screen0<screen0,fb0>)
;screenx_output_type (0:none; 1:lcd; 3:hdmi;)
;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50)
; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60)
;fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
;fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
;fb0_scaler_mode_enable(scaler mode enable, used FE)
;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
;lcdx_backlight (lcd init backlight,the range:[0,256],default:197
;lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
;lcd0_contrast (LCD contrast, 0~100)
;lcd0_saturation (LCD saturation, 0~100)
;lcd0_hue (LCD hue, 0~100)
;----------------------------------------------------------------------------------
[disp]
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 1
screen0_output_mode = 4
screen1_output_type = 1
screen1_output_mode = 4
fb0_framebuffer_num = 2
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 0
fb0_format = 0
fb0_width = 0
fb0_height = 0
fb1_framebuffer_num = 0
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
fb1_format = 0
fb1_width = 0
fb1_height = 0
lcd0_backlight = 50
lcd1_backlight = 50
lcd0_bright = 50
lcd0_contrast = 50
lcd0_saturation = 57
lcd0_hue = 50
lcd1_bright = 50
lcd1_contrast = 50
lcd1_saturation = 57
lcd1_hue = 50
;----------------------------------------------------------------------------------
;lcd0 configuration
;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
;lcd_x: lcd horizontal resolution
;lcd_y: lcd vertical resolution
;lcd_width: width of lcd in mm
;lcd_height: height of lcd in mm
;lcd_dclk_freq: in MHZ unit
;lcd_pwm_freq: in HZ unit
;lcd_pwm_pol: lcd backlight PWM polarity
;lcd_pwm_max_limit lcd backlight PWM max limit(<=255)
;lcd_hbp: hsync back porch
;lcd_ht: hsync total cycle
;lcd_vbp: vsync back porch
;lcd_vt: vysnc total cycle
;lcd_hspw: hsync plus width
;lcd_vspw: vysnc plus width
;lcd_lvds_if: 0:single link; 1:dual link
;lcd_lvds_colordepth: 0:8bit; 1:6bit
;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode
;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
; 8~11bit:dclk phase; 12~15bit:de phase)
;lcd_gamma_en lcd gamma correction enable
;lcd_bright_curve_en lcd bright curve correction enable
;lcd_cmap_en lcd color map function enable
;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10;
; decrease it while lcd is not bright enough; increase while lcd is too bright
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;----------------------------------------------------------------------------------
[lcd0]
lcd_used = 1
;-------------------------------------
; avdisplay lcd
;-------------------------------------
lcd_driver_name = "ili6122_800x480"
lcd_if = 0
lcd_x = 800
lcd_y = 480
lcd_width = 109
lcd_height = 63
lcd_dclk_freq = 33
lcd_pwm_used = 1
lcd_pwm_ch = 0
lcd_pwm_freq = 50000
lcd_pwm_pol = 1
lcd_hbp = 55
lcd_ht = 1056
lcd_hspw = 20
lcd_vbp = 35
lcd_vt = 525
lcd_vspw = 10
lcd_hv_if = 0
lcd_hv_smode = 0
lcd_hv_s888_if = 0
lcd_hv_syuv_if = 0
lcd_hv_vspw = 10
lcd_hv_hspw = 20
lcd_hv_sync_polarity = 3
;-------------------------------------
; qiutianwei lcd
;-------------------------------------
;lcd_x = 800
;lcd_y = 480
;lcd_width = 108
;lcd_height = 64
;lcd_dclk_freq = 33
;lcd_pwm_used = 1
;lcd_pwm_ch = 0
;lcd_pwm_freq = 50000
;lcd_pwm_pol = 1
;lcd_hbp = 88
;lcd_ht = 928
;lcd_hspw = 48
;lcd_vbp = 35
;lcd_vt = 525
;lcd_vspw = 3
;lcd_hv_if = 0
;lcd_hv_smode = 0
;lcd_hv_s888_if = 0
;lcd_hv_syuv_if = 0
;lcd_hv_vspw = 10
;lcd_hv_hspw = 123
;lcd_x = 1024
;lcd_y = 600
;lcd_width = 154
;lcd_height = 86
;lcd_dclk_freq = 50
;lcd_pwm_used = 1
;lcd_pwm_ch = 0
;lcd_pwm_freq = 50000
;lcd_pwm_pol = 1
;lcd_hbp = 160
;lcd_ht = 1344
;lcd_hspw = 48
;lcd_vbp = 23
;lcd_vt = 635
;lcd_vspw = 3
;lcd_hv_if = 0
;lcd_hv_smode = 0
;lcd_hv_s888_if = 0
;lcd_hv_syuv_if = 0
;lcd_hv_vspw = 10
;lcd_hv_hspw = 123
lcd_lvds_if = 0
lcd_lvds_colordepth = 1
lcd_lvds_mode = 0
lcd_lvds_ch = 0
lcd_lvds_bitwidth = 0
lcd_lvds_io_cross = 0
lcd_cpu_if = 0
lcd_frm = 1
lcd_rb_swap = 1
lcd_io_phase = 0x0000
lcd_gamma_en = 0
lcd_bright_curve_en = 0
lcd_cmap_en = 0
deu_mode = 0
lcdgamma4iep = 22
lcd_io_cfg0 = 0x00000000
smart_color = 90
;lcd_bl_en_used = 0
;lcd_bl_en = port:PE12<1><0><default><1>
;lcd_power = port:PE06<1><0><default><0>
lcd_gpio_0 = 2043
;lcdd2 = port:PD00<2><0><default><default>
lcdd3 = port:PD01<2><0><default><default>
lcdd4 = port:PD02<2><0><default><default>
lcdd5 = port:PD03<2><0><default><default>
lcdd6 = port:PD04<2><0><default><default>
lcdd7 = port:PD05<2><0><default><default>
lcdd10 = port:PD06<2><0><default><default>
lcdd11 = port:PD07<2><0><default><default>
lcdd12 = port:PD08<2><0><default><default>
lcdd13 = port:PD09<2><0><default><default>
lcdd14 = port:PD10<2><0><default><default>
lcdd15 = port:PD11<2><0><default><default>
;lcdd18 = port:PD12<2><0><default><default>
lcdd19 = port:PD13<2><0><default><default>
lcdd20 = port:PD14<2><0><default><default>
lcdd21 = port:PD15<2><0><default><default>
lcdd22 = port:PD16<2><0><default><default>
lcdd23 = port:PD17<2><0><default><default>
lcdclk = port:PD18<2><0><3><default>
lcdde = port:PD19<2><0><3><default>
;lcdhsync = port:PD20<2><0><3><default>
lcdvsync = port:PD21<2><0><3><default>
;----------------------------------------------------------------------------------
;pwm config
;----------------------------------------------------------------------------------
[pwm0_para]
pwm_used = 0
;pwm_positive = port:PH00<2><0><default><default>
pwm_positive = port:PE12<4><0><default><default>
[pwm1_para]
pwm_used = 0
pwm_positive = port:PE06<3><0><default><default>
;--------------------------------------------------------------------------------
;vip (video input port) configuration
;vip(x)_used: 0:disable 1:enable
;vip(x)_isp_used 0:not use isp 1:use isp
;vip(x)_fmt: 0:yuv 1:bayer raw rgb
;vip(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby
;vip(x)_vflip: flip in vertical direction 0:disable 1:enable
;vip(x)_hflip: flip in horizontal direction 0:disable 1:enable
;vip(x)_iovdd: camera module io power handle string, pmu power supply
;vip(x)_iovdd_vol: camera module io power voltage, pmu power supply
;vip(x)_avdd: camera module analog power handle string, pmu power supply
;vip(x)_avdd_vol: camera module analog power voltage, pmu power supply
;vip(x)_dvdd: camera module core power handle string, pmu power supply
;vip(x)_dvdd_vol: camera module core power voltage, pmu power supply
;vip(x)_afvdd: camera module vcm power handle string, pmu power supply
;vip(x)_afvdd_vol: camera module vcm power voltage, pmu power supply
;fill voltage in uV, e.g. iovdd = 2.8V, vip_devx_iovdd_vol = 2800000
;fill handle string as below:
;axp22_eldo3
;axp22_dldo4
;axp22_eldo2
;fill handle string "" when not using any pmu power supply
;--------------------------------------------------------------------------------
[vip0]
vip0_used = 1
vip0_csi_pck = port:PE02<2><default><default><default>
vip0_csi_mck = port:PE11<2><1><3><0>
vip0_csi_hsync = port:PE00<2><default><default><default>
vip0_csi_vsync = port:PE01<2><default><default><default>
vip0_csi_d0 = port:PE03<2><default><default><default>
vip0_csi_d1 = port:PE04<2><default><default><default>
vip0_csi_d2 = port:PE05<2><default><default><default>
vip0_csi_d3 = port:PE06<2><default><default><default>
vip0_csi_d4 = port:PE07<2><default><default><default>
vip0_csi_d5 = port:PE08<2><default><default><default>
vip0_csi_d6 = port:PE09<2><default><default><default>
vip0_csi_d7 = port:PE10<2><default><default><default>
;vip0_csi_sck = port:PD12<2><default><default><default>
;vip0_csi_sda = port:PD00<2><default><default><default>
vip0_mname = "gc0308"
vip0_twi_addr = 0x42
vip0_twi_id = 0
vip0_isp_used = 0
vip0_fmt = 0
vip0_stby_mode = 0
vip0_vflip = 0
vip0_hflip = 0
vip0_iovdd = ""
vip0_iovdd_vol = 2800000
vip0_avdd = ""
vip0_avdd_vol = 2800000
vip0_dvdd = ""
vip0_dvdd_vol = 1500000
vip0_afvdd = ""
vip0_afvdd_vol = 2800000
vip0_power_en =
vip0_reset = 2044
vip0_pwdn = ""
vip0_flash_en =
vip0_flash_mode =
vip0_af_pwdn =
;--------------------------------------------------------------------------------
;tv configuration
;
;--------------------------------------------------------------------------------
[tvout_para]
tvout_used =
tvout_channel_num =
tv_en =
[tvin_para]
tvin_used =
tvin_channel_num =
; ------------------------------------------------------------------------------|
; de-interlace configuration
;--------------------------------------------------------------------------------
[di]
di_used = 0
;--------------------------------------------------------------------------------
; SDMMC PINS MAPPING |
; ------------------------------------------------------------------------------|
; Config Guide |
; sdc_used: 1-enable card, 0-disable card |
; sdc_detmode: card detect mode |
; 1-detect card by gpio polling |
; 2-detect card by gpio irq(must use IO with irq function) |
; 3-no detect, always in for boot card |
; 4-manually insert and remove by /proc/driver/sunxi-mmc.x/insert|
; sdc_buswidth: card bus width, 1-1bit, 4-4bit, 8-8bit |
; sdc_use_wp: 1-with write protect IO, 0-no write protect IO |
; sdc_isio: for sdio card |
; sdc_regulator: power control.if card supports UHS-I/DDR and HS200 timing for|
; SD3.0 or eMMC4.5, regulator must be configured. the value is |
; the ldo name of AXP221, eg: sdc_regulator = "axp22_eldo2" |
; other: GPIO Mapping configuration |
; ------------------------------------------------------------------------------|
; Note: |
; 1 if detmode=2, sdc_det's config=6 |
; else if detmode=1, sdc_det's config=0 |
; else sdc_det IO is not necessary |
; 2 if the customer wants to support UHS-I and HS200 features, he must provide|
; an independent power supply for the card. This is only used in platforms |
; that supports SD3.0 cards and eMMC4.4+ flashes |
;--------------------------------------------------------------------------------
[sdc0]
sdc0_used = 1
;sdc0_detmode = 4
sdc0_buswidth = 4
sdc0_d1 = port:PF00<2><1><3><default>
sdc0_d0 = port:PF01<2><1><3><default>
sdc0_clk = port:PF02<2><1><3><default>
sdc0_cmd = port:PF03<2><1><3><default>
sdc0_d3 = port:PF04<2><1><3><default>
sdc0_d2 = port:PF05<2><1><3><default>
sdc0_det = port:PA01<0><1><3><default>
sdc0_use_wp = 0
sdc0_wp =
sdc0_isio = 0
sdc0_regulator = "none"
[sdc1]
sdc1_used = 1
sdc1_detmode = 4
sdc1_buswidth = 1
sdc1_clk = port:PC00<3><1><2><default>
sdc1_cmd = port:PC01<3><1><2><default>
sdc1_d0 = port:PC02<3><1><2><default>
sdc1_det =
sdc1_use_wp = 0
sdc1_wp =
sdc1_isio = 1
sdc1_regulator = "none"
; ------------------------------------------------------------------------------|
; sim card configuration
;--------------------------------------------------------------------------------
[smc]
smc_used =
smc_rst =
smc_vppen =
smc_vppp =
smc_det =
smc_vccen =
smc_sck =
smc_sda =
;--------------------------------
;[usbc0]:控制器0的配置。
;usb_used:USB使能标志。置1,表示系统中USB模块可用,置0,则表示系统USB禁用。
;usb_port_type:USB端口的使用情况。 0:device only;1:host only;2:OTG
;usb_detect_type:USB端口的检查方式。0:不做检测;1:vbus/id检查;2:id/dpdm检查
;usb_id_gpio:USB ID pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio:USB DET_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_drv_vbus_gpio:USB DRY_VBUS pin脚配置。具体请参考gpio配置说明。
;usb_det_vbus_gpio: "axp_ctrl",表示axp 提供
;--------------------------------
;--------------------------------
;--- USB0控制标志
;--------------------------------
;[usbc0]
;usbc0_used = 0
;usb_port_type = 2
;usb_detect_type = 1
;usb_id_gpio = port:PH09<0><1><default><default>
;usb_det_vbus_gpio = "axp_ctrl"
;usb_drv_vbus_gpio = port:PB07<1><0><default><0>
;usb_host_init_state = 0
;usb_regulator_io = "nocare"
;usb_regulator_vol = 0
;usb_wakeup_suspend = 0
;--- USB Device
;usb_luns = 3
;usb_serial_unique = 0
;usb_serial_number = "20080411"
[usbc0]
usbc0_used = 1
usb_port_type = 0
usb_detect_type = 1
usb_id_gpio =
usb_det_vbus_gpio =
usb_board_sel = 1
usb_drv_vbus_gpio = 2047
usb_host_init_state = 0
usb_regulator_io = "nocare"
usb_regulator_vol = 0
usb_wakeup_suspend = 0
; USB Device
usb_luns = 3
usb_serial_unique = 0
usb_serial_number = "20080411"
;--------------------------------
;--- USB1控制标志
;--------------------------------
;[usbc1]
;usbc1_used = 0
;usb_drv_vbus_gpio = port:PB06<1><0><default><0>
;usb_host_init_state = 1
;usb_regulator_io = "nocare"
;usb_regulator_vol = 0
;usb_wakeup_suspend = 0
;--------------------------------------------------------------------------------
; G sensor configuration
; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2)
;--------------------------------------------------------------------------------
[gsensor_para]
gsensor_used = 0
gsensor_twi_id = 2
gsensor_twi_addr = 0x18
gsensor_int1 = port:PA09<6><1><default><default>
gsensor_int2 =
;--------------------------------------------------------------------------------
; gps gpio configuration
; gps_spi_id --- the index of SPI controller. 0: SPI0, 1: SPI1, 2: SPI2, 15: no SPI used
; gps_spi_cs_num --- the chip select number of SPI controller. 0: SPI CS0, 1: SPI CS1
; gps_lradc --- the lradc number for GPS used. 0 and 1 is valid, set 2 if not use lradc
;--------------------------------------------------------------------------------
[gps_para]
;--------------------------------------------------------------------------------
;wlan configuration
;clocks: 32k clk
;wlan_power_num: the number of inputs for wifi power
;wlan_power(n): wifi power(n)
;wlan_io_regulator: the power of wifi io
;wlan_busnum: no. of bus(usb or bus)
;wlan_regon: wifi function enable/reset io
;wlan_hostwake: wifi device wake-up host
;status: okay
;--------------------------------------------------------------------------------
[wlan]
wlan_used = 1
compatible = "allwinner,sunxi-wlan"
wlan_busnum = 0
;wlan_power_num =
;wlan_power1 =
;wlan_io_regulator =
wlan_board_sel = 1
;wlan_hostwake = port:PD13<6><default><default><default>
wlan_hostwake = port:PE12<6><default><default><1>
;wlan_regon = port:PD16<1><1><3><0>
wlan_regon = 2041
;--------------------------------------------------------------------------------
;gyroscope
;--------------------------------------------------------------------------------
[gy_para]
gy_used = 0
gy_twi_id = 2
gy_twi_addr = 0x6a
gy_int1 = port:PA10<6><1><default><default>
gy_int2 =
;--------------------------------------------------------------------------------
;light sensor
;--------------------------------------------------------------------------------
[ls_para]
ls_used = 0
ls_twi_id = 2
ls_twi_addr = 0x23
ls_int = port:PA12<6><1><default><default>
;--------------------------------------------------------------------------------
;compass
;--------------------------------------------------------------------------------
[compass_para]
compass_used = 0
compass_twi_id = 2
compass_twi_addr = 0x0d
compass_int = port:PA11<6><1><default><default>
;--------------------------------------------------------------------------------
;blue tooth
;bt_used ---- blue tooth used (0- no used, 1- used)
;bt_uard_id ---- uart index
;--------------------------------------------------------------------------------
[bt_para]
bt_used =
bt_uart_id =
bt_wakeup =
bt_gpio =
bt_rst =
;--------------------------------------------------------------------------------
; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1,
; if register the sound card spdif.
;--------------------------------------------------------------------------------
[audiospdif]
audiospdif_used = 0
[spdif_machine]
spdif_machine_used = 0
;----------------------------------------------------------------------------------
; NOTE :Make sure hdmi_used = 0x1,hdmimach_used = 0x1,
; if register the sound card hdmi.
;---------------------------------------------------------------------------------
[audiohdmi]
audiohdmi_used = 0
[hdmi_machine]
hdmi_machine_used = 0
;--------------------------------------------------------------------------------
;allwinner,pcm_lrck_period :16/32/64/128/256
;allwinner,pcm_lrckr_period :no use
;allwinner,slot_width_select :16bits/20bits/24bits/32bits
;allwinner,pcm_lsb_first :0: msb first; 1: lsb first
;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law
;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use
; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use
; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use
; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use
;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use
; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format).
; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format)
; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use
; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge)
;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use
; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM)
; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use
; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM)
;allwinner,frametype :0: long frame = 2 clock width; 1: short frame
;allwinner,tdm_config :0:pcm 1:i2s
;allwinner,daudio0_used :0:not use 1:use
;-------------------------------------------------------------------------------
; NOTE :Make sure daudio0mach_used = 0x1,daudio0_used = 0x1,
; if register the sound card DAUDIO0.
;--------------------------------------------------------------------------------
;[daudio0_machine]
;daudio0_machine_used = 0
;-----------------------------------------------------------------------------
;[daudio0]
;pcm_lrck_period = 0x20
;pcm_lrckr_period = 0x01
;slot_width_select = 0x10
;pcm_lsb_first = 0x0
;tx_data_mode = 0x0
;rx_data_mode = 0x0
;daudio_master = 0x04
;audio_format = 0x01
;signal_inversion = 0x01
;frametype = 0x0
;tdm_config = 0x01
;daudio0_used = 0
;--------------------------------------------------------------------------------------
;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step
;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step
;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step
;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step
;allwinner,adcagc_cfg : 1:use adcagc 0:no use
;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use
;allwinner,adchpf_cfg : 1:use adchpf 0:no use
;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use
;allwinner,dachpf_cfg : 1:use adchpf 0:no use
;allwinner,aif2config : 1:use aif2 0:no use
;allwinner,aif3config : 1:use aif3 0:no use
;--------------------------------------------------------------------------------
; NOTE :Make sure audiocodec_machine_used = 0x1,sun50i2s_used = 0x1
; sun50codec_used = 0x1,if register the sound card audiocodec.
;---------------------------------------------------------------------------------
;[audiocodec_machine]
;audiocodec_machine_used = 0
;-------------------------------------------------------------------------------------
;used ---0:not used,1:used
;pmu_id ---0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813
;pmu_twi_addr ---slave address
;pmu_twi_id ---i2c bus number (0 TWI0, 1 TWI2, 2 TWI3)
;pmu_irq_id ---irq number (0 irq0,1 irq1)
;pmu_chg_ic_temp ---intelligence charge pmu temperature. when it is 0, this function is closed.
;pmu_battery_rdc ---battery initial resistance
;pmu_battery_cap ---battery capability,mAh
;pmu_runtime_chgcur ---set initial charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_suspend_chgcur ---set suspend charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_shutdown_chgcur ---set shutdown charging current limite,mA, 300/450/600/750/900/1050/1200/1350/1500/1650/1800/1950/
;pmu_init_chgvol ---set initial charing target voltage,mV,4100/4220/4200/4240
;pmu_ac_vol ---set usb-ac limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_ac_cur ---set usb-ac limited current level,mA,500/900, 0 - not limite
;pmu_usbpc_vol ---set usb-pc limited voltage level,mV,4000/4100/4200/4300/4400/4500/4600/4700,0 - not limite
;pmu_usbpc_cur ---set usb-pc limited current level,mA,500/900, 0 - not limite
;pmu_battery_warning_level1 ---low power warning high level,5%-20%,1%/step
;pmu_battery_warning_level2 ---low power warning low level,0%-15%,1%/step
;pmu_chgled_func ---CHGKED pin control, 0:controlled by pmu,1:controlled by Charger
;pmu_chgled_type ---CHGLED Type select when pmu_chgled_func=0,0:Type A, 1:type B
;pmu_bat_para1 ---battery indication at 3.13V
;pmu_bat_para2 ---battery indication at 3.27V
;pmu_bat_para3 ---battery indication at 3.34V
;pmu_bat_para4 ---battery indication at 3.41V
;pmu_bat_para5 ---battery indication at 3.48V
;pmu_bat_para6 ---battery indication at 3.52V
;pmu_bat_para7 ---battery indication at 3.55V
;pmu_bat_para8 ---battery indication at 3.57V
;pmu_bat_para9 ---battery indication at 3.59V
;pmu_bat_para10 ---battery indication at 3.61V
;pmu_bat_para11 ---battery indication at 3.63V
;pmu_bat_para12 ---battery indication at 3.64V
;pmu_bat_para13 ---battery indication at 3.66V
;pmu_bat_para14 ---battery indication at 3.7V
;pmu_bat_para15 ---battery indication at 3.73V
;pmu_bat_para16 ---battery indication at 3.77V
;pmu_bat_para17 ---battery indication at 3.78V
;pmu_bat_para18 ---battery indication at 3.8V
;pmu_bat_para19 ---battery indication at 3.82V
;pmu_bat_para20 ---battery indication at 3.84V
;pmu_bat_para21 ---battery indication at 3.85V
;pmu_bat_para22 ---battery indication at 3.87V
;pmu_bat_para23 ---battery indication at 3.91V
;pmu_bat_para24 ---battery indication at 3.94V
;pmu_bat_para25 ---battery indication at 3.98V
;pmu_bat_para26 ---battery indication at 4.01V
;pmu_bat_para27 ---battery indication at 4.05V
;pmu_bat_para28 ---battery indication at 4.08V
;pmu_bat_para29 ---battery indication at 4.1V
;pmu_bat_para30 ---battery indication at 4.12V
;pmu_bat_para31 ---battery indication at 4.14V
;pmu_bat_para32 ---battery indication at 4.15V
;pmu_bat_temp_enable ---battery temp detect enable
;pmu_bat_charge_ltf ---charge battery temp low threshold voltage
;pmu_bat_charge_htf ---charge battery temp high threshold voltage
;pmu_bat_shutdown_ltf ---shutdown battery temp low threshold voltage
;pmu_bat_shutdown_htf ---shutdown battery temp high threshold voltage
;pmu_bat_temp_para1 ---battery temp -25 voltage
;pmu_bat_temp_para2 ---battery temp -15 voltage
;pmu_bat_temp_para3 ---battery temp -10 voltage
;pmu_bat_temp_para4 ---battery temp -5 voltage
;pmu_bat_temp_para5 ---battery temp 0 voltage
;pmu_bat_temp_para6 ---battery temp 5 voltage
;pmu_bat_temp_para7 ---battery temp 10 voltage
;pmu_bat_temp_para8 ---battery temp 20 voltage
;pmu_bat_temp_para9 ---battery temp 30 voltage
;pmu_bat_temp_para10 ---battery temp 40 voltage
;pmu_bat_temp_para11 ---battery temp 45 voltage
;pmu_bat_temp_para12 ---battery temp 50 voltage
;pmu_bat_temp_para13 ---battery temp 55 voltage
;pmu_bat_temp_para14 ---battery temp 60 voltage
;pmu_bat_temp_para15 ---battery temp 70 voltage
;pmu_bat_temp_para16 ---battery temp 80 voltage
;pmu_powkey_off_time ---set pek off time,ms, 4000/6000/8000/10000
;pmu_powkey_off_func ---set pek off func, 0:shutdown,1:restart
;pmu_powkey_off_en ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown
;pmu_powkey_long_time ---set pek pek long irq time,ms,1000/1500/2000/2500
;pmu_powkey_on_time ---set pek on time,ms,128/1000/2000/3000
;--------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;--------------------------------------------------------------------------------------------------------
[pmu0]
used = 0
pmu_id = 6
pmu_twi_addr = 0x34
pmu_twi_id = 1
pmu_irq_id = 0
pmu_chg_ic_temp = 0
pmu_battery_rdc = 100
pmu_battery_cap = 0
pmu_runtime_chgcur = 450
pmu_suspend_chgcur = 1500
pmu_shutdown_chgcur = 1500
pmu_init_chgvol = 4200
pmu_ac_vol = 4000
pmu_ac_cur = 0
pmu_usbpc_vol = 4400
pmu_usbpc_cur = 500
pmu_battery_warning_level1 = 15
pmu_battery_warning_level2 = 0
pmu_chgled_func = 0
pmu_chgled_type = 0
pmu_bat_para1 = 0
pmu_bat_para2 = 0
pmu_bat_para3 = 0
pmu_bat_para4 = 0
pmu_bat_para5 = 0
pmu_bat_para6 = 0
pmu_bat_para7 = 0
pmu_bat_para8 = 0
pmu_bat_para9 = 5
pmu_bat_para10 = 8
pmu_bat_para11 = 9
pmu_bat_para12 = 10
pmu_bat_para13 = 13
pmu_bat_para14 = 16
pmu_bat_para15 = 20
pmu_bat_para16 = 33
pmu_bat_para17 = 41
pmu_bat_para18 = 46
pmu_bat_para19 = 50
pmu_bat_para20 = 53
pmu_bat_para21 = 57
pmu_bat_para22 = 61
pmu_bat_para23 = 67
pmu_bat_para24 = 73
pmu_bat_para25 = 78
pmu_bat_para26 = 84
pmu_bat_para27 = 88
pmu_bat_para28 = 92
pmu_bat_para29 = 93
pmu_bat_para30 = 94
pmu_bat_para31 = 95
pmu_bat_para32 = 100
pmu_bat_temp_enable = 0
pmu_bat_charge_ltf = 2261
pmu_bat_charge_htf = 388
pmu_bat_shutdown_ltf = 3200
pmu_bat_shutdown_htf = 237
pmu_bat_temp_para1 = 7466
pmu_bat_temp_para2 = 4480
pmu_bat_temp_para3 = 3518
pmu_bat_temp_para4 = 2786
pmu_bat_temp_para5 = 2223
pmu_bat_temp_para6 = 1788
pmu_bat_temp_para7 = 1448
pmu_bat_temp_para8 = 969
pmu_bat_temp_para9 = 664
pmu_bat_temp_para10 = 466
pmu_bat_temp_para11 = 393
pmu_bat_temp_para12 = 333
pmu_bat_temp_para13 = 283
pmu_bat_temp_para14 = 242
pmu_bat_temp_para15 = 179
pmu_bat_temp_para16 = 134
pmu_powkey_off_time = 6000
pmu_powkey_off_func = 0
pmu_powkey_off_en = 1
pmu_powkey_long_time = 1500
pmu_powkey_on_time = 1000
;--------------------------------------------------------------------------------------------------------
;pmu0 is axp81x
;regulator tree
;--------------------------------------------------------------------------------------------------------
[pmu0_regu]
regulator_count = 23
regulator1 = "axp28_rtc"
regulator2 = "axp28_aldo1"
regulator3 = "axp28_aldo2"
regulator4 = "axp28_aldo3"
regulator5 = "axp28_dldo1"
regulator6 = "axp28_dldo2"
regulator7 = "axp28_dldo3"
regulator8 = "axp28_dldo4"
regulator9 = "axp28_eldo1"
regulator0 = "axp28_eldo2"
regulator11 = "axp28_eldo3"
regulator12 = "axp28_fldo1"
regulator13 = "axp28_fldo2"
regulator14 = "axp28_dcdc1"
regulator15 = "axp28_dcdc2"
regulator16 = "axp28_dcdc3"
regulator17 = "axp28_dcdc4"
regulator18 = "axp28_dcdc5"
regulator19 = "axp28_dcdc6"
regulator20 = "axp28_dcdc7"
regulator21 = "axp28_gpio0ldo"
regulator22 = "axp28_gpio1ldo"
;----------------------------------------------------------------------------------
; dvfs voltage-frequency table configuration
;
; max_freq: cpu maximum frequency, based on Hz
; min_freq: cpu minimum frequency, based on Hz
;
; LV_count: count of LV_freq/LV_volt, must be < 16
;
; LV1: core vdd is 1.50v if cpu frequency is (1344Mhz, 1536Mhz]
; LV2: core vdd is 1.46v if cpu frequency is (1200Mhz, 1344Mhz]
; LV3: core vdd is 1.32v if cpu frequency is (1008Mhz, 1200Mhz]
; LV4: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz]
; LV5: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz]
; LV6: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
; LV7: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
; LV8: core vdd is 1.04v if cpu frequency is (120Mhz, 648Mhz]
;
;----------------------------------------------------------------------------------
[dvfs_table]
;extremity_freq = 1344000000
max_freq = 1200000000
min_freq = 480000000
LV_count = 8
LV1_freq = 1536000000
LV1_volt = 1500
LV2_freq = 1344000000
LV2_volt = 1460
LV3_freq = 1200000000
LV3_volt = 1320
LV4_freq = 1008000000
LV4_volt = 1200
LV5_freq = 816000000
LV5_volt = 1100
LV6_freq = 648000000
LV6_volt = 1040
LV7_freq = 0
LV7_volt = 1040
LV8_freq = 0
LV8_volt = 1040
;----------------------------------------------------------------------------------
;virtual device
;virtual device for pinctrl testing
;device have pin PA1 PA2
;----------------------------------------------------------------------------------
[Vdevice]
Vdevice_used = 0
Vdevice_0 = port:PC00<4><1><2><default>
Vdevice_1 = port:PC01<4><1><2><default>
[fel_key]
keyen_flag = 1
fel_key_max = 426
fel_key_min = 256
[partitions]
[partitions/bootlogo]
offset = 8192
size = 1024
[partitions/env]
offset = 9216
size = 512
[partitions/boot]
offset = 9728
size = 12288
[partitions/rootfs]
offset = 22016
size = 51200
[partitions/rootfs_data]
offset = 73216
size = 51200
[partitions/misc]
offset = 124416
size = 512
[partitions/private]
offset = 124928
size = 512
[partitions/UDISK]
offset = 125440
size = 0
编译Linux的时候, 会把 sys_config.fex 转换成 dts 文件?
./lichee/brandy/u-boot-2011.09/board/sunxi/board_common.c: if(script_parser_patch("uart_para","uart_debug_port",(int *)(&uart_port_id),sizeof(int)/4))
./lichee/brandy/u-boot-2011.09/board/sunxi/board_common.c: printf("debug_mode_error : can't find uart_debug_port \n");
./lichee/brandy/u-boot-2014.07/board/sunxi/common/debug_mode.c: if(script_parser_patch("uart_para","uart_debug_port",(int *)(&uart_port_id),sizeof(int)/4))
./lichee/brandy/u-boot-2014.07/board/sunxi/common/debug_mode.c: printf("debug_mode_error : can't find uart_debug_port \n");
./lichee/brandy/pack_tools/update_boot0/update_boot0.c: if(!script_parser_fetch("uart_para", "uart_debug_port", value))
./lichee/brandy/pack_tools/update_fes1/update_fes1.c: if(!script_parser_fetch("uart_para", "uart_debug_port", value))
./lichee/brandy/pack_tools/update_uboot/update_uboot.c: if (!script_parser_fetch("uart_para", "uart_debug_port", value))
./lichee/brandy/pack_tools/update_toc0/main/main.c: if(!script_parser_fetch("uart_para", "uart_debug_port", value))
页次: 1