A40i fex文件定义了各个引脚的功能和电器属性,并且比设备树有更高的优先级,在一些情况下,需要在设备树中注册节点,调用一组单独的引脚。这样可以在设备树里单独定义,过程中注意引脚冲突,及时关闭fex用到的引脚。下面是两种配置方法,用第二种的时候要将fex文件中注掉。 1、lichee/tools/pack/chips/sun8iw11p1/configs/OKA40i_C/sys_config1024x600.fex fex引脚功能定义:[spi1] spi1_used = 0 spi1_cs_number = 1 spi1_cs_bitmap = 1 spi1_cs0 = port:PI16<2><1><default><default> ;spi1_cs1 = port:P<3><1><default><default> spi1_sclk = port:PI17<2><default><default><default> spi1_mosi = port:PI18<2><default><default><default> spi1_miso = port:PI19<2><default><default><default> 2、设备树引脚功能定义: lichee/linux-3.10/arch/arm/boot/dts/sun8iw11p1-pinctrl.dtsi spi1_pins_a: spi1@0 { allwinner,pins = "PI18", "PI19", "PI17"; allwinner,pname = "spi1_mosi", "spi1_miso", "spi1_sclk"; allwinner,function = "spi1"; allwinner,muxsel = <2>; allwinner,drive = <1>; allwinner,pull = <0>; }; spi1_pins_b: spi1@1 { allwinner,pins = "PI16"; allwinner,pname = "spi1_cs0"; allwinner,function = "spi1"; allwinner,muxsel = <2>; allwinner,drive = <1>; allwinner,pull = <1>; // only CS should be pulled up }; spi1_pins_c: spi1@2 { allwinner,pins = "PI16", "PI17", "PI18", "PI19"; allwinner,function = "io_disabled"; allwinner,muxsel = <7>; allwinner,drive = <1>; allwinner,pull = <0>; }; pins对应要复用的引脚,muxsel的数字是寄存器上对应引脚的功能,drive对应驱动能力,pull 对应内部电阻状态 添加红色字体后引脚配置从fex文件移到设备数配置。 &spi1 { status = "okay"; spidev1_cs0:spi1_cs0@0{ pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; pinctrl-1 = <&spi1_pins_c>; #address-cells=<1>; #size-cells=<1>; compatible = "spidev"; spi-max-frequency = <33000000>; reg = <0>; mode=<0>; }; }; |
|小黑屋|
飞凌嵌入式
( 冀ICP备12004394号-1 )
GMT+8, 2025-4-17 16:22
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.