diff --git a/projects/WeTek_Play/patches/linux/30-g18dtd.patch b/projects/WeTek_Play/patches/linux/30-g18dtd.patch index a2ef709fea..f1ec3ce8a4 100644 --- a/projects/WeTek_Play/patches/linux/30-g18dtd.patch +++ b/projects/WeTek_Play/patches/linux/30-g18dtd.patch @@ -2690,3 +2690,26 @@ diff -Naur a/arch/arm/boot/dts/amlogic/meson6_g18.dtd b/arch/arm/boot/dts/amlogi + }; +}; /* end of / */ + +--- a/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 00:19:11.729405484 +0100 ++++ b/arch/arm/boot/dts/amlogic/meson6_g18.dtd 2015-01-12 00:23:29.396031497 +0100 +@@ -1396,5 +1396,20 @@ + fe1_ts = <0>; + fe1_dev = <1>; + }; ++ ++/// *************************************************************************************** ++/// - DISP&MM-A/V Amvideocap ++//$$ MODULE = "DISP&MM-Amvideocap" ++//$$ DEVICE="amvideocap" ++//$$ L2 PROP_STR = "status" ++//$$ L3 PROP_U32 4 ="reg" ++ amvideocap{ ++ compatible = "amlogic,amvideocap"; ++ dev_name = "amvideocap.0"; ++ status = "okay"; ++ reserve-memory = <0x00a00000>; // 1920 * 1088 * 4 = 8,355,840 ++ reserve-iomap = "true"; ++ }; ++ + }; /* end of / */ + diff --git a/projects/WeTek_Play/patches/linux/70-remove-amvideocap-spam.patch b/projects/WeTek_Play/patches/linux/70-remove-amvideocap-spam.patch new file mode 100644 index 0000000000..ac3a45cb05 --- /dev/null +++ b/projects/WeTek_Play/patches/linux/70-remove-amvideocap-spam.patch @@ -0,0 +1,141 @@ +--- a/drivers/amlogic/amports/amvideocap.c 2015-01-12 19:17:17.003191369 +0100 ++++ b/drivers/amlogic/amports/amvideocap.c 2015-01-12 19:20:50.855003956 +0100 +@@ -163,13 +163,13 @@ + //printk("vf->type:0x%x\n", vf->type); + + if ((vf->type & VIDTYPE_VIU_422) == VIDTYPE_VIU_422) { +- printk("********************Into VIDTYPE_VIU_422*********************\n"); ++ //printk("********************Into VIDTYPE_VIU_422*********************\n"); + format = GE2D_FORMAT_S16_YUV422; + } else if ((vf->type & VIDTYPE_VIU_444) == VIDTYPE_VIU_444) { +- printk("********************Into VIDTYPE_VIU_444*********************\n"); ++ //printk("********************Into VIDTYPE_VIU_444*********************\n"); + format = GE2D_FORMAT_S24_YUV444; + } else if((vf->type & VIDTYPE_VIU_NV21) == VIDTYPE_VIU_NV21){ +- printk("********************Into VIDTYPE_VIU_NV21*********************\n"); ++ //printk("********************Into VIDTYPE_VIU_NV21*********************\n"); + format= GE2D_FORMAT_M24_NV21; + } + return format; +@@ -195,13 +195,13 @@ + printk("%s: failed to alloc y addr\n", __FUNCTION__); + return -1; + } +- printk("RGB_phy_addr:%x\n", (unsigned int)priv->phyaddr); ++ //printk("RGB_phy_addr:%x\n", (unsigned int)priv->phyaddr); + RGB_addr = (unsigned long)priv->vaddr; + if (!RGB_addr) { + printk("%s: failed to remap y addr\n", __FUNCTION__); + return -1; + } +- printk("RGB_addr:%x\n", (unsigned int)RGB_addr); ++ //printk("RGB_addr:%x\n", (unsigned int)RGB_addr); + + if(vf == NULL) { + printk("%s: vf is NULL\n", __FUNCTION__); +@@ -250,7 +250,7 @@ + canvas_read(y_index, &cs0); + canvas_read(u_index, &cs1); + canvas_read(v_index, &cs2); +- printk("y_index=[0x%x] u_index=[0x%x] cur_index:%x\n", y_index, u_index, cur_index); ++ //printk("y_index=[0x%x] u_index=[0x%x] cur_index:%x\n", y_index, u_index, cur_index); + ge2d_config.src_planes[0].addr = cs0.addr; + ge2d_config.src_planes[0].w = cs0.width; + ge2d_config.src_planes[0].h = cs0.height; +@@ -260,7 +260,7 @@ + ge2d_config.src_planes[2].addr = cs2.addr; + ge2d_config.src_planes[2].w = cs2.width; + ge2d_config.src_planes[2].h = cs2.height; +- printk("w=%d-height=%d cur_index:%x\n", cs0.width, cs0.height, cur_index); ++ //printk("w=%d-height=%d cur_index:%x\n", cs0.width, cs0.height, cur_index); + + ge2d_config.src_key.key_enable = 0; + ge2d_config.src_key.key_mask = 0; +@@ -282,7 +282,7 @@ + + + canvas_read(canvas_idx, &cd); +- printk("cd.addr:%x\n", (unsigned int)cd.addr); ++ //printk("cd.addr:%x\n", (unsigned int)cd.addr); + ge2d_config.dst_planes[0].addr = cd.addr; + ge2d_config.dst_planes[0].w = cd.width; + ge2d_config.dst_planes[0].h = cd.height; +@@ -349,7 +349,7 @@ + int curindex; + vframe_t *vf = vfput; + int ret = 0; +- printk("%s:start vf=%p,index=%x\n", __func__,vf,index); ++ //printk("%s:start vf=%p,index=%x\n", __func__,vf,index); + if (!vf) { + ret = amvideocap_capture_get_frame(priv, &vf, &curindex); + }else{ +@@ -358,7 +358,7 @@ + if (ret < 0 || !vf) { + return -EAGAIN; + } +- printk("%s: get vf type=%x\n", __func__,vf->type); ++ //printk("%s: get vf type=%x\n", __func__,vf->type); + + + #define CHECK_AND_SETVAL(val,want,def) (val)=(want)>0?(want):(def) +@@ -374,7 +374,7 @@ + amvideocap_capture_put_frame(priv, vf); + + if (!ret) { +- printk("%s: capture ok priv->want.fmt=%d\n", __func__,priv->want.fmt); ++ //printk("%s: capture ok priv->want.fmt=%d\n", __func__,priv->want.fmt); + priv->state = AMVIDEOCAP_STATE_FINISHED_CAPTURE; + priv->src.width=vf->width; + priv->src.height=vf->height; +@@ -387,7 +387,7 @@ + }else{ + priv->state = AMVIDEOCAP_STATE_ERROR; + } +- printk("amvideocap_capture_one_frame priv->state=%d\n", priv->state); ++ //printk("amvideocap_capture_one_frame priv->state=%d\n", priv->state); + return ret; + } + static int amvideocap_capture_one_frame_callback(unsigned long data, vframe_t *vfput, int index) +@@ -427,7 +427,7 @@ + } + } else { + ret = amvideocap_capture_one_frame(priv, NULL, 0); +- printk("amvideocap_capture_one_frame_wait ret=%d\n", ret); ++ //printk("amvideocap_capture_one_frame_wait ret=%d\n", ret); + } + } while (ret == -EAGAIN && time_before(jiffies, timeout)); + ext_register_end_frame_callback(NULL);/*del req*/ +@@ -606,7 +606,7 @@ + printk("set_cached: failed remap_pfn_range\n"); + return -EAGAIN; + } +- printk("amvideocap_mmap ok\n"); ++ //printk("amvideocap_mmap ok\n"); + return 0; + } + static ssize_t amvideocap_read(struct file *file, char __user *buf, size_t count, loff_t * ppos) +@@ -626,12 +626,12 @@ + waitdelay=file->f_flags & O_NONBLOCK ? HZ/100 : HZ * 10; + } + if(!pos){/*trigger a new capture,*/ +- printk("start amvideocap_read waitdelay=%d\n",waitdelay); ++ //printk("start amvideocap_read waitdelay=%d\n",waitdelay); + ret = amvideocap_capture_one_frame_wait(priv,waitdelay); +- printk("amvideocap_read=%d,priv->state=%d,priv->vaddr=%p\n", ret,priv->state,priv->vaddr); ++ //printk("amvideocap_read=%d,priv->state=%d,priv->vaddr=%p\n", ret,priv->state,priv->vaddr); + if ((ret == 0) && (priv->state==AMVIDEOCAP_STATE_FINISHED_CAPTURE) && (priv->vaddr != NULL)) { + int size = min((int)count, (priv->out.byte_per_pix * priv->out.width_aligned* priv->out.height)); +- printk("priv->out_width=%d priv->out_height=%d priv->outfmt_byteppix=%d, size=%d\n", priv->out.width,priv->out.height,priv->out.byte_per_pix,size); ++ //printk("priv->out_width=%d priv->out_height=%d priv->outfmt_byteppix=%d, size=%d\n", priv->out.width,priv->out.height,priv->out.byte_per_pix,size); + copied=copy_to_user(buf, priv->vaddr, size); + if(copied){ + printk("amvideocap_read %d copy_to_user failed \n",size); +@@ -646,7 +646,7 @@ + int maxsize = priv->out.byte_per_pix * priv->out.width_aligned* priv->out.height; + if(posvaddr+pos, rsize); + if(copied){ + printk("amvideocap_read11 %d copy_to_user failed \n",rsize);