This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM625: am6254中断问题,驱动程序能找到设备树节点,但是获取中断引脚时候返回负值

Part Number: AM625
Other Parts Discussed in Thread: TSC2007

1.驱动代码
#include <asm/io.h>
#include <linux/of.h>
#include <linux/irq.h>
#include <linux/ide.h>
#include <linux/gpio.h>
#include <linux/cdev.h>
#include <linux/init.h>
#include <linux/wait.h>
#include <linux/poll.h>
#include <linux/fcntl.h>
#include <linux/delay.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/timer.h>
#include <asm/uaccess.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/of_irq.h>
#include <asm/mach/map.h>
#include <linux/of_gpio.h>
#include <linux/semaphore.h>
#include <linux/of_address.h>


#define INVAKEY 0XFF
#define KEY_NUM 1 /*中断数量1*/
#define KEY0VALUE 0X01
#define AM6254IRQ_CNT 1
#define AM6254IRQ_NAME "asyncnoti"


struct irq_keydesc{
int gpio;
int irqnum;
char name[10];
unsigned char value;
irqreturn_t(*handler)(int,void *);
};


struct am6254irq_dev{

int major;
int minor;
dev_t devid;
struct cdev cdev;
atomic_t keyvalue;
atomic_t releasekey;
struct class *class;
struct device *device;
struct device_node *nd;
struct timer_list timer;
unsigned char curkeynum;
wait_queue_head_t r_wait;
struct fasync_struct *async_queue;
struct irq_keydesc irq_keydesc[KEY_NUM];

};
struct am6254irq_dev am6254irq; /*声明中断结构体*/


static irqreturn_t key0_handler(int irq,void *dev_id){

unsigned char num; /*中断数量*/
unsigned char value; /*中断值*/
struct irq_keydesc *keydesc; /*中断数组*/

struct am6254irq_dev *dev = (struct am6254irq_dev*)dev_id;
//struct am6254irq_dev *dev = (struct am6254irq_dev *)arg;
dev->curkeynum = 0;
num = dev->curkeynum;
keydesc = &dev->irq_keydesc[num];

value = gpio_get_value(keydesc->gpio); /*获取值/判断值/加原子锁设置*/
if(value == 0){
atomic_set(&dev->keyvalue,keydesc->value);
}
else{
atomic_set(&dev->keyvalue,0x80|keydesc->value);
atomic_set(&dev->releasekey,1);
}
if(atomic_read(&dev->releasekey)){
if(dev->async_queue)
kill_fasync(&dev->async_queue,SIGIO,POLL_IN); /*释放异步通知*/
}
#if 0
if(atimic_read(&dev->releasekey)){
wake_up_interruptible(&dev->r_wait);
}
#endif

//dev->timer.data = (volatile long) dev_id;
//mod_timer(&dev->timer,jiffies+usecs_to_jiffies(100));

return IRQ_RETVAL(IRQ_HANDLED); /*返回中断处理值*/

}


void timer_function(unsigned long arg){

//unsigned char value;
//unsigned char num;
//struct irq_keydesc *keydesc;
//struct am6254irq_dev *dev = (struct am6254irq_dev *)arg;

//num = dev->curkeynum;
//keydesc = &dev->irq_keydesc[num];

/**
value = gpio_get_value(keydesc->gpio);
if(valude == 0){
atomic_set(&dev->keyvalue,keydesc->value);
}
else{
atomic_set(&dev->keyvalue,0x80|keydesc->value);
atomic_set(&dev->releasekey,1);
}
if(atomic_read(&dev->releasekey)){
if(dev->async_queue)
kill_fasync(&dev->async_queue,SIGIO,POLL_IN);
}
#if 0
if(atimic_read(&dev->releasekey)){
wake_up_interruptible(&dev->r_wait);
}
#endif
**/

}

static int keyio_init(void){

unsigned char i = 0;
char name[10];
int ret = 0;

am6254irq.nd = of_find_node_by_path("/btn6254"); /*找到根节点下btn6254*/
if(am6254irq.nd == NULL){
printk("am6254irq node not find!\r\n");
return -EINVAL;
}
//else{
// printk("am6254irq node find!\r\n");
//}

/*开发板上/dev能找asyncnoti这个驱动名称, /sys/firmware/devicetree/base能找到btn6254这个节点和属性,但是启动加载没有获取正确的中断值,获取值为负数*/
for(i = 0;i < KEY_NUM; i++){ /*通过of_get_named_gpio找到按键,编译的时候没错,烧写完启动日志里获取中断值为-517,报错时间0.907389*/
am6254irq.irq_keydesc[i].gpio= of_get_named_gpio(am6254irq.nd,"btn6254-gpio",i);
if(am6254irq.irq_keydesc[i].gpio < 0) {
printk("can not get key %d\r\n",i);
}
}

for(i = 0 ;i < KEY_NUM; i++){
memset(am6254irq.irq_keydesc[i].name,0,sizeof(name));
sprintf(am6254irq.irq_keydesc[i].name,"KEY%d",i);
gpio_request(am6254irq.irq_keydesc[i].gpio,name);
gpio_direction_input(am6254irq.irq_keydesc[i].gpio);
am6254irq.irq_keydesc[i].irqnum = irq_of_parse_and_map(am6254irq.nd,i);
#if 0
am6254irq.irqkeydesc[i].irqnum = gpio_to_irq(am6254irq.irqkeydesc[i].gpio);
#endif
}
am6254irq.irq_keydesc[0].handler = key0_handler;
am6254irq.irq_keydesc[0].value = KEY0VALUE;

for(i = 0 ;i < KEY_NUM; i++){
ret = request_irq(am6254irq.irq_keydesc[i].irqnum,am6254irq.irq_keydesc[i].handler,IRQF_TRIGGER_RISING,am6254irq.irq_keydesc[i].name,&am6254irq);
if(ret < 0 ){
printk("irq %d request failed!\r\n",am6254irq.irq_keydesc[i].irqnum);
return -EFAULT;
}
}

//init_timer(&am6254irq.timer);
//am6254irq.timer.function = timer_function;

init_waitqueue_head(&am6254irq.r_wait);
return 0 ;
}


static int am6254irq_open(struct inode *inode,struct file *filp){

filp->private_data = &am6254irq;
return 0;
}

static ssize_t am6254irq_read(struct file *filp,char __user *buf,size_t cnt,loff_t *offt){

int ret = 0;
unsigned char keyvalue = 0;
unsigned char releasekey = 0;
struct am6254irq_dev *dev = (struct am6254irq_dev *)filp->private_data;

if(filp->f_flags & O_NONBLOCK){
if(atomic_read(&dev->releasekey)==0)
return -EAGAIN;
}
else{
ret = wait_event_interruptible(dev->r_wait,atomic_read(&dev->releasekey));
if(ret){
goto wait_error;
}
}
keyvalue = atomic_read(&dev->keyvalue);
releasekey = atomic_read(&dev->releasekey);

if(releasekey){
if(keyvalue & 0x80){
keyvalue &= ~0x80;
ret = copy_to_user(buf,&keyvalue,sizeof(keyvalue));
}
else{
goto data_error;
}
atomic_set (&dev->releasekey,0);
}
else{
goto data_error;
}
return 0;
wait_error:
return ret;
data_error:
return -EINVAL;

}

unsigned int am6254irq_poll(struct file *filp,struct poll_table_struct *wait){

unsigned int mask = 0;
struct am6254irq_dev *dev = (struct am6254irq_dev *)filp->private_data;
poll_wait(filp,&dev->r_wait,wait);
if(atomic_read(&dev->releasekey)){
mask = POLL_IN | POLLRDNORM;
}
return mask;
}

static int am6254irq_fasync(int fd,struct file *filp,int on){

struct am6254irq_dev *dev = (struct am6254irq_dev *)filp->private_data;
return fasync_helper(fd,filp,on,&dev->async_queue);
}

static int am6254irq_release(struct inode * inode ,struct file *filp){
return am6254irq_fasync(-1,filp,0);
}

static struct file_operations am6254irq_fops = {

.owner = THIS_MODULE,
.open = am6254irq_open,
.read = am6254irq_read,
.poll = am6254irq_poll,
.fasync = am6254irq_fasync,
.release = am6254irq_release,

};


static int __init am6254irq_init(void){

/*1.create device ID*/
if(am6254irq.major){
am6254irq.devid = MKDEV(am6254irq.major,0);
register_chrdev_region(am6254irq.devid,AM6254IRQ_CNT,AM6254IRQ_NAME);
}
else{
alloc_chrdev_region(&am6254irq.devid,0,AM6254IRQ_CNT,AM6254IRQ_NAME);
am6254irq.major = MAJOR(am6254irq.devid);
am6254irq.minor = MINOR(am6254irq.devid);
}

/*2.Insert char device */
cdev_init(&am6254irq.cdev,&am6254irq_fops);
cdev_add(&am6254irq.cdev, am6254irq.devid,AM6254IRQ_CNT);

/*3.create class*/
am6254irq.class = class_create(THIS_MODULE,AM6254IRQ_NAME);
if(IS_ERR(am6254irq.class)){
return PTR_ERR(am6254irq.class);
}

/*4.create device*/
am6254irq.device = device_create(am6254irq.class,NULL,am6254irq.devid,NULL, AM6254IRQ_NAME);
if (IS_ERR(am6254irq.device)){
return PTR_ERR(am6254irq.device);
}

/*5.init irq*/
atomic_set(&am6254irq.keyvalue,INVAKEY);
atomic_set(&am6254irq.releasekey,0);
keyio_init();
return 0;
}

