soc

Utilities Zynq in a PL only configuration

帅比萌擦擦* 提交于 2021-01-14 02:47:52
Is it possible to utilize Zynq in a PL-only configuration? You don’t need to have the ARM instantiated in your design but nevertheless the ARM is always present to take care of the configuration task. The Boot ROM code will always get executed at POR and the hard PS will boot. Remember, Zynq is a standalone processor and does not require PL configuration as is needed for MicroBlaze. Here is what you need to do if you are using PL only: Create an FSBL for the board (FSBL is needed for loading the bitstream). If you already have an SDK project for this board for any reference design (just make

ARM/neon memcpy optimized for *uncached* memory?

ⅰ亾dé卋堺 提交于 2020-05-25 05:29:09
问题 I'm using a Xilinx Zynq 7000 ARM-based SoC. I'm struggling with DMA buffers (Need help mapping pre-reserved **cacheable** DMA buffer on Xilinx/ARM SoC (Zynq 7000)), so one thing I pursued was faster memcpy. I've been looking at writing a faster memcpy for ARM using Neon instructions and inline asm. Whatever glibc has, it's terrible, especially if we're copying from an ucached DMA buffer. I've put together my own copy function from various sources, including: Fast ARM NEON memcpy arm Inline

PCM data flow - 3 - ASoC codec driver

怎甘沉沦 提交于 2020-01-26 08:36:43
上一章提到codec_drv的几个组成部分,下面逐一介绍,基本是以内核文档Documentation/sound/alsa/soc/codec.txt中的内容为脉络来分析的。codec的作用,在概述中有说明,本章主要罗列下codec driver中重要的数据结构及注册流程。 Codec DAI and PCM configuration codec_dai和pcm配置信息通过结构体snd_soc_dai_driver描述,包括dai的能力描述和操作接口,snd_soc_dai_driver最终会被注册到asoc-core中。 /* * Digital Audio Interface Driver. * * Describes the Digital Audio Interface in terms of its ALSA, DAI and AC97 * operations and capabilities. Codec and platform drivers will register this * structure for every DAI they have. * This structure covers the clocking, formating and ALSA operations for each * interface. */ struct snd

udev rules

让人想犯罪 __ 提交于 2020-01-20 07:24:35
usblcom.rules 文件内容 SUBSYSTEMS=="usb",KERNELS=="1-1.2", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE:="0777", SYMLINK+="usbl_china" $sudo cp usblcom.rules /etc/udev/rules.d $lsusb pi@raspberrypi:~ $ ls -l /sys/class/tty/ttyU* lrwxrwxrwx 1 root root 0 Aug 18 19:16 /sys/class/tty/ttyUSB0 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0/tty/ttyUSB0 lrwxrwxrwx 1 root root 0 Aug 18 19:16 /sys/class/tty/ttyUSB1 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/ttyUSB1/tty/ttyUSB1 $ udevadm info -q path -a /dev/ttyUSB1 来源: CSDN 作者: powerfit 链接:

RK3288 dts和dtsi介绍

老子叫甜甜 提交于 2020-01-10 00:49:27
朱有鹏-触摸屏课堂笔记: 1.触摸屏分为电阻屏和电容屏 电阻屏:例如S3C2440芯片的SOC内部自带了TC控制器和A/D转换,该触摸屏驱动也就是SOC内部的 TC控制器的驱动 电容屏: 驱动方式,可以实现为: 1>MISC(杂散类设备,作为杂散类设备引入(系统))驱动,最终也是实现input子系统类驱动,才能用input子系统 往上上报数据。 2>platform平台类设备,用platform子系统来处理它,此情况只能用I2C子系统的方法来处理它。这种情况,对I2C 来说,整个的触摸屏设备其实就是一个I2C设备,I2C根本不管触摸屏是电阻/电容式,我们只认I2C,对于驱动来说只是 通过I2C接口来向I2C设备发送命令/接收数据,对于触摸屏的操作+A/D_TP芯片的实现完全不关心,我SOC只管I2C接口。 备注: TP是 Touch Panel触摸屏的意思。 触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。Samuel Hurst 博士在1971年发明了一个触摸传感器,这个传感器就是触控屏的雏形。三年后,他设计了第一款透明的触控屏。1977年,触控屏技术得到了很大的改善

高通-音频驱动程序

一笑奈何 提交于 2019-12-26 17:01:39
\kernel\sound\core\control.c \kernel\sound\core\ \kernel\sound\soc\codecs\Msm8x16-wcd.c 从上往下的大致流程: amixer-用户层 |->snd_ctl_ioctl-系统调用 |->snd_ctl_elem_write_user-内核钩子函数 |->snd_ctl_elem_wirte- |->snd_ctl_find_id-遍历kcontrol链表找到与给定id相匹配的kctl |->kctl->put()-调用kctl的成员函数put() |->snd_soc_put_volsw modem重启了的代码:\kernel\drivers\soc\qcom\smd.c 起始ioctl:\kernel\sound\core\control_compat.c snd_ctl_elem_write_user_compat >> snd_ctl_elem_write >> result = kctl->put(kctl, control); ADC1 Volume函数get put设置\kernel\sound\soc\codecs\msm8x16-wcd.c 最终读写寄存器函数:\kernel\sound\soc\soc-core.c 更往上:\kernel\sound\core\control.c:

高性能HC5808L 10W无线充SoC方案

霸气de小男生 提交于 2019-12-26 15:42:25
HC5808L 10W soc单芯片是一款高度集成的无线功率发射器SOC解决方案,包含数字微控制器和模拟前端(AFE)。AFE包括全桥功率mosfet、电流传感放大器、通信解调器、线性调节器和保护电路等功能,骊微电子HC5808L 10W无线充SoC方案由于元器件更少,具有高性能+低BOM成本等特点。 HC5808L 10W无线充soc芯片特征 ■ 4.0V至14.0V输入电压范围 ■ 支持5V/9V/12V输入 ■ 支持高达10W的输出功率 ■ 集成电压和电流解调 ■ 集成低rdson功率fet ■ 集成FET驱动器和引导电路 ■ 集成精确的FOD电流传感器 ■ 通过DP/DM支持高压请求 ■ 快速充电2.0/3.0 FCP AFC uvlo/ocp/otp ■ 3毫米x 3毫米FCQFN包装 HC5808L无线电源发射器soc单芯片采用紧凑型3 x 3 mm FCQFN包装,一颗芯片实现所有功能,集成度高,外围只需MOS和阻容器件,可有效控制成本和精简生产流程,降低BOM成本,骊微电子广泛应用于符合wpc标准的无线功率发射机、专有无线充电器和发射机、医疗和可穿戴应用等领域。 来源: 51CTO 作者: 骊微电子 链接: https://blog.51cto.com/14408612/2446403

数字SOC设计之低功耗设计入门(三)——系统与架构级低功耗设计

馋奶兔 提交于 2019-12-21 01:49:35
前面讲解了使用EDA工具(主要是power compiler)进行功耗分析的流程,这里我们将介绍在数字IC中进行 低功耗设计的方法 ,同时也结合EDA工具(主要是Design Compiler)如何实现。我们的讲解的低功耗设计主要是 自顶向下 的设计,也就是说,我们首先介绍在系统架构层面上如何进行低功耗设计(或者可以从哪些方面进行低功耗设计);然后我们在RTL层面和门级层面上介绍低功耗设计的方法,这两个种方法主要是依靠 RTL代码和Design Compiler实现的 ,这是我们前端设计人员进行低功耗设计与优化所需要知道的,我们会着重介绍;最后我们简单介绍在物理设计层次上面降低功耗的方法。今天我们记录系统与架构级的低功耗设计。 1.系统与架构级低功耗设计   系统与架构层次的低功耗设计,可以节省70%以上的功耗。这个层次上的设计往往是由系统和架构设计人员进行的,这些人员往往是有着丰富经验的设计人员。他们制定了低功耗设计方案,由下一级的设计人员(比如做前端设计、做Flow的人员)进行具体实现。下面就来介绍一下在系统架构方面,可以从哪些方面进行低功耗设计,由于我只是只菜鸟,因此这些内容只是我在前人的经验中进行总结学习的笔记,仅供参考。   (1)多电压设计技术(Multi-VDD) ①多电压设计技术介绍 从前面的功耗方程中,我们可以知道,电压与功耗有着密切的联系

创龙OMAPL138的SPI FLASH读写

半城伤御伤魂 提交于 2019-12-21 00:54:29
1. 目前最大的疑问是OMAPL138和DSP6748的DSP部分是完全一样的吗(虽然知道芯片完全是引脚兼容的)?因此现在使用OMAPL138的DSP内核去读写一下外部的SPI FLASH芯片,先看下原理图,可惜创龙核心板的原理图不开源,所以我肯定不买他们家的板子 2. 尤其是startware这个软件库,究竟是用在ARM还是DSP的怎么区分?看资料ARM似乎可以唤醒DSP核? 3. 心血来潮,测试一下,同一个工程是不是可以同时用在ARM和DSP内核上,只是用不用的GEL文件。经过测试发现,如果建立的工程,选的器件是DSP6748,那么生成的.out文件可以用于DSP核,如果选择的是ARM-OMAPL138那么生成的.out用于ARM核,原来是建立工程的时候选择是ARM核还是DSP核 4. 言归正传,本来是搞SPI FLASH的,话题跑远了 void SPIInterruptInit(void) { // 注册中断服务函数 IntRegister(C674X_MASK_INT4, SPIIsr); // 映射中断事件 IntEventMap(C674X_MASK_INT4, SYS_INT_SPI1_INT); // 使能可屏蔽中断 IntEnable(C674X_MASK_INT4); } /********************************************

数字SOC设计之低功耗设计入门(五)——RTL级低功耗设计(续)

≯℡__Kan透↙ 提交于 2019-12-20 17:33:03
二、RTL级低功耗设计(续)    前面一篇博文我记录了操作数隔离等低功耗设计,这里就主要介绍一下使用门控时钟进行低功耗设计。   (4)门控时钟   门控时钟在我的第一篇博客中有简单的描述,这里就进行比较详细的描述吧。我们主要学习门控时钟电路是什么、什么使用门控时钟、综合库里的门控时钟、如何使用门控时钟、对门控时钟的一些处理、手动插入门控时钟。我们重点介绍如何 使用门控时钟和门控时钟的处理 。 ①门控时钟概述   门控时钟有两种方案:一种直接针对寄存器的时钟进行门控,一种对模块级别的时钟进行门控。相比之下,直接对寄存器的时钟进行门控更为灵活。因为在很多时候,我们不能保证刚好将不需要门控的寄存器与需要门控的寄存器分配在不同的模块。因此我们主要介 绍寄存器级的门控时钟 。 ============================================================================= 下图是门控时钟的一个简单电路图:                上述电路图中,将 控制信号(EN) 直接与 时钟信号(CLK) 进行 与 操作,以完成门控。门控后的时钟信号GCLK送到寄存器阵列中。这样,当EN为0时,该时钟被关掉。相应的波形如下所示:          可以看出,如果EN信号不加控制,会导致门控时钟信号出现毛刺。时钟上的信号出现毛刺是非常危险的