4.9-4.11
搞了半天spi驱动写w25q64读取出数据都是ff原来是芯片坏了。。。先做其他的吧串口驱动设备树手册一般第一章基本就是需要查找的地址有1.1Address Mapping1.2System Boot1.3System Interrupt Connection1.4System DMA Hardware Request Connection在1.1早到基地址UART4 FEB70000 64KB在1.3找到中断号367 irq_uart4 High level还需要dmas因为每个 UART 硬件上绑定的 DMA 通道是固定的、不重复的这个在手册的Chapter 12 DMA Controller (DMAC)可以找到在DAMAC1下有UART4_TX是9UART4_RX是10uart4: serialfeb70000 {compatible rzroomi,uart4;reg 0x0 0xfeb70000 0x0 0x100;interrupts GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH;clocks cru SCLK_UART4, cru PCLK_UART4;clock-names baudclk, apb_pclk;reg-shift 2;reg-io-width 4;dmas dmac1 9, dmac1 10;dma-names tx, rx;pinctrl-0 uart4m0_xfer;status disabled;};直接加入设备树你就会发现报错因为瑞芯微已经在其他文件定义过了。所以只要加入uart4 {status okay;pinctrl-names default;pinctrl-0 uart4m0_xfer;};系统开机已经自动创建节点和pwm一样瑞芯微已经写好了直接写入/dev/ttyS4即可实现串口通信接下来学学usb原厂就已经写好了驱动没啥实验但是可以学学原理板子介绍usb是这样的2 个 USB 2.0 Host、1 个 USB3.0 Host 和 1 个 USB 3.0 OTGUSB 分为 HOST(主机)和从机(或 DEVICE) 而USB OTG 功能的 USB 接口既可以做HOST(做主机ID0)也可以做 DEVICE(做从机ID1)USB 相关的控制器名字分别为USB OTG 控制器、USB Host 控制器和 USB HS PHY 控制器提供一个简称方便书写OTG、USBH 和PHYPHY中文可称之为端口物理层USBHUSBH 控制器这是一个主机控制器此控制器由 EHCI 控制器和 OHCI 控制器组成OTGOTG 控制器有两个模式正常模式(normal mode)和低功耗模式(low power mode)。 OTG控制器都可以运行在高速模式(HS 480Mbps)、全速模式(LS 12Mbps)和低速模式(1.5Mbps)。正常模式下每个 OTG 控制器都可以工作在主机(HOST)或从机(DEVICE)模式下每个 USB 控制器都有其对应的接口USB 驱动也包括三个部分USB 控制器驱动、USB PHY 驱动和 USB接口驱动CC logic 驱动所以设备树里可以找到有14 usb_host0_ohci: usbfc840000 {15 compatible generic-ohci;16 reg 0x0 0xfc840000 0x0 0x40000;17 interrupts GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH;18 clocks cru HCLK_HOST0, cru HCLK_HOST_ARB0, u2phy2,aclk_usb;19 clock-names usbhost, arbiter, utmi, alk_usb;20 phys u2phy2_host;21 phy-names usb2-phy;22 power-domains power RK3588_PD_USB;23 status disabled;24 };20 phys u2phy2_host;21 phy-names usb2-phy;是指定这个 USB 控制器使用 u2phy2 这个 USB PHY。PHY 物理层收发器真正负责 USB 信号使用usb2.0power-domains power RK3588_PD_USB;属于 RK3588 的 USB 电源域内核会自动开关电源因为在完成实习公司的任务编译烧入代码没写多少所以本期就到这了