static void __exit am6254irq_exit(void){

unsigned i = 0;
del_timer_sync(&am6254irq.timer);

for(i = 0; i < KEY_NUM; i++ ){
free_irq(am6254irq.irq_keydesc[i].irqnum,&am6254irq);
gpio_free(am6254irq.irq_keydesc[i].gpio);
}
cdev_del(&am6254irq.cdev);
unregister_chrdev_region(am6254irq.devid,AM6254IRQ_CNT);
device_destroy(am6254irq.class,am6254irq.devid);
class_destroy(am6254irq.class);
}

module_init(am6254irq_init);
module_exit(am6254irq_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("LEE");

2.设备树    

/dts-v1/;

#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include "k3-am625.dtsi"

/ {
compatible = "forlinx,am625x", "ti,am625-sk", "ti,am625";
model = "Forlinx AM62xx";

chosen {
stdout-path = "serial2:115200n8";
bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
};

memory@80000000 {
device_type = "memory";
/* 2G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x80000000>;

};

forlinx_control {
//"lvds" : duplicate mode, two lvds interfaces output the same image
//"lvds-dual" : lvds dual-channel, two lvds interfaces make one image
//"lvds" "lvds-dual" only available on video-vp0

//"rgb" : rgb interface output 1024x600 image
//"rgb800x480" : rgb interface output 800x480 image
//"rgb" "rgb800x480" only available on video-vp1

//"disabled" : lvds or rgb interface disable
//others keys are considered as interface disabled

//other resolutions modifiy OK6254-C-lvds.dts or OK6254-C-rgb.dts panel timmings, and use "lvds" or "rgb" keys.

status = "disabled";
video-vp0 = "lvds"; //lvds lvds-dual disabled
video-vp1 = "rgb"; //rgb rgb800x480 disabled

};

reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;

secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
alignment = <0x1000>;
no-map;
};

secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
alignment = <0x1000>;
no-map;
};

main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa0000000 0x00 0x200000>;
no-map;
};

lpm_ctx_ddr: lpm-memory@a1000000 {
reg = <0x00 0xa1000000 0x00 0x40000>;
alignment = <0x1000>;
no-map;
};

mcu_m4fss_dma_memory_region: m4f-dma-memory@a4000000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa4000000 0x00 0x100000>;
no-map;
};

mcu_m4fss_memory_region: m4f-memory@a4100000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa4100000 0x00 0xf00000>;
no-map;
};
};

vcc_12v0: fixed-regulator-vcc12v0 {
compatible = "regulator-fixed";
regulator-name = "vcc_12v0";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
regulator-boot-on;
};

vcc_5v0: fixedregulator-vcc5v0 {
compatible = "regulator-fixed";
regulator-name = "vcc_5v0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&vcc_12v0>;
regulator-always-on;
regulator-boot-on;
};


vcc_3v3: fixedregulator-vcc3v3 {
compatible = "regulator-fixed";
regulator-name = "vcc_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc_5v0>;
regulator-always-on;
regulator-boot-on;
};

vdd_mmc1: fixed-regulator-sd {
compatible = "regulator-fixed";
regulator-name = "vdd_mmc1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3>;
};

net-5g-rst {
compatible = "regulator-fixed";
regulator-name = "net-5g-rst";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
enable-active-low;
regulator-boot-on;
regulator-always-on;
pinctrl-names = "default";
pinctrl-0 = <&net_5g_rst_gpio_default>;
status = "okay";
};

wlan_en: regulator-6 {
compatible = "regulator-fixed";
regulator-name = "wlan_en";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
enable-active-high;
regulator-always-on;
gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
};

vdd_sd_dv: gpio-regulator-sd-dv {
compatible = "regulator-gpio";
regulator-name = "RT9186";
pinctrl-names = "default";
pinctrl-0 = <&vdd_sd_dv_pins_default>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
vin-supply = <&vcc_5v0>;
gpios = <&main_gpio0 38 GPIO_ACTIVE_HIGH>;
states = <1800000 0x1>,
<3300000 0x0>;
};

leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&usr_led_pins_default>;

led-0 {
label = "heartbeat";
gpios = <&main_gpio0 42 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
function = LED_FUNCTION_HEARTBEAT;
default-state = "off";
};

//led-1 {
// label = "led1";
// gpios = <&main_gpio1 16 GPIO_ACTIVE_HIGH>;
// linux,default-trigger = "timer";
// led-pattern = <200 800>;
// default-state = "on";
//};

//led-2 {
// label = "led2";
// gpios = <&main_gpio1 17 GPIO_ACTIVE_HIGH>;
// linux,default-trigger = "timer";
// led-pattern = <300 700>;
// default-state = "on";
//};

//led-3 {
// label = "led3";
// gpios = <&main_gpio1 18 GPIO_ACTIVE_HIGH>;
// linux,default-trigger = "timer";
// led-pattern = <400 600>;
// default-state = "on";
//};

//led-4 {
// label = "led4";
// gpios = <&main_gpio1 19 GPIO_ACTIVE_HIGH>;
// linux,default-trigger = "timer";
// led-pattern = <500 500>;
// default-state = "on";
//};

};

//添加的设备树pinctrl的ctrl部分

btn6254{
compatible = "btn6254";
pinctrl-names = "default";

pinctrl-0 = <&usr_btn6254_pins_default>;
btn6254-gpio = <&main_gpio1 16 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&main_gpio1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;

default-state = "okay";
};

keys {
};

sound {
status = "okay";
compatible = "simple-audio-card";
simple-audio-card,name = "OK6254";
simple-audio-card,widgets =
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Headphone Jack", "LOUT1",
"Headphone Jack", "ROUT1";
simple-audio-card,format = "i2s";

simple-audio-card,cpu {
system-clock-frequency = <11289600>;
sound-dai = <&mcasp0>;
};

sound_master:simple-audio-card,codec {
sound-dai = <&es8388>;
};
};

clk_ov5645_fixed: clk_ov5645_fixed {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
};

clk_es8388_fixed: clk_es8388_fixed {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <11289600>;
};

};

&main_pmx0 {
gt911_pins_default:gt911-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x01c, PIN_INPUT, 7) /* J23 OSPI0_D4.GPIO0_7*/
AM62X_IOPAD(0x020, PIN_OUTPUT, 7) /* J25 OSPI0_D5.GPIO0_8*/
>;

};

gt928_pins_default:gt928-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x024, PIN_INPUT, 7) /* H25 OSPI0_D6.GPIO0_9*/
AM62X_IOPAD(0x028, PIN_OUTPUT, 7) /* J22 OSPI0_D7.GPIO0_10*/
>;
};

tsc_2007_pins_default:tsc2007-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1b4, PIN_INPUT, 7) /* A13 SPI0_CS0.GPIO1_15*/
>;
};
main_uart0_pins_default: main-uart0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14) UART0_RXD */
AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14) UART0_TXD */
>;
};

main_uart1_pins_default: main-uart1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1ac, PIN_INPUT, 2) /* (E19) MCASP0_AFSR.UART1_RXD */
AM62X_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (A20) MCASP0_ACLKR.UART1_TXD */
>;
};

main_uart5_pins_default: main-uart5-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x08, PIN_INPUT, 5) /* (J24) OSPI0_DQS.UART5_CTSn */
AM62X_IOPAD(0x04, PIN_OUTPUT, 5) /* (G25) OSPI0_LBCLKO.UART5_RTSn */
AM62X_IOPAD(0x34, PIN_INPUT, 5) /* (H21) OSPI0_CSn2.UART5_RXD */
AM62X_IOPAD(0x38, PIN_OUTPUT, 5) /* (E24) OSPI0_CSn3.UART5_TXD */
>;
};

main_i2c0_pins_default: main-i2c0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1e0, PIN_INPUT_PULLUP, 0) /* (B16) I2C0_SCL */
AM62X_IOPAD(0x1e4, PIN_INPUT_PULLUP, 0) /* (A16) I2C0_SDA */
>;
};

main_i2c1_pins_default: main-i2c1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */
AM62X_IOPAD(0x1ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */
>;
};

main_i2c2_pins_default: main-i2c2-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x0b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */
AM62X_IOPAD(0x0b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */
>;
};

main_mmc0_pins_default: main-mmc0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x220, PIN_INPUT_PULLUP, 0) /* (Y3) MMC0_CMD */
AM62X_IOPAD(0x218, PIN_INPUT_PULLDOWN, 0) /* (AB1) MMC0_CLK */
AM62X_IOPAD(0x214, PIN_INPUT_PULLUP, 0) /* (AA2) MMC0_DAT0 */
AM62X_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */
AM62X_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */
AM62X_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (Y4) MMC0_DAT3 */
AM62X_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */
AM62X_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
AM62X_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
AM62X_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
>;
};

