您尚未登录。

#1 Re: 技术人生/软件使用技巧/破解经验/技术吐槽/灌水 » 发现一个奇怪的问题,百度和谷歌搜索结果很少出现微信公众号的链接,这是搜索引擎合谋建围墙吗? » 2021-06-19 10:15:40

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: /

这就是微信公众号没有被搜索引擎收录的原因, 禁止任何爬虫.

#2 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 请问大家,我写了一个 tina f1c200s timer1 中断驱动, 怎么改都只进入一次中断, 请问这是什么原因呢? » 2021-04-23 10:27:09

我想了一下, 有两个原因, 定时器中断函数清除状态寄存器那里

1. 没有加锁
2. timer0 没有先读出寄存器数据再写

#3 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 请问大家,我写了一个 tina f1c200s timer1 中断驱动, 怎么改都只进入一次中断, 请问这是什么原因呢? » 2021-04-23 10:04:01

无根浮萍
回复: 1

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

#4 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » [分享] F1C200s的 timer0/timer1 都被占用了, 试一试在控制台玩 timer2 » 2021-04-22 15:52:56

把tina linux lichee/linux-3.10/drivers/clocksource/sunxi_timer.c

#define SUN3I_CLKSRC_ID         1

改成

#define SUN3I_CLKSRC_ID         2

启动/运行均正常,

控制台读timer2寄存器组也正常:

# devmem 0x01C20C30;devmem 0x01C20C34;devmem 0x01C20C38;
0x00000005
0xFFFFFFFF
0xDB7AE423

tick 定时器转为了timer2 ?

#5 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 老人家,碰到新问题,mmcblk2变成了mmcblk1 » 2021-04-22 11:42:55

你现在只要设置bootargs 的 rootfs 对应的block设备就行嘛, 我觉得改uboot可行。

#6 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 【转】 Linux 系统Tick刨根究底 » 2021-04-22 10:52:20

无根浮萍
回复: 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>;
                };

#7 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » [分享] F1C200s的 timer0/timer1 都被占用了, 试一试在控制台玩 timer2 » 2021-04-22 10:25:05

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

#8 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » [分享] F1C200s的 timer0/timer1 都被占用了, 试一试在控制台玩 timer2 » 2021-04-22 10:21:19

重复触发:

#timer2 装入定时值
devmem 0x01C20C34 32 0x5000000

#timer2 重复触发, 24M源, 使能timer2
devmem 0x01C20C30 32 0x00000005

#9 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » [分享] F1C200s的 timer0/timer1 都被占用了, 试一试在控制台玩 timer2 » 2021-04-22 10:19:36

好了, 我们现在测试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  (归零)

#10 全志 V3S/F1C100s/X3/D1/R329/AIC800 » [分享] F1C200s的 timer0/timer1 都被占用了, 试一试在控制台玩 timer2 » 2021-04-22 09:56:32

无根浮萍
回复: 4

2021-04-22_094528.png

先读出 timer1 的寄存器:

# devmem 0x01C20C20;devmem 0x01C20C24;devmem 0x01C20C28;
0x00000005
0xFFFFFFFF
0x2E22414A

根据手册
0x01C20C20 是timer1控制寄存器, 重复触发, 1分频, 24Mhz源, 使能
0x01C20C24 timer1本次定时时间
0x01C20C28 timer1定时器当前值

#11 全志 V3S/F1C100s/X3/D1/R329/AIC800 » [分享] 解决tina linux 编译出现错误: » 2021-04-21 22:21:16

无根浮萍
回复: 0

编译错误:

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"


QQ截图20210421221531.png

参考: https://www.cnblogs.com/tid-think/p/10769656.html

#12 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » C100S跟V3S换个名字又可以出来卖多几颗了 » 2021-04-21 21:36:36

微凉VeiLiang 说:

R7就是V3S,R11是没有网口的V3S,但帧率可以60帧

R11 有网口, 只是 1000Mbps的 MAC, 需要外接 PHY 芯片

#13 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tina 勾选 CONFIG_PACKAGE_fswebcam 但是目标文件系统还是没有生成 /usr/bin/fswebcam » 2021-04-21 21:35:10

