linux-问题集(2、spi)

文章目录


前言

@和原子哥一起学习Linux

开发环境:I.MX6Ull开发板
参考内容:正点原子的驱动开发教程,并完成linux移植部分(或使用出厂版),使用自己移植的代码。

参考书籍:《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.6.pdf》

发现的问题

《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.6.pdf》的62.5.2的spi驱动中,缺少了对spi片选引脚的操作
1、在初始化中,获取片选脚

	int ret;
	/* 获取设备树中cs片选信号 */
	chr_dev_t.nd = of_find_node_by_path("/soc/aips-bus@02000000/spba-bus@02000000/ecspi@02010000");
	if(chr_dev_t.nd == NULL) {
		printk("ecspi3 node not find!\r\n");
		return -EINVAL;
	} 

	/* 2、 获取设备树中的gpio属性 */
	chr_dev_t.cs_gpio = of_get_named_gpio(chr_dev_t.nd, "cs-gpio", 0);
	if(chr_dev_t.cs_gpio < 0) {
		printk("can't get cs-gpio");
		return -EINVAL;
	}

	/* 3、设置GPIO为输出,并且输出高电平 */
	ret = gpio_direction_output(chr_dev_t.cs_gpio, 1);
	if(ret < 0) {
		printk("can't set gpio!\r\n");
	}

2、在读取和写入时获取和释放片选

gpio_set_value(dev->cs_gpio, 0);
。。。
gpio_set_value(dev->cs_gpio, 1);