main_mmc1_pins_default: main-mmc1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x23c, PIN_INPUT_PULLUP, 0) /* (A21) MMC1_CMD */
AM62X_IOPAD(0x234, PIN_INPUT_PULLDOWN, 0) /* (B22) MMC1_CLK */
AM62X_IOPAD(0x230, PIN_INPUT_PULLUP, 0) /* (A22) MMC1_DAT0 */
AM62X_IOPAD(0x22c, PIN_INPUT_PULLUP, 0) /* (B21) MMC1_DAT1 */
AM62X_IOPAD(0x228, PIN_INPUT_PULLUP, 0) /* (C21) MMC1_DAT2 */
AM62X_IOPAD(0x224, PIN_INPUT_PULLUP, 0) /* (D22) MMC1_DAT3 */
AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 0) /* (D17) MMC1_SDCD */
>;
};

main_mmc2_pins_default: main-mmc2-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x120, PIN_INPUT_PULLUP, 0) /* (C24) MMC2_CMD */
AM62X_IOPAD(0x118, PIN_INPUT_PULLDOWN, 0) /* (D25) MMC2_CLK */
AM62X_IOPAD(0x114, PIN_INPUT_PULLUP, 0) /* (B24) MMC2_DAT0 */
AM62X_IOPAD(0x110, PIN_INPUT_PULLUP, 0) /* (C25) MMC2_DAT1 */
AM62X_IOPAD(0x10c, PIN_INPUT_PULLUP, 0) /* (E23) MMC2_DAT2 */
AM62X_IOPAD(0x108, PIN_INPUT_PULLUP, 0) /* (D24) MMC2_DAT3 */
AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
>;
};


usr_led_pins_default: usr-led-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x0ac, PIN_OUTPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */
//AM62X_IOPAD(0x1b8, PIN_OUTPUT, 7) /* (C13) SPI0_CS1.GPIO1_16 */
//AM62X_IOPAD(0x1bc, PIN_OUTPUT, 7) /* (A14) SPI0_CLK.GPIO1_17*/
//AM62X_IOPAD(0x1c0, PIN_OUTPUT, 7) /* (B13) SPI0_D0.GPIO1_18 */
//AM62X_IOPAD(0x1c4, PIN_OUTPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */
>;
};

//添加的pinctrl部分,的pin部分

usr_btn6254_pins_default: usr-btn6254-pins-default{
pinctrl-single,pins = <
AM62X_IOPAD(0X1b8,PIN_INPUT,7)
>;
};

main_usb1_pins_default: main-usb1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */
>;
};

main_usb0_gpio_pins_default: main-usb0-gpio-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x094, PIN_INPUT, 7) /* (N20) GPMC0_BE1n.GPIO0_36 */
AM62X_IOPAD(0x254, PIN_OUTPUT, 0) /* (C20) USB0_DRVVBUS */
>;
};

main_mdio1_pins_default: main_mdio1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */
AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */
>;
};

main_rgmii1_pins_default: main-rgmii1-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x14c, PIN_INPUT, 0) /* (AB17) RGMII1_RD0 */
AM62X_IOPAD(0x150, PIN_INPUT, 0) /* (AC17) RGMII1_RD1 */
AM62X_IOPAD(0x154, PIN_INPUT, 0) /* (AB16) RGMII1_RD2 */
AM62X_IOPAD(0x158, PIN_INPUT, 0) /* (AA15) RGMII1_RD3 */
AM62X_IOPAD(0x148, PIN_INPUT, 0) /* (AD17) RGMII1_RXC */
AM62X_IOPAD(0x144, PIN_INPUT, 0) /* (AE17) RGMII1_RX_CTL */
AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0 */
AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1 */
AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2 */
AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3 */
AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC */
AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */
>;
};

main_rgmii2_pins_default: main-rgmii2-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */
AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */
AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */
AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */
AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */
AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */
AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */
AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */
AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */
AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */
AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */
AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */
>;
};

phy_reset_pins_default: phy-reset-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x090, PIN_OUTPUT, 7) /* (M24) GPMC0_BE0n_CLE.GPIO0_35 */
AM62X_IOPAD(0x0a4, PIN_OUTPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */
>;
};


main_mcasp0_pins_default: main-mcasp0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1d4, PIN_INPUT, 5) /* (B15) UART0_RTSn.AUDIO_EXT_REFCLK1 */

AM62X_IOPAD(0x1a4, PIN_OUTPUT, 0) /* (B20) MCASP0_ACLKX */
AM62X_IOPAD(0x1a8, PIN_OUTPUT, 0) /* (D20) MCASP0_AFSX */
AM62X_IOPAD(0x198, PIN_OUTPUT, 0) /* (A19) MCASP0_AXR2 */
AM62X_IOPAD(0x194, PIN_INPUT, 0) /* (B19) MCASP0_AXR3 */
>;
};