potato 说:

请问大佬知道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:/#

木得问题噢

#14 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tina 勾选 CONFIG_PACKAGE_fswebcam 但是目标文件系统还是没有生成 /usr/bin/fswebcam » 2021-04-21 14:39:25

结贴, 搞定

慢动作,分两步:

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

这样就能顺利产生了

#15 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tina 勾选 CONFIG_PACKAGE_fswebcam 但是目标文件系统还是没有生成 /usr/bin/fswebcam » 2021-04-21 14:30:58

跟踪了一下, 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) ####

#18 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 请问基于openwrt的tina 根文件系统是怎么产生的,一头懵, » 2021-04-21 11:02:02

无根浮萍
回复: 1

比如这个文件:

./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 是如何生成的呢?

#19 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志tina linux 好神奇, 100秒定时器才中断25次 » 2021-04-21 10:33:20

# 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做, 这下中断数量能对上了。

#20 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志tina linux 好神奇, 100秒定时器才中断25次 » 2021-04-21 10:29:54

#
# 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 感谢大佬

#21 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志tina linux 好神奇, 100秒定时器才中断25次 » 2021-04-21 10:26:57

tpu 说:

tickless模式,有需要才中断

感谢大佬提醒, 我去狗一下

#22 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志tina linux 好神奇, 100秒定时器才中断25次 » 2021-04-21 10:26:43

#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万次也很远。

#23 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志tina linux 好神奇, 100秒定时器才中断25次 » 2021-04-21 10:15:19

讲道理
CONFIG_HZ=100

一秒应该产生 100 次中断才对, 100秒应该是产生 1万次中断, 不知道为何是这个结果?

#24 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志tina linux 好神奇, 100秒定时器才中断25次 » 2021-04-21 09:53:25

无根浮萍
回复: 6
/# 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

#25 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-04-20 23:06:43

TINY200开发板使用1bit SD NAND 【分享】
http://whycan.com/t_6301.html


用这个帖子的方法, 把固件烧到雷龙 1bit的 sd nand 也一样能正常启动,

看来主线Linux的mmc驱动比全志的shit tina 驱动更好用?

#26 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-04-20 22:59:34

换雷龙的 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:/#

QQ图片20210420223504.jpg

#28 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » f1c200s运行tina抖屏问题,请大家支支招 » 2021-04-03 17:15:08

F1C100s tina3 程序, 请教屏闪是怎么回事?
http://whycan.com/t_3156.html#p61569

请问楼主这个问题最后是怎么解决的呢?我现在一样碰到这个尴尬的问题,搞了很久了。。。

#29 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » F1C100s tina3 程序, 请教屏闪是怎么回事? » 2021-04-03 16:45:37

hxhlb 说:
hxhlb 说:

自己解决了,并不是LCD刷新率的问题, 而是framebuffer不够的问题. 修改sys_config.fex中的framebuffer大小, 解码720p视频播放良好.

为自己的不严谨道歉, 和LCD刷新率也有关系, 也同样和framebuffer一样有关系.

请问framebuffer是改哪个地方呢,我现在 lcd_dclk_freq 改到20M左右,静态显示会消停一下,但是播放视频又抖了。

#31 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 发一个 TINY200 开发板可以用的 TINA3.5 RTL8723BS 测试固件 » 2021-04-02 17:25:51

无根浮萍
回复: 0

下载: tina_violin-F1C200s_uart0_nor_rtl8723bs_ok.7z

这是一个spi nor 的固件, 用全志的 PhoenixSuit 烧录, 理论上8M以上的spi flash都可以用, 包括w25, mx25等

命令行输入这个就可以链接wifi热点:
wifi_connect_ap_test ssid password

#32 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 试一试 Ubuntu 18.04 编译f1c200s tina 3.x » 2021-04-02 15:15:07

感谢楼主, 我把这几个文件备份出来了

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

直接解压就好了。

#33 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志Tina开发的朋友们, 一个百思不得其解shell脚本问题请教大家 » 2021-04-02 14:48:46

@哇酷小二 对, 我想了一下, 确实是这个问题, 但是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