效果验证:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
目前包含jar列表如下: ant-1.9.3.jar ant-launcher-1.9.3.jar asm-all-5.0.3.jar bcpg-jdk15on-1.51.jar bcprov-jdk15on-1.51.jar bndlib-2.1.0.jar bsh-2.0b4.jar commons-beanutils-1.7.0.jar commons-cli-1.2.jar commons-codec-1.10.jar commons-codec-1.11-javadoc.jar commons-codec-1.11-sources.jar commons-codec-1.11-test-sources.jar commons-codec-1.11-tests.jar commons-codec-1.11.jar commons-codec-1.4.jar commons-codec-1.6.jar commons-collections-3.2.1.jar commons-collections-3.2.jar commons-httpclient-3.0.1.jar commons-io-1.4.jar commons-io-2.2.jar commons-jexl-2.1.1.jar commons-lang-2.4.jar commons-lang-2.6.jar commons-logging-1.1.1.jar commons-logging-1.1.jar commons-logging-1.2.jar core-3.1.1.jar dom4j-1.6.1.jar ezmorph-1.0.3.jar ezmorph-1.0.4.jar fastjson-1.1.40.jar fluent-hc-4.5.6.jar geronimo-annotation_1.0_spec-1.0.jar gradle-announce-2.3-rc-2.jar gradle-antlr-2.3-rc-2.jar gradle-base-services-2.3-rc-2.jar gradle-base-services-groovy-2.3-rc-2.jar gradle-build-comparison-2.3-rc-2.jar gradle-build-init-2.3-rc-2.jar gradle-cli-2.3-rc-2.jar gradle-code-quality-2.3-rc-2.jar gradle-core-2.3-rc-2.jar gradle-cunit-2.3-rc-2.jar gradle-dependency-management-2.3-rc-2.jar gradle-diagnostics-2.3-rc-2.jar gradle-docs-2.3-rc-2.jar gradle-ear-2.3-rc-2.jar gradle-ide-2.3-rc-2.jar gradle-ide-native-2.3-rc-2.jar gradle-ivy-2.3-rc-2.jar gradle-jacoco-2.3-rc-2.jar gradle-javascript-2.3-rc-2.jar gradle-jetty-2.3-rc-2.jar gradle-language-groovy-2.3-rc-2.jar gradle-language-java-2.3-rc-2.jar gradle-language-jvm-2.3-rc-2.jar gradle-language-native-2.3-rc-2.jar gradle-language-scala-2.3-rc-2.jar gradle-launcher-2.3-rc-2.jar gradle-maven-2.3-rc-2.jar gradle-messaging-2.3-rc-2.jar gradle-model-core-2.3-rc-2.jar gradle-model-groovy-2.3-rc-2.jar gra
特性 • 4端口USB智能集线器具有: - 支持原生USB Type-C™的上行端口 - 支持原生USB Type-C的下行端口1和2 - 两个标准USB 2.0下行端口 - 内部集线器功能控制器,可实现: - USB转I2C/SPI/UART/I2S/GPIO桥接器端点支持 - USB转内部集线器寄存器的读写 • 经USB-IF认证——TID 1212。测试包括: - 支持BC1.2的USB3.1 Gen1集线器 - 使用UPD350 PD收发器的PD 2.0(TID 330000077) - 支持备用模式协商状态的布告栏端点器件 - 高级多端口系统策略管理 • 支持USB链路电源管理(Link Power Management, LPM) • 下行端口(DCP、 CDP和SDP)支持USB-IF电池 充电版本1.2 • 可通过OTP或SPI ROM获得增强型OEM配置选项 • 商业级和工业级温度支持 • 通过汽车AEC-Q100标准认证 目标应用 • 独立USB集线器 • 笔记本电脑扩展坞 • PC主板 • PC显示器扩展坞 • 多功能USB 3.1 Gen 1外设 • 车载集成主机和接线盒 主要优势 • 符合USB 3.1 Gen 1标准的5 Gbps、 480 Mbps、 12 Mbps和1.5 Mbps工作模式 - 5V耐压USB 2.0引脚 - 1.32V耐压USB 3.1 Gen 1引脚 - 集成端接电阻和上拉/下拉电阻 • 原生USB Type-C支持 - 集成Rp和Rd的Type-C CC引脚 - 在使能USB Type-C的端口上集成多路开关。在检测 到有效的Type-C连接前, USB 3.1 Gen 1 PHY一直 保持禁止状态,从而降低空闲功耗。 - 外部VCONN电源控制 • 所有端口均支持为最常见的电池供电设备充电 - 支持USB-IF电池充电版本1.2(DCP、 CDP和SDP) - Apple®便携式产品充电器仿真 - 中国YD/T 1591-2006充电器仿真 - 中国YD/T 1591-2009充电器仿真 - 欧盟通用移动充电器支持 - 支持其他便携式设备 • 片上单片机 - 管理I/O、 VBUS和其他信号 • 64 KB RAM, 256 KB ROM • 8 KB可一次性编程(One-Time-Programmable, OTP) ROM - 包括片上电荷泵 • 通过OTP ROM、 SPI ROM或SMBus编程配置 • FlexConnect - 可发送命令使上行端口和任何下行端口的角色反转 • 多主机端点反射器 - 通过CDC/NCM设备类实现的集成主机控制器端点反 射器,适合汽车应用 • USB桥接 - USB转I2C、 SPI、 UART、 I2S和GPIO • PortSwap - 可配置USB 2.0差分对信号交换 • PHYBoost - 用于恢复信号完整性的可编程USB 2.0收发器驱动 强度 • VariSense - 可编程USB 2.0接收器灵敏度 • 与Microsoft Windows® 10、 8、 7、 XP、 Apple OS X® 10.4+和Linux®集线器驱动程序兼容 • 专为低功耗运行和低散热而优化 • 封装:符合RoHS标准的100引脚VQFN(12 mm x 12 mm) * USB Type-C™和USB-C™是USB Implementers Forum的 商标。
Linux常见驱动源码分析(kernel hacker修炼之道)--李万鹏 李万鹏 IBM Linux Technology Center kernel team 驱动资料清单内容如下: Linux设备模型(中)之上层容器.pdf Linux设备模型(上)之底层模型.pdf Linux驱动修炼之道-驱动中一些常见的宏.pdf Linux驱动修炼之道-内存映射.pdf Linux驱动修炼之道-看门狗框架源码分析.pdf Linux驱动修炼之道-触摸屏驱动之s3c2410_ts源码分析.pdf Linux驱动修炼之道-SPI驱动框架源码分析(中).pdf Linux驱动修炼之道-SPI驱动框架源码分析(下).pdf Linux驱动修炼之道-SPI驱动框架源码分析(上).pdf Linux驱动修炼之道-RTC子系统框架与源码分析.pdf Linux驱动修炼之道-platform.pdf Linux驱动修炼之道-LCD背光与gpio控制.pdf Linux驱动修炼之道-INPUT子系统(下).pdf Linux驱动修炼之道-INPUT子系统(上).pdf Linux驱动修炼之道-framebuffer(中).pdf Linux驱动修炼之道-framebuffer(下).pdf Linux驱动修炼之道-framebuffer(上).pdf Linux驱动修炼之道-DMA框架源码分析(下).pdf Linux驱动修炼之道-DMA框架源码分析(上).pdf Linux驱动修炼之道-DM9000A网卡驱动框架源码分析(中).pdf Linux驱动修炼之道-DM9000A网卡驱动框架源码分析(下).pdf Linux驱动修炼之道-DM9000A网卡驱动框架源码分析(上).pdf Linux驱动修炼之道-clock框架.pdf Linux驱动修炼之道-ADC驱动.pdf Linux内核访问外设I O资源的方式.pdf LINUX内核USB子系统学习笔记之初识USB.pdf kernel hacker修炼之道之驱动-流水灯.pdf kernel hacker修炼之道之驱动-混杂设备.pdf kernel hacker修炼之道之驱动-按键.pdf kernel hacker修炼之道之PCI subsystem(五).pdf kernel hacker修炼之道之PCI subsystem(四).pdf kernel hacker修炼之道之PCI subsystem(三).pdf kernel hacker修炼之道之PCI subsystem(六).pdf kernel hacker修炼之道之PCI subsystem(二).pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值