main_dss0_pins_default: main-dss0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x0b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
AM62X_IOPAD(0x0bc, PIN_OUTPUT, 0) /* (V24) VOUT0_DATA1 */
AM62X_IOPAD(0x0e0, PIN_OUTPUT, 0) /* (V20) VOUT0_DATA10 */
AM62X_IOPAD(0x0e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11 */
AM62X_IOPAD(0x0e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12 */
AM62X_IOPAD(0x0ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13 */
AM62X_IOPAD(0x0f0, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA14 */
AM62X_IOPAD(0x0f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15 */
AM62X_IOPAD(0x0c0, PIN_OUTPUT, 0) /* (W25) VOUT0_DATA2 */
AM62X_IOPAD(0x0c4, PIN_OUTPUT, 0) /* (W24) VOUT0_DATA3 */
AM62X_IOPAD(0x0c8, PIN_OUTPUT, 0) /* (Y25) VOUT0_DATA4 */
AM62X_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (Y24) VOUT0_DATA5 */
AM62X_IOPAD(0x0d0, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA6 */
AM62X_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7 */
AM62X_IOPAD(0x0d8, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA8 */
AM62X_IOPAD(0x0dc, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA9 */
AM62X_IOPAD(0x0fc, PIN_OUTPUT, 0) /* (Y20) VOUT0_DE */
AM62X_IOPAD(0x0f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC */
AM62X_IOPAD(0x104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK */
AM62X_IOPAD(0x100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC */
>;
};
oldi0_pins_default: oldi0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
AM62X_IOPAD(0x25c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
AM62X_IOPAD(0x268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
AM62X_IOPAD(0x264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
AM62X_IOPAD(0x270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
AM62X_IOPAD(0x26c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
AM62X_IOPAD(0x278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
AM62X_IOPAD(0x274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
AM62X_IOPAD(0x280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
AM62X_IOPAD(0x27c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
AM62X_IOPAD(0x288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
AM62X_IOPAD(0x284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
AM62X_IOPAD(0x290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
AM62X_IOPAD(0x28c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
AM62X_IOPAD(0x298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
AM62X_IOPAD(0x294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
AM62X_IOPAD(0x2a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
AM62X_IOPAD(0x29c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
AM62X_IOPAD(0x2a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
AM62X_IOPAD(0x2a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
>;
};

ospi0_pins_default: ospi0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK */
AM62X_IOPAD(0x02c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */
AM62X_IOPAD(0x00c, PIN_INPUT, 0) /* (E25) OSPI0_D0 */
AM62X_IOPAD(0x010, PIN_INPUT, 0) /* (G24) OSPI0_D1 */
AM62X_IOPAD(0x014, PIN_INPUT, 0) /* (F25) OSPI0_D2 */
AM62X_IOPAD(0x018, PIN_INPUT, 0) /* (F24) OSPI0_D3 */
>;
};

vdd_sd_dv_pins_default: vdd-sd-dv-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x09c, PIN_OUTPUT, 7) /* (V25) GPMC0_WAIT0.GPIO0_38 */
>;
};

wifi_enable_h: wifi-enable-h {
pinctrl-single,pins = <
AM62X_IOPAD(0x124, PIN_OUTPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */
>;
};

net_5g_rst_gpio_default: net-5g-rst-gpio-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x07C, PIN_OUTPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */
>;
};

main_mcan0_pins_default: main-mcan0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x1dc, PIN_INPUT, 0) /* (E15) MCAN0_RX */
AM62X_IOPAD(0x1d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */
>;
};

ov5640_pins_default: ov5640-pins-default{
pinctrl-single,pins = <
AM62X_IOPAD(0x030, PIN_OUTPUT, 7) /* (G21) CSI_RESET.GPIO0_12 */
AM62X_IOPAD(0x128, PIN_OUTPUT, 7) /* (B23) CSI_PWDN.GPIO0_72 */
>;
};
};

&mcu_pmx0 {
mcu_i2c0_pins_default: mcu-i2c0-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x044, PIN_INPUT_PULLUP, 0) /* (A8) MCU_I2C0_SCL */
AM62X_MCU_IOPAD(0x048, PIN_INPUT_PULLUP, 0) /* (D10) MCU_I2C0_SDA */
>;
};

mcu_mcan0_pins_default: mcu-mcan0-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x038, PIN_INPUT, 0) /* (B3) MCU_MCAN0_RX */
AM62X_MCU_IOPAD(0x034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */
>;
};

mcu_uart0_pins_default: mcu-uart0-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x014, PIN_INPUT, 0) /* (B5) MCU_UART0_RXD */
AM62X_MCU_IOPAD(0x018, PIN_OUTPUT, 0) /* (A5) MCU_UART0_TXD */
>;
};

wkup_i2c0_pins_default: wkup-i2c0-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x04c, PIN_INPUT_PULLUP, 0) /* (B9) WKUP_I2C0_SCL */
AM62X_MCU_IOPAD(0x050, PIN_INPUT_PULLUP, 0) /* (A9) WKUP_I2C0_SDA */
>;
};

wkup_uart0_pins_default: wkup-uart0-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (B4) WKUP_UART0_RXD */
AM62X_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (C5) WKUP_UART0_TXD */
>;
};

mcu_gpio_led_pins_default: mcu-gpio-led-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x001c, PIN_OUTPUT, 7) /* (A6) MCU_UART0_CTSn.MCU_GPIO0_7 */
AM62X_MCU_IOPAD(0x0020, PIN_OUTPUT, 7) /* (B6) MCU_UART0_RTSn.MCU_GPIO0_8 */
AM62X_MCU_IOPAD(0x002c, PIN_OUTPUT, 7) /* (C6) WKUP_UART0_CTSn.MCU_GPIO0_11 */
AM62X_MCU_IOPAD(0x0030, PIN_OUTPUT, 7) /* (A4) WKUP_UART0_RTSn.MCU_GPIO0_12 */
>;
};

mcu_gpio_key_pin_default: mcu-gpio-key-pin-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x040, PIN_INPUT, 7) /* (D4) MCU_GPIO0_16 */
AM62X_MCU_IOPAD(0x03C, PIN_OUTPUT, 7) /* (E5) MCU_GPIO0_15 */
>;
};

mcu_spi0_pins_default: mcu-spi0-pins-default {
pinctrl-single,pins = <
AM62X_MCU_IOPAD(0x008, PIN_INPUT, 0) /* (A7) MCU_SPI0_CLK */
AM62X_MCU_IOPAD(0x000, PIN_OUTPUT, 0) /* (E8) MCU_SPI0_CS0 */
AM62X_MCU_IOPAD(0x004, PIN_OUTPUT, 0) /* (B8) MCU_SPI0_CS1 */
AM62X_MCU_IOPAD(0x00c, PIN_INPUT, 0) /* (D9) MCU_SPI0_D0 */
AM62X_MCU_IOPAD(0x010, PIN_INPUT, 0) /* (C9) MCU_SPI0_D1 */
>;
};
};

&mcu_spi0 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_spi0_pins_default>;
status = "okay";

spidev1: spi@0 {
reg = <0>;
compatible = "rohm,dh2228fv";
spi-max-frequency = <40000000>;
};
};

/* wkup_uart0 is reserved for firmware usage */
&wkup_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&wkup_uart0_pins_default>;
/* WKUP UART0 is used by DM firmware */
status = "okay";
};

&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins_default>;
};

&main_uart1 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart1_pins_default>;
/* Main UART1 is used by TIFS firmware */
status = "okay";
};

&main_uart2 {
status = "disabled";
};

&main_uart3 {
status = "disabled";
};

&main_uart4 {
status = "disabled";
};

&main_uart5 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart5_pins_default>;
status = "okay";
};

&main_uart6 {
status = "disabled";
};

&wkup_i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&wkup_i2c0_pins_default>;
status = "okay";
};

&mcu_i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_i2c0_pins_default>;
status = "okay";
};

&main_i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
status = "disabled";
};

&main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <400000>;

ov5645: camera@3c {
compatible = "ovti,ov5645";
reg = <0x3c>;
pinctrl-names = "default";
pinctrl-0 = <&ov5640_pins_default>;
clocks = <&clk_ov5645_fixed>;
clock-names = "xclk";
clock-frequency = <24000000>;
enable-gpios = <&main_gpio0 72 GPIO_ACTIVE_HIGH>;
reset-gpios = <&main_gpio0 12 GPIO_ACTIVE_LOW>;
port {
csi2_cam0: endpoint {
remote-endpoint = <&csi2rx0_in_sensor>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};


tsc2007:tsc2007@48 {
compatible = "ti,tsc2007";
reg = <0x48>;
pinctrl-names = "default";
pinctrl-0 = <&tsc_2007_pins_default>;
interrupt-parent = <&main_gpio1>;
interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
gpios = <&main_gpio1 15 GPIO_ACTIVE_HIGH>;
touchscreen-size-x = <4000>;
touchscreen-size-y = <4000>;
ti,x-plate-ohms = <180>;
};


gt911: gt911_ts@5d {
compatible = "goodix,gt911";
reg = <0x5d>;
pinctrl-names = "default";
pinctrl-0 = <&gt911_pins_default>;
interrupt-parent = <&main_gpio0>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&main_gpio0 7 GPIO_ACTIVE_HIGH>;
reset-gpios = <&main_gpio0 8 GPIO_ACTIVE_HIGH>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
touchscreen-inverted-x;
touchscreen-inverted-y;
status = "okay";
};

};

&main_i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
clock-frequency = <400000>;


es8388: es8388@10 {
compatible = "everest,es8388";
reg = <0x10>;
#sound-dai-cells = <0>;
clocks = <&clk_es8388_fixed>;
};

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

gt928: gt928_ts@14 {
compatible = "goodix,gt928";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&gt928_pins_default>;
interrupt-parent = <&main_gpio0>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
irq-gpios = <&main_gpio0 9 GPIO_ACTIVE_HIGH>;
reset-gpios = <&main_gpio0 10 GPIO_ACTIVE_HIGH>;
touchscreen-size-x = <1280>;
touchscreen-size-y = <800>;
touchscreen-swapped-x-y;
status = "okay";
};

};

&sdhci0 {
pinctrl-names = "default";
pinctrl-0 = <&main_mmc0_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};

&sdhci1 {
/* SD/MMC */
vmmc-supply = <&vdd_mmc1>;
vqmmc-supply = <&vdd_sd_dv>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};

&sdhci2 {
pinctrl-names = "default";
pinctrl-0 = <&main_mmc2_pins_default>;
vqmmc-supply = <&wlan_en>;
bus-width = <4>;
non-removable;
ti,fails-without-test-cd;
cap-power-off-card;
keep-power-in-suspend;
ti,driver-strength-ohm = <50>;
assigned-clocks = <&k3_clks 157 158>;
assigned-clock-parents = <&k3_clks 157 160>;
status = "okay";
};

&ospi0 {
pinctrl-names = "default";
pinctrl-0 = <&ospi0_pins_default>;

flash@0{
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <4>;
spi-rx-bus-width = <4>;
spi-max-frequency = <40000000>;
cdns,tshsl-ns = <60>;
cdns,tsd2d-ns = <60>;
cdns,tchsh-ns = <60>;
cdns,tslch-ns = <60>;
cdns,read-delay = <4>;
cdns,read-delay-dtr = <10>;
#address-cells = <1>;
#size-cells = <1>;
cdns,phy-mode;
};
};

&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&main_mdio1_pins_default
&main_rgmii1_pins_default
&main_rgmii2_pins_default
&phy_reset_pins_default
>;
};

&cpsw_port1 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy0>;
};

&cpsw_port2 {
phy-mode = "rgmii-rxid";
phy-handle = <&cpsw3g_phy1>;
};

&cpsw3g_mdio {
cpsw3g_phy0: ethernet-phy@1 {
reg = <1>;
ti,min-output-impedance; //check
rstn-gpios = <&main_gpio0 35 GPIO_ACTIVE_HIGH>;
};

cpsw3g_phy1: ethernet-phy@2 {
reg = <2>;
ti,min-output-impedance; //check
rstn-gpios = <&main_gpio0 40 GPIO_ACTIVE_HIGH>;
};
};

&usb1 {
dr_mode = "host";
pinctrl-names = "default";
pinctrl-0 = <&main_usb1_pins_default>;
/delete-property/ extcon;
};

&usbss0 {
id-gpios = <&main_gpio0 36 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&main_usb0_gpio_pins_default>;
ti,vbus-divider;
};

&usb0 {
dr_mode = "otg";
/* To indicate the connector can be used
* for both host as well as gadget mode
*/
usb-role-switch;
extcon = <&usbss0>;
};

&mailbox0_cluster0 {
mbox_m4_0: mbox-m4-0 {
ti,mbox-rx = <0 0 0>;
ti,mbox-tx = <1 0 0>;
};
};

&mcu_m4fss {
mboxes = <&mailbox0_cluster0 &mbox_m4_0>;
memory-region = <&mcu_m4fss_dma_memory_region>,
<&mcu_m4fss_memory_region>;
};

&rtc0 {
assigned-clocks = <&k3_clks 117 0>;
assigned-clock-parents = <&k3_clks 117 1>;
status = "disabled";
};
&mcan {
pinctrl-names = "default";
pinctrl-0 = <&main_mcan0_pins_default>;
status = "okay";
};

&mcasp0 {
pinctrl-names = "default";
pinctrl-0 = <&main_mcasp0_pins_default>;
status = "okay";
#sound-dai-cells = <0>;
op-mode = <0>; /* MCASP_IIS_MODE */
tdm-slots = <2>;
/* 16 serializers */
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
0 0 1 2
0 0 0 0
0 0 0 0
0 0 0 0
>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};

&main_rti0 {
status = "okay";
timeout-sec = <10>;
};

&csi0_port0 {
status = "okay";

csi2rx0_in_sensor: endpoint {
remote-endpoint = <&csi2_cam0>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};

&dss {
status = "disabled";
};

&epwm1 {
status = "disabled";
};

&dmsc {
ti,system-suspend-controller;
ti,ctx-memory-region = <&lpm_ctx_ddr>;
};

&mcasp1 {
status = "disabled";
};

&mcasp2 {
status = "disabled";
};

3.串口调试启动部分,出现错误部分红色字体,其他有的设备硬件没有驱动还没裁剪所以会报错,不必关心

U-Boot 2021.01-00002-g82f16a34 (Jul 04 2022 - 14:23:43 +0800)

SoC: AM62X SR1.0
Model: Forlinx OK62xx-C board
DRAM: 2 GiB
MMC: mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from MMC... OK
In: serial@2800000
Out: serial@2800000
Err: serial@2800000
49472 bytes read in 6 ms (7.9 MiB/s)
Saving Environment to MMC... Writing to MMC(0)... OK
Net: eth0: ethernet@8000000
Autoboot in 1 seconds
switch to partitions #0, OK
mmc0(part 0) is current device
SD/MMC found on device 0
Failed to load 'boot.scr'
Failed to load 'uEnv.txt'
3229627 bytes read in 147 ms (21 MiB/s)
20208128 bytes read in 117 ms (164.7 MiB/s)
49472 bytes read in 5 ms (9.4 MiB/s)
4595 bytes read in 5 ms (897.5 KiB/s)
4575 bytes read in 5 ms (893.6 KiB/s)
730 bytes read in 5 ms (142.6 KiB/s)
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 000000008fef0000, end 000000008fffffff ... OK

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.10.87 (root@ubuntu) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #3 SMP PREEMPT Wed Feb 22 16:27:20 CST 2023
[ 0.000000] Machine model: Forlinx AM62xx
[ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[ 0.000000] printk: bootconsole [ns16550a0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 2 MiB
[ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
[ 0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x000000009e77ffff]
[ 0.000000] node 0: [mem 0x000000009e780000-0x00000000a01fffff]
[ 0.000000] node 0: [mem 0x00000000a0200000-0x00000000a0ffffff]
[ 0.000000] node 0: [mem 0x00000000a1000000-0x00000000a103ffff]
[ 0.000000] node 0: [mem 0x00000000a1040000-0x00000000a3ffffff]
[ 0.000000] node 0: [mem 0x00000000a4000000-0x00000000a4ffffff]
[ 0.000000] node 0: [mem 0x00000000a5000000-0x00000000ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] cma: Reserved 512 MiB at 0x00000000c0000000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.2
[ 0.000000] percpu: Embedded 2 pages/cpu s49880 r8192 d73000 u131072
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] Built 1 zonelists, mobility grouping off. Total pages: 32736
[ 0.000000] Kernel command line: console=ttyS2,115200n8 eth0addr=f2:c0:0b:e5:4e:73 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=7bba7f5b-02 rw rootfstype=ext4 rootwait
[ 0.000000] Dentry cache hash table entries: 262144 (order: 5, 2097152 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 4, 1048576 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 1502080K/2097152K available (11392K kernel code, 1366K rwdata, 4544K rodata, 1984K init, 745K bss, 70784K reserved, 524288K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[ 0.000000] GICv3: 256 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[ 0.000000] ITS [mem 0x01820000-0x0182ffff]
[ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[ 0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @a0800000 (flat, esz 8, psz 64K, shr 0)
[ 0.000000] ITS: using cache flushing for cmd queue
[ 0.000000] GICv3: using LPI property table @0x00000000a1120000
[ 0.000000] GIC: using cache flushing for LPI property table
[ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000a1130000
[ 0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4c4 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[ 0.000005] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[ 0.008486] Console: colour dummy device 80x25
[ 0.013080] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[ 0.023765] pid_max: default: 32768 minimum: 301
[ 0.028559] LSM: Security Framework initializing
[ 0.033363] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[ 0.040957] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[ 0.051230] rcu: Hierarchical SRCU implementation.
[ 0.056476] Platform MSI: msi-controller@1820000 domain created
[ 0.062788] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[ 0.072037] EFI services will not be available.
[ 0.077063] smp: Bringing up secondary CPUs ...
[ 0.092966] Detected VIPT I-cache on CPU1
[ 0.093000] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[ 0.093015] GICv3: CPU1: using allocated LPI pending table @0x00000000a1140000
[ 0.093078] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.104362] Detected VIPT I-cache on CPU2
[ 0.104384] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[ 0.104394] GICv3: CPU2: using allocated LPI pending table @0x00000000a1150000
[ 0.104432] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.115625] Detected VIPT I-cache on CPU3
[ 0.115644] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[ 0.115653] GICv3: CPU3: using allocated LPI pending table @0x00000000a1160000
[ 0.115687] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.115757] smp: Brought up 1 node, 4 CPUs
[ 0.195479] SMP: Total of 4 processors activated.
[ 0.200295] CPU features: detected: 32-bit EL0 Support
[ 0.205560] CPU features: detected: CRC32 instructions
[ 0.218418] CPU: All CPU(s) started at EL2
[ 0.222631] alternatives: patching kernel code
[ 0.228470] devtmpfs: initialized
[ 0.238798] KASLR disabled due to lack of seed
[ 0.243616] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.253592] futex hash table entries: 1024 (order: 0, 65536 bytes, linear)
[ 0.262090] pinctrl core: initialized pinctrl subsystem
[ 0.268062] DMI not present or invalid.
[ 0.272611] NET: Registered protocol family 16
[ 0.284281] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[ 0.291928] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.299956] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.308692] thermal_sys: Registered thermal governor 'step_wise'
[ 0.308698] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.315498] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.329239] ASID allocator initialised with 65536 entries
[ 0.362756] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
[ 0.369645] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
[ 0.376411] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.384980] cryptd: max_cpu_qlen set to 1000
[ 0.393010] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
[ 0.402137] vcc_5v0: supplied by vcc_12v0
[ 0.406642] vcc_3v3: supplied by vcc_5v0
[ 0.411025] vdd_mmc1: supplied by vcc_3v3
[ 0.416130] iommu: Default domain type: Translated
[ 0.421462] SCSI subsystem initialized
[ 0.425460] usbcore: registered new interface driver usbfs
[ 0.431100] usbcore: registered new interface driver hub
[ 0.436559] usbcore: registered new device driver usb
[ 0.442193] mc: Linux media interface: v0.10
[ 0.446582] videodev: Linux video capture interface: v2.00
[ 0.452254] pps_core: LinuxPPS API ver. 1 registered
[ 0.457329] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.466678] PTP clock support registered
[ 0.470715] EDAC MC: Ver: 3.0.0
[ 0.474564] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
[ 0.481708] FPGA manager framework
[ 0.485276] Advanced Linux Sound Architecture Driver Initialized.
[ 0.492485] clocksource: Switched to clocksource arch_sys_counter
[ 0.499174] VFS: Disk quotas dquot_6.6.0
[ 0.503295] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[ 0.516073] NET: Registered protocol family 2
[ 0.520791] IP idents hash table entries: 32768 (order: 2, 262144 bytes, linear)
[ 0.529610] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
[ 0.538456] TCP established hash table entries: 16384 (order: 1, 131072 bytes, linear)
[ 0.546660] TCP bind hash table entries: 16384 (order: 2, 262144 bytes, linear)
[ 0.554399] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.561270] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
[ 0.568201] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
[ 0.575721] NET: Registered protocol family 1
[ 0.580700] RPC: Registered named UNIX socket transport module.
[ 0.586790] RPC: Registered udp transport module.
[ 0.591601] RPC: Registered tcp transport module.
[ 0.596410] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.603006] PCI: CLS 0 bytes, default 64
[ 0.608039] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[ 0.620689] Initialise system trusted keyrings
[ 0.625464] workingset: timestamp_bits=46 max_order=15 bucket_order=0
[ 0.636143] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.642746] NFS: Registering the id_resolver key type
[ 0.647951] Key type id_resolver registered
[ 0.652229] Key type id_legacy registered
[ 0.656387] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.663251] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.670836] jffs2: version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
[ 0.677424] 9p: Installing v9fs 9p2000 file system support
[ 0.719453] Key type asymmetric registered
[ 0.723652] Asymmetric key parser 'x509' registered
[ 0.728679] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 242)
[ 0.736245] io scheduler mq-deadline registered
[ 0.740884] io scheduler kyber registered
[ 0.747916] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[ 0.754284] pinctrl-single f4000.pinctrl: 171 pins, size 684
[ 0.762848] pwm-backlight backlight-rgb: supply power not found, using dummy regulator
[ 0.771398] pwm-backlight backlight-lvds: supply power not found, using dummy regulator
[ 0.785195] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.801747] brd: module loaded
[ 0.812047] loop: module loaded
[ 0.815742] esm 420000.esm: invalid format for forlinx,esm-pin, ret = -22
[ 0.823355] megasas: 07.714.04.00-rc1
[ 0.829814] libphy: Fixed MDIO Bus: probed
[ 0.835156] tun: Universal TUN/TAP device driver, 1.6
[ 0.840973] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[ 0.847405] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 0.853508] sky2: driver version 1.30
[ 0.858244] VFIO - User Level meta-driver version: 0.3
[ 0.864745] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.871436] ehci-pci: EHCI PCI platform driver
[ 0.876008] ehci-platform: EHCI generic platform driver
[ 0.881525] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.887875] ohci-pci: OHCI PCI platform driver
[ 0.892448] ohci-platform: OHCI generic platform driver
[ 0.898347] usbcore: registered new interface driver usb-storage
[ 0.904919] can not get key 0
[ 0.908039] ------------[ cut here ]------------
[ 0.912772] invalid GPIO -517
[ 0.915852] WARNING: CPU: 1 PID: 1 at drivers/gpio/gpiolib.c:122 gpio_to_desc+0xb0/0x100
[ 0.924120] Modules linked in:
[ 0.927245] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.10.87 #3
[ 0.933381] Hardware name: Forlinx AM62xx (DT)
[ 0.937920] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 0.944057] pc : gpio_to_desc+0xb0/0x100
[ 0.948061] lr : gpio_to_desc+0xb0/0x100
[ 0.952064] sp : ffff80001154fd00
[ 0.955445] x29: ffff80001154fd00 x28: 0000000000000000
[ 0.960874] x27: ffff800011081078 x26: ffff8000110004c0
[ 0.966303] x25: ffff8000110935c4 x24: ffff800010f8da20
[ 0.971732] x23: 0000000000000000 x22: ffff8000113e63e8
[ 0.977161] x21: ffff8000113d3870 x20: 00000000fffffdfb
[ 0.982590] x19: 0000000000000000 x18: 0000000000000010
[ 0.988018] x17: ffff800010812c28 x16: ffff8000108134c0
[ 0.993447] x15: ffff000020220530 x14: 00000000000000c4
[ 0.998876] x13: ffff000020220530 x12: 00000000ffffffea
[ 1.004305] x11: ffff8000112bac60 x10: ffff8000112a2c20
[ 1.009733] x9 : ffff8000112a2c78 x8 : 0000000000017fe8
[ 1.015162] x7 : c0000000ffffefff x6 : 0000000000000001
[ 1.020591] x5 : 0000000000000000 x4 : 0000000000000000
[ 1.026019] x3 : 00000000ffffffff x2 : ffff80001124abf0
[ 1.031447] x1 : 611c6ab7956e4a00 x0 : 0000000000000000
[ 1.036877] Call trace:
[ 1.039373] gpio_to_desc+0xb0/0x100
[ 1.043025] gpio_request+0x1c/0x48
[ 1.046593] am6254irq_init+0x16c/0x210
[ 1.050512] do_one_initcall+0x54/0x1b8
[ 1.054430] kernel_init_freeable+0x220/0x2a0
[ 1.058883] kernel_init+0x14/0x114
[ 1.062443] ret_from_fork+0x10/0x34
[ 1.066099] ---[ end trace 91e4dfcb7c8bd8d3 ]---
[ 1.070839] ------------[ cut here ]------------
[ 1.075560] invalid GPIO -517
[ 1.078619] WARNING: CPU: 1 PID: 1 at drivers/gpio/gpiolib.c:122 gpio_to_desc+0xb0/0x100
[ 1.086886] Modules linked in:
[ 1.090006] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 5.10.87 #3
[ 1.097562] Hardware name: Forlinx AM62xx (DT)
[ 1.102099] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[ 1.108236] pc : gpio_to_desc+0xb0/0x100
[ 1.112240] lr : gpio_to_desc+0xb0/0x100
[ 1.116243] sp : ffff80001154fd20
[ 1.119624] x29: ffff80001154fd20 x28: 0000000000000000
[ 1.125053] x27: ffff800011081078 x26: ffff8000110004c0
[ 1.130482] x25: ffff8000110935c4 x24: ffff800010f8da20
[ 1.135911] x23: 0000000000000000 x22: ffff8000113e63e8
[ 1.141340] x21: ffff8000113d3870 x20: 00000000fffffdfb
[ 1.146769] x19: 0000000000000000 x18: 0000000000000010
[ 1.152197] x17: ffff800010812c28 x16: ffff8000108134c0
[ 1.157626] x15: ffff000020220530 x14: 00000000000000e6
[ 1.163054] x13: ffff000020220530 x12: 00000000ffffffea
[ 1.168483] x11: ffff8000112bac60 x10: ffff8000112a2c20
[ 1.173912] x9 : ffff8000112a2c78 x8 : 0000000000017fe8
[ 1.179340] x7 : c0000000ffffefff x6 : 0000000000000001
[ 1.184769] x5 : 0000000000000000 x4 : 0000000000000000
[ 1.190198] x3 : 00000000ffffffff x2 : ffff80001124abf0
[ 1.195627] x1 : 611c6ab7956e4a00 x0 : 0000000000000000
[ 1.201055] Call trace:
[ 1.203549] gpio_to_desc+0xb0/0x100
[ 1.207200] am6254irq_init+0x174/0x210
[ 1.211116] do_one_initcall+0x54/0x1b8
[ 1.215032] kernel_init_freeable+0x220/0x2a0
[ 1.219481] kernel_init+0x14/0x114
[ 1.223042] ret_from_fork+0x10/0x34
[ 1.226689] ---[ end trace 91e4dfcb7c8bd8d4 ]---
[ 1.231443] irq: no irq domain found for gpio@601000 !
[ 1.236699] irq 0 request failed!
[ 1.240359] i2c /dev entries driver
[ 1.245101] sdhci: Secure Digital Host Controller Interface driver
[ 1.251427] sdhci: Copyright(c) Pierre Ossman
[ 1.256243] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.263322] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.269839] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[ 1.276582] usbcore: registered new interface driver usbhid
[ 1.282284] usbhid: USB HID core driver
[ 1.287282] optee: probing for conduit method.
[ 1.291881] optee: revision 3.12 (fdac2201)
[ 1.292430] optee: initialized driver
[ 1.302429] NET: Registered protocol family 17
[ 1.307132] 9pnet: Installing 9P2000 support
[ 1.311559] Key type dns_resolver registered
[ 1.316145] Loading compiled-in X.509 certificates
[ 1.328978] pwm-backlight backlight-rgb: supply power not found, using dummy regulator
[ 1.337746] pwm-backlight backlight-lvds: supply power not found, using dummy regulator
[ 1.353167] ti-sci 44043000.dmsc: Loading FS Stub directly to ATCM with no wait
[ 1.360730] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0015 '21.5.1--w2022.07-am62x (Terrifi')
[ 1.380089] ti-sci 44043000.dmsc: Direct firmware load for ti-sysfw/ti-fs-stub-firmware-am62x-gp.signed.bin failed with error -2
[ 1.392004] load_fw: TISCI LPM firmware cannot be loaded, file missing.
[ 1.964576] random: fast init done
[ 2.012462] davinci-mcasp 2b00000.mcasp: IRQ common not found
[ 2.062568] omap_i2c 4900000.i2c: bus 0 rev0.12 at 100 kHz
[ 2.072949] omap_i2c 2b200000.i2c: bus 1 rev0.12 at 100 kHz
[ 2.080232] ov5645 2-003c: supply vdddo not found, using dummy regulator
[ 2.087232] ov5645 2-003c: supply vdda not found, using dummy regulator
[ 2.094032] ov5645 2-003c: supply vddd not found, using dummy regulator
[ 2.100840] ov5645 2-003c: cannot get enable gpio
[ 2.106397] omap_i2c 20010000.i2c: bus 2 rev0.12 at 400 kHz
[ 2.114028] omap_i2c 20020000.i2c: bus 3 rev0.12 at 400 kHz
[ 2.120962] omap_i2c 20030000.i2c: bus 4 rev0.12 at 100 kHz
[ 2.132539] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
[ 2.146402] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[ 2.171392] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[ 2.228718] pwm-backlight backlight-rgb: supply power not found, using dummy regulator
[ 2.260098] pwm-backlight backlight-lvds: supply power not found, using dummy regulator
[ 2.279707] ti-bcdma 485c0100.dma-controller: Number of rings: 82
[ 2.309276] ti-bcdma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[ 2.320467] ti-pktdma 485c0000.dma-controller: Number of rings: 150
[ 2.486926] ti-pktdma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[ 2.497533] 4a00000.serial: ttyS1 at MMIO 0x4a00000 (irq = 15, base_baud = 3000000) is a 8250
[ 2.507688] 2b300000.serial: ttyS0 at MMIO 0x2b300000 (irq = 19, base_baud = 3000000) is a 8250
[ 2.517959] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 22, base_baud = 3000000) is a 8250
[ 2.526735] printk: console [ttyS2] enabled
[ 2.526735] printk: console [ttyS2] enabled
[ 2.535181] printk: bootconsole [ns16550a0] disabled
[ 2.535181] printk: bootconsole [ns16550a0] disabled
[ 2.546537] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 23, base_baud = 3000000) is a 8250
[ 2.556386] 2850000.serial: ttyS7 at MMIO 0x2850000 (irq = 24, base_baud = 3000000) is a 8250
[ 2.689562] spi spi0.0: setup: ignoring unsupported mode bits 200
[ 2.695939] spi-nor spi0.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[ 2.702823] spi-nor: probe of spi0.0 failed with error -2
[ 2.730303] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000002
[ 2.789291] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[ 2.822710] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
[ 2.828999] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[ 2.836126] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[ 2.846630] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
[ 2.929966] dwc3-ti f900000.dwc3-usb: error reading id-gpio property
[ 2.946154] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 2.951712] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[ 2.959833] xhci-hcd xhci-hcd.0.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
[ 2.969267] xhci-hcd xhci-hcd.0.auto: irq 258, io mem 0x31100000
[ 2.975515] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[ 2.983771] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.990983] usb usb1: Product: xHCI Host Controller
[ 2.995858] usb usb1: Manufacturer: Linux 5.10.87 xhci-hcd
[ 3.001335] usb usb1: SerialNumber: xhci-hcd.0.auto
[ 3.006649] hub 1-0:1.0: USB hub found
[ 3.010424] hub 1-0:1.0: 1 port detected
[ 3.014579] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[ 3.020073] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[ 3.027731] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[ 3.034298] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 3.042471] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
[ 3.050725] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.057936] usb usb2: Product: xHCI Host Controller
[ 3.062808] usb usb2: Manufacturer: Linux 5.10.87 xhci-hcd
[ 3.068291] usb usb2: SerialNumber: xhci-hcd.0.auto
[ 3.073516] hub 2-0:1.0: USB hub found
[ 3.077284] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
[ 3.117560] davinci-mcasp 2b00000.mcasp: IRQ common not found
[ 3.121905] mmc0: CQHCI version 5.10
[ 3.168109] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[ 3.270761] mmc0: Command Queue Engine enabled
[ 3.275240] mmc0: new HS200 MMC card at address 0001
[ 3.276501] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[ 3.280873] mmcblk0: mmc0:0001 88A398 7.28 GiB
[ 3.291517] mmcblk0boot0: mmc0:0001 88A398 partition 1 4.00 MiB
[ 3.297635] mmcblk0boot1: mmc0:0001 88A398 partition 2 4.00 MiB
[ 3.303741] mmcblk0rpmb: mmc0:0001 88A398 partition 3 4.00 MiB, chardev (235:0)
[ 3.312773] mmcblk0: p1 p2
[ 3.436752] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
[ 3.444943] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 3.452069] usb 1-1: Product: USB 2.0 Hub
[ 3.514441] hub 1-1:1.0: USB hub found
[ 3.518246] hub 1-1:1.0: 4 ports detected
[ 3.883729] rgb: supplied by vcc_5v0
[ 3.887858] lvds: supplied by vcc_5v0
[ 3.896931] ov5645 2-003c: supply vdddo not found, using dummy regulator
[ 3.903886] ov5645 2-003c: supply vdda not found, using dummy regulator
[ 3.910536] ov5645 2-003c: supply vddd not found, using dummy regulator
[ 3.984538] ov5645 2-003c: ov5645_write_reg: write reg error -121: reg=3103, val=11
[ 3.992187] ov5645 2-003c: could not set init registers
[ 3.997420] ov5645 2-003c: could not power up OV5645
[ 4.002614] ov5645: probe of 2-003c failed with error -121
[ 4.008778] panel-simple panel-rgb: Expected bpc in {6,8} but got: 0
[ 4.160502] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[ 4.168089] libphy: 8000f00.mdio: probed
[ 4.174578] mdio_bus 8000f00.mdio: MDIO device at address 2 is missing.
[ 4.181206] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver unknown
[ 4.193729] dwc3-ti f900000.dwc3-usb: Unbalanced pm_runtime_enable!
[ 4.211249] mmc1: CQHCI version 5.10
[ 4.218874] mmc2: CQHCI version 5.10
[ 4.250256] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[ 4.257664] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
[ 4.266193] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[ 4.306010] mmc1: new high speed SDHC card at address 0001
[ 4.312371] mmcblk1: mmc1:0001 SD16G 7.45 GiB
[ 4.321415] mmcblk1: p1
[ 4.442046] ALSA device list:
[ 4.445052] No soundcards found.
[ 4.557164] EXT4-fs (mmcblk0p2): recovery complete
[ 4.562148] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 4.570308] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 4.576782] devtmpfs: mounted
[ 4.580758] Freeing unused kernel memory: 1984K
[ 4.585319] Run /sbin/init as init process
[ 4.656071] systemd[1]: System time before build time, advancing clock.
[ 4.699556] NET: Registered protocol family 10
[ 4.705171] Segment Routing with IPv6
[ 4.718992] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[ 4.741132] systemd[1]: Detected architecture arm64.

