工具/软件:Linux
大家好、
我们使用 AM5728进行开发、并尝试使用 VIP 模块的摄像头用例、我们开发了连接 到电路板 P16接头的定制连接器。
我们使用与 LCD 模块连接的同一摄像头。 (http://www.ti.com/tool/TMDSCM572X 、此摄像头的驱动程序(mt9t11x.ko)已在 PSDK 中提供。
下面是 PCB 设计人员所做的更改、以便我们可以将该摄像头直接连接到 P16接头
| 现有引脚配置 | I2C5_SCL | I2C5_SDA | OSC_EN | 缓冲器_EN | GPIO | CAM_PWR | |
| 焊球名称 | McASP1_axr1 | McASP1_axr0 | McASP1 _轴8 | McASP1_axr10 | McASP1_axr11 | McASP1_axr9 | |
| 信号名称 | I2C5_SCL | I2C5_SDA | GPIO5_10 | GPIO5_12 | GPIO4_17 | GPIO5_11 | |
| Beagalboard 扩展中的引脚可 Lable | P18_4 | P18_3. | P16_34 | P16_33 | P16_3. | P16_4. | |
| Am5728焊盘 | F12 | G12. | B12. | B13. | 解答12. | 解答11. | |
| 新引脚配置 | I2C5_SCL | I2C5_SDA | OSC_EN | 缓冲器_EN | GPIO | CAM_PWR | |
| 焊球名称 | GPMC_A4 | GPMC_A5 | GPMC_AD12 | GPMC_AD13 | GPMC_AD14 | GPMC_AD15 | |
| 信号名称 | I2C5_SCL | I2C5_SDA | GPIO1_18 | GPIO1_19 | GPIO1_20 | GPIO1_21 | |
| Beagalboard 扩展中的引脚可 Lable | P16_10. | P16_13. | P16_24. | P16_26. | P16_27. | P16_25 | |
| AM5728中的标签引脚 | 六 | R9. | H1 | J3. | H2 | H3 | |
| 添加了额外的引脚 | 凸轮_EN | ||||||
| 焊球名称 | GPMC_A13 | ||||||
| 信号名称 | GPIO2_3 | ||||||
| Beagalboard 扩展中的引脚可 Lable | P16_7. | ||||||
| AM5728中的标签引脚 | R3 |
基于上述详细信息、我更新 了 DTS 文件、如下所示
am57xx-evm.dts
&dra7_PMX_CORE{
----
//为新的 EVM 凸轮模块添加了
i2c5_pins_default:i2c5_pins_default{
pinctrl-single、pins =<
//DRA7XX_CORE_IOPAD (0x3450、(PIN_INPUT_PULLUP | MUX_MODE7))/* GPMC_A4.i2c5_sda TRM 4226*/
//DRA7XX_CORE_IOPAD (0x3454、(PIN_INPUT_PULLUP | MUX_MODE7))/* GPMC_A5.i2c5_SCL *
0x50 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_A4.i2c5_sda TRM 4226新方法*/
0x54 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_A5.i2c5_SCL *
>;
};
--
am57xx-evm-common.dtsi
i2c5{(&I)
状态="正常";
pinctrl-names ="default";
pinctrl-0 =<&i2c5_PINS_DEFAULT>;
时钟频率=<400000>;
mt9t11x@3C{
兼容="Aptina、mt9t111";
reg =<0x33>;
/*原始定义*/
//RESET-GPIO =<&GPIO4 17 GPIO_ACTIVE_LOW>;
//oscen-GPIO =<&GPIO5 10 GPIO_ACTIVE_HIGH_>;
///sPowerdown-GPIO =<&GPIO5 11 GPIO_ACTIVE_LOW>;
//bufen-GPIO =<&GPIO5 12 GPIO_ACTIVE_LOW>;
//camen-GPIO =<&GPIO6 11 GPIO_ACTIVE_LOW>;
/*2017年3月27日新定义*/
RESET-GPIO =<&GPIO1 20 GPIO_ACTIVE_LOW>;
oscen-goios =<&GPIO1 18 GPIO_ACTIVE_HIGH>;
POWERDOT-GPIOs =<&GPIO1 21 GPIO_ACTIVE_LOW>;
bufen-GPIO =<&GPIO1 19 GPIO_ACTIVE_LOW>;
端口{
CAM:端点{
远程端点=<&V vin3a>;
HSYNC-ACTIVE =<1>;
vsync-active =<1>;
pclk-sample =<0>;
输入时钟频率=<32000000>;
PIXEL 时钟频率=<96000000 >;
};
};
};
};
然后编译 am57xx-evm.dtb 文件并推入/boot 文件夹并重新引导。 但在 pinmux 信息中、它仍然 没有被声明
root@am57xx-EVM:/sys/kernel/debug/pinctrl/4a003400.pinmux cat pinmux-pins
每个引脚的 Pinmux 设置
引脚20 (4a003450.0):(MUX 未声明)(GPIO 未声明)
引脚21 (4a003454.0):(MUX 未声明)(GPIO 未声明)
因为我不熟悉此设备树概念。 任何人都可以指导我出错的地方。
任何指针都很棒!!!