#34 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 新手入F1C100S,有些疑问请教下前辈 » 2021-04-02 08:18:55

webb_2002 说:
叶落无轨 说:

最近想做个项目,评估一下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才能启动呢?

#35 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-04-01 11:56:17

感谢,对的,我以为理所当然的可以,555555

TeveT 说:

意思是你这个自己没有修改过TINA的boot, 直接就烧录了对吗?
我用的是V3S 的tina3.5, 是自己魔改,要看看代码。

无根浮萍 说:
TeveT 说:

uboot烧录部分改对了没

请问应该怎么修改呢?我几乎翻越了所有tina文档,都木找到有。

#36 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-04-01 09:31:39

TeveT 说:

uboot烧录部分改对了没

无根浮萍 说:

https://whycan.com/files/members/5755/2021-03-31_113740.png

果然只有一个分区,这是为什么呢?

请问应该怎么修改呢?我几乎翻越了所有tina文档,都木找到有。

#38 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-03-31 11:34:43

貌似这种TF卡驱动应该没问题, 为什么没有生成分区呢?是打包有问题?烧录有问题?挂UBUNTU看看情况去

#39 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-03-31 11:29:01

修改 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:

#41 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-03-31 10:35:55

错误:
[    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 这个错误?
响应超时?

#43 全志 V3S/F1C100s/X3/D1/R329/AIC800 » tiny200开发板跑tina3.5, 使用 芯天下/雷龙 sdnand芯片从SDC1启动(1BIT模式), 启动失败,但是烧录正常 » 2021-03-31 10:00:05

无根浮萍
回复: 13

启动失败, 没有生成分区:

[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

2021-03-31_095734.png

这是烧录日志:

[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

#44 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 求助F1C200S启动时,无法挂在根文件 » 2021-03-30 22:09:24

@MagicKind 感觉前面那一步应该可以用不做, 只改 m25p80.c 就可以了

#46 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 请问tiny200 f1c200s 从spi nor启动,但是这个开发板没有卡检测引脚,我在tina3.5 linux里面应该如何检测卡插入 » 2021-03-30 14:49:11

无根浮萍
回复: 1

请问tiny200 f1c200s 从spi nor启动,但是这个开发板没有卡检测引脚,我在tina3.5 linux里面应该如何检测卡插入

#47 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志Tina开发的朋友们, 一个百思不得其解shell脚本问题请教大家 » 2021-03-30 11:19:28

研究了一下,


第①步会生成:

/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"

第②步不会

#48 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志Tina开发的朋友们, 一个百思不得其解shell脚本问题请教大家 » 2021-03-30 11:00:03

无根浮萍
回复: 3

①如果先输入 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 都不会执行



我上面两步有什么差异吗?

#49 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志 F1C200s Tina 修改 SPI NOR FLASH 芯片尺寸和分区大小 [分享] » 2021-03-30 09:41:20

通过这个实现文件系统初始化
[    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

#50 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志 F1C200s Tina 修改 SPI NOR FLASH 芯片尺寸和分区大小 [分享] » 2021-03-30 09:10:59

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可读写文件系统

#51 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志 F1C200s Tina 修改 SPI NOR FLASH 芯片尺寸和分区大小 [分享] » 2021-03-29 21:53:04

无根浮萍
回复: 9

修改 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"

#55 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux » 2021-03-25 16:37:14

看来, 对于linux kernel 来说, sys_config.fex 最终是生成了 dtb 文件, 继续研究 sys_config.fex 如何影响 u-boot的

#56 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux » 2021-03-25 16:32:27

执行 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>;
                        };

#57 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux » 2021-03-25 16:24:24

为了验证楼上的想法, 我把

./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 会不会跟着变化

#58 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux » 2021-03-25 16:20:00

./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 文件?

#59 Re: 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux » 2021-03-25 16:13:58

./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))

#60 全志 V3S/F1C100s/X3/D1/R329/AIC800 » 全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux » 2021-03-25 16:09:07

无根浮萍
回复: 17

请问全志官方tina linux sdk sys_config.fex 的 uart_debug_port 参数是如何影响uboot和linux

页脚

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

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