Welcome to Arago 2021.09!

[ 4.781112] systemd[1]: Set hostname to <ok6254>.
[ 5.030770] systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock → /run/docker.sock; please update the unit file accordingly.
[ 5.122502] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.129446] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 5.141797] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[ 5.153819] systemd[1]: Created slice system-getty.slice.
[ OK ] Created slice system-getty.slice.
[ 5.176682] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.185019] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
[ 5.208742] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.216920] systemd[1]: Created slice User and Session Slice.
[ OK ] Created slice User and Session Slice.
[ 5.240990] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
[ 5.264821] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ OK ] Started Forward Password R…uests to Wall Directory Watch.
[ 5.288795] systemd[1]: Reached target Paths.
[ OK ] Reached target Paths.
[ 5.304646] systemd[1]: Reached target Remote File Systems.
[ OK ] Reached target Remote File Systems.
[ 5.324597] systemd[1]: Reached target Slices.
[ OK ] Reached target Slices.
[ 5.340618] systemd[1]: Reached target Swap.
[ OK ] Reached target Swap.
[ 5.359455] systemd[1]: Listening on RPCbind Server Activation Socket.
[ OK ] Listening on RPCbind Server Activation Socket.
[ 5.380707] systemd[1]: Reached target RPC Port Mapper.
[ OK ] Reached target RPC Port Mapper.
[ 5.405509] systemd[1]: Listening on Process Core Dump Socket.
[ OK ] Listening on Process Core Dump Socket.
[ 5.428987] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ OK ] Listening on initctl Compatibility Named Pipe.
[ 5.459142] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
[ 5.467966] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 5.489282] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 5.505411] systemd[1]: Listening on Network Service Netlink Socket.
[ OK ] Listening on Network Service Netlink Socket.
[ 5.529155] systemd[1]: Listening on udev Control Socket.
[ OK ] Listening on udev Control Socket.
[ 5.548949] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 5.574530] systemd[1]: Mounting Huge Pages File System...
Mounting Huge Pages File System...
[ 5.594294] systemd[1]: Mounting POSIX Message Queue File System...
Mounting POSIX Message Queue File System...
[ 5.622335] systemd[1]: Mounting Kernel Debug File System...
Mounting Kernel Debug File System...
[ 5.646733] systemd[1]: Mounting Temporary Directory (/tmp)...
Mounting Temporary Directory (/tmp)...
[ 5.675333] systemd[1]: Starting Create list of static device nodes for the current kernel...
Starting Create list of st…odes for the current kernel...
[ 5.706470] systemd[1]: Starting RPC Bind...
Starting RPC Bind...
[ 5.724934] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 5.741381] systemd[1]: Starting Journal Service...
Starting Journal Service...
[ 5.767993] systemd[1]: Starting Load Kernel Modules...
Starting Load Kernel Modules...
[ 5.784626] cryptodev: loading out-of-tree module taints kernel.
[ 5.791026] systemd[1]: Starting Remount Root and Kernel File Systems...
Starting Remount Root and Kernel File Systems 5.799102] cryptodev: driver 1.10 loaded.
[0m...
[ 5.817572] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 5.829959] systemd[1]: Starting udev Coldplug all Devices...
Starting udev Coldplug all Devices...
[ 5.859360] systemd[1]: Started RPC Bind.
[ OK ] Started RPC Bind.
[ 5.877482] systemd[1]: Started Journal Service.
[ OK ] Started Journal Service.
[ OK ] Mounted Huge Pages File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Kernel Debug File System.
[ OK ] Mounted Temporary Directory (/tmp).
[ OK ] Started Create list of sta… nodes for the current kernel.
[ OK ] Started Load Kernel Modules.
[ OK ] Started Remount Root and Kernel File Systems.
Mounting Kernel Configuration File System...
Starting Flush Journal to Persistent Storage...
[ 6.078198] systemd-journald[188]: Received client request to flush runtime journal.
Starting Apply Kernel Variables...
Starting Create Static Device Nodes in /dev...
[ OK ] Mounted Kernel Configuration File System.
[ OK ] Started Flush Journal to Persistent Storage.
[ OK ] Started Apply Kernel Variables.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Reached target Local File Systems (Pre).
Mounting /media/ram...
Mounting /var/volatile...
Starting udev Kernel Device Manager...
[ OK ] Mounted /media/ram.
[ OK ] Mounted /var/volatile.
[ OK ] Started udev Coldplug all Devices.
[ OK ] Started udev Kernel Device Manager.
Starting udev Wait for Complete Device Initialization...
Starting Load/Save Random Seed...
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Network Time Synchronization...
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Created slice system-systemd\x2dbacklight.slice.
Starting Load/Save Screen …of backlight:backlight-lvds...
Starting Load/Save Screen … of backlight:backlight-rgb...
[ 6.750137] CAN device driver interface
[ OK ] Started Network Time Synchronization.
[ OK ] Started Load/Save Screen B…ss of backlight:backlight-rgb.
[ 6.800151] tsc2007 2-0048: i2c io error: -121
[ 6.806121] Goodix-TS 2-005d: supply AVDD28 not found, using dummy regulator
[ 6.807391] m_can_platform 20701000.mcan: m_can device registered (irq=42, version=32)
[ 6.809708] tsc2007 2-0048: Failed to setup chip: -121
[ 6.826271] Goodix-TS 2-005d: supply VDDIO not found, using dummy regulator
[ 6.826590] tsc2007: probe of 2-0048 failed with error -121
[ OK ] Started Load/Save Screen B…s of backlight:backlight-lvds.
[ OK ] Reached target System Time Set.[ 6.862340] es8328 3-0010: supply DVDD not found, using dummy regulator

[ 6.870903] es8328 3-0010: supply AVDD not found, using dummy regulator
[ 6.878263] es8328 3-0010: supply PVDD not found, using dummy regulator
[ 6.885259] es8328 3-0010: supply HPVDD not found, using dummy regulator
[ OK ] Reached target System Time Synchronized.
[ 6.904197] rtc-pcf8563 3-0051: registered as rtc0
[ 6.910221] rtc-pcf8563 3-0051: setting system clock to 2022-03-16T16:55:08 UTC (1647449708)
[ 6.948733] Goodix-TS 2-005d: i2c test failed attempt 1: -121
[ 6.980696] Goodix-TS 2-005d: i2c test failed attempt 2: -121
[ 7.024829] Goodix-TS 2-005d: I2C communication failure: -121
[ 7.046693] Goodix-TS: probe of 2-005d failed with error -121
[ 7.068305] Goodix-TS 3-0014: supply AVDD28 not found, using dummy regulator
[ 7.084225] saul-crypto bus@f0000:crypto@40900000: invalid resource
[ 7.090778] saul-crypto: probe of bus@f0000:crypto@40900000 failed with error -22
[ 7.091435] Goodix-TS 3-0014: supply VDDIO not found, using dummy regulator
[ 7.222201] Goodix-TS 3-0014: i2c test failed attempt 1: -121
[ 7.244070] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
[ 7.252771] Goodix-TS 3-0014: i2c test failed attempt 2: -121
[ 7.270738] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
[ 7.289779] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
[ 7.292790] Goodix-TS 3-0014: I2C communication failure: -121
[ 7.315355] Goodix-TS: probe of 3-0014 failed with error -121
[ 7.357898] remoteproc remoteproc0: 5000000.m4fss is available
[ 7.368737] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
[ 7.378105] remoteproc remoteproc0: powering up 5000000.m4fss
[ 7.384060] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
[ 7.396648] remoteproc remoteproc0: request_firmware failed: -2
[ 7.524576] PVR_K: 214: Read BVNC 33.15.11.3 from HW device registers
[ 7.539115] PVR_K: 214: RGX Device registered with BVNC 33.15.11.3
[ 7.551291] [drm] Initialized pvr 1.15.6133109 20170530 for fd00000.gpu on minor 0
[ OK ] Reached target Hardware activated USB gadget.
[ 7.704615] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.724607] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.734336] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.760049] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.778134] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.787019] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.796429] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.806440] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.821797] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.831102] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.839629] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.850847] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.862063] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.875403] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.889916] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.901435] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.910592] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 1
[ 7.914745] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.933379] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.943805] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.943912] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944053] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944118] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944177] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944236] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944331] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944391] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944451] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944688] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.944789] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946451] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946619] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946693] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946790] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946852] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946915] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.946974] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.947035] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.947103] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.947166] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.947249] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 7.967724] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 7.967794] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 7.967851] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.023959] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024065] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024162] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024227] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024292] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024356] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024605] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024678] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024749] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024813] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024895] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.024960] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025023] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025093] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025157] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025220] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025406] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025471] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025549] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025613] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.025884] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.132816] es8328 3-0010: ASoC: error at soc_component_write_no_lock on es8328.3-0010: -121
[ 8.132891] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.133025] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.133096] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.133155] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.133211] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.133280] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.133339] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.281494] Console: switching to colour frame buffer device 128x37
[ 8.295866] remoteproc remoteproc1: 30074000.pru is available
[ 8.300764] remoteproc remoteproc2: 30078000.pru is available
[ 8.311120] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
[ 8.605609] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.766818] ti-bcdma 485c0100.dma-controller: get channel fail in udma_of_xlate.
[ 8.803735] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ OK ] Created slice system-systemd\x2dfsc[ 8.813367] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
k.slice.
[ 8.828249] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.837736] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.847032] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.856112] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ OK ] Found device /dev/mmcblk0p1.
[ 8.865437] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.879828] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.889262] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.889517] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.889673] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 8.889835] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890127] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890233] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890398] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890476] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890569] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890775] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.890873] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
Starting File System Check on /dev/mmcblk0p1 8.890962] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
0m...
[ 8.891067] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.891166] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.891316] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.891408] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.891522] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 8.948573] random: crng init done
[ 9.048287] random: 7 urandom warning(s) missed due to ratelimiting
[ OK ] Started Load/Save Random Seed.
[ OK ] Started File System Check on /dev/mmcblk0p1.
[ OK ] Found device /dev/mmcblk1p1.
Mounting /run/media/mmcblk0p1...
Starting File System Check on /dev/mmcblk1p1...
[ OK ] Mounted /run/media/mmcblk0p1.
[ OK ] Started File System Check on /dev/mmcblk1p1.
Mounting /run/media/mmcblk1p1...
[ OK ] Mounted /run/media/mmcblk1p1.
[ 10.005646] j721e-csi2rx: probe of 30102000.ticsi2rx failed with error -22
[ OK ] Started udev Wait for Complete Device Initialization.
[ OK ] Started Hardware RNG Entropy Gatherer Daemon.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily rotation of log files.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[ OK ] Listening on D-Bus System Message Bus Socket.
Starting Docker Socket for the API.
Starting sshd.socket.
Starting Reboot and dump vmcore via kexec...
[ OK ] Listening on Docker Socket for the API.
[ OK ] Listening on sshd.socket.
[ OK ] Started Reboot and dump vmcore via kexec.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting Save/Restore Sound Card State...
[ 10.363361] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.376591] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.385752] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ OK ] Started Job spooling tools.
[ 10.400535] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.409486] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.424706] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ OK ] Started autorun.[ 10.434037] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121

[ 10.452874] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.464546] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ OK ] Started Periodic Command Scheduler 10.476680] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[0m.
[ 10.493601] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.502934] es8328 3-0010: ASoC: error at snd_soc_component_update_bits on es8328.3-0010: -121
[ 10.517846] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ OK ] Started D-Bus System Message Bus.
[ 10.532806] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 10.544595] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 10.558050] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 10.567144] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
Starting Docker Application Container Engine...
[ 10.584861] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ 10.596620] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
Starting IPv6 Packet Filtering Framework..[ 10.609176] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
.
[ 10.639830] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
Starting IPv4 Packet Filtering Framework..[ 10.652920] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
.
[ 10.668899] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ OK ] Started irqbalance daemon.
[ 10.688636] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
Starting Lighttpd Daemon...
[ 10.714087] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
Starting rc.pvr.service...
Starting Login Service...
[ 10.768798] es8328 3-0010: ASoC: error at soc_component_read_no_lock on es8328.3-0010: -121
[ OK ] Started IPv6 Packet Filtering Framework.
[ OK ] Started Save/Restore Sound Card State.
[ OK ] Started IPv4 Packet Filtering Framework.
[ OK ] Started Lighttpd Daemon.
[ OK ] Reached target Network (Pre).
[ OK ] Reached target Sound Card.
Starting Network Service...
[ OK ] Started Network Service.
Starting Wait for Network to be Configured...
Starting Network Name Resolution...
[ 11.483567] am65-cpsw-nuss 8000000.ethernet: phy /bus@f0000/ethernet@8000000/mdio@f00/ethernet-phy@2 not found on slave 2
[ OK ] Started Login Service.
[ 11.564195] Generic PHY 8000f00.mdio:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=8000f00.mdio:01, irq=POLL)
[ 11.584318] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
[ OK ] Started rc.pvr.service.
Starting weston.service...
[ OK ] Started Network Name Resolution.
[ OK ] Reached target Network.
[ OK ] Reached target Host and Network Name Lookups.
Starting Avahi mDNS/DNS-SD Stack...
[ OK ] Started NFS status monitor for NFSv2/3 locking..
Starting Simple Network Ma…ent Protocol (SNMP) Daemon....
Starting Permit User Sessions...
[ OK ] Started Vsftpd ftp daemon.
[ OK ] Started Permit User Sessions.
[ OK ] Started Avahi mDNS/DNS-SD Stack.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttyS2.
[ OK ] Reached target Login Prompts.
Starting Synchronize System and HW clocks...
[ OK ] Started Simple Network Man…ement Protocol (SNMP) Daemon..
[ OK ] Started Synchronize System and HW clocks.
[ 13.281686] Initializing XFRM netlink socket
[ 13.618041] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
[ 13.626751] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 14.663421] process 'docker/tmp/qemu-check206690972/check' started with executable stack
[ OK ] Started Docker Application Container Engine.
[ OK ] Started weston.service.
Starting Matrix GUI...
Starting telnetd.service...
[ OK ] Started telnetd.service.
[ OK ] Started Matrix GUI.
[ 15.178001] PVR_K: 725: RGX Firmware image 'rgx.fw.33.15.11.3' loaded
[ 15.197170] PVR_K: 725: Shader binary image 'rgx.sh.33.15.11.3' loaded