当前位置:首页 > 技术 > LINUX > 正文内容

milkv-duo设备上NS2009 驱动配置

Watrt11个月前 (08-14)LINUX9340

NS2009设备中断使用的是GPIOE(GPIO4)的第26脚。这里需要修改Uboot启动配置为GPIO

修改/home/watrt/duo-buildroot-sdk/build/boards/cv180x/cv1800b_milkv_duo_sd/u-boot/cvi_board_init.c文件添加引脚配置

int cvi_board_init(void)
{
	// sensor mclk reset
	PINMUX_CONFIG(PAD_MIPIRX0P, CAM_MCLK0); // Camera MCLK0
	PINMUX_CONFIG(PAD_MIPIRX1N, XGPIOC_8);  // Camera Reset

	// all default gpio
	PINMUX_CONFIG(SD0_PWR_EN, XGPIOA_14);    // Duo Pin 19
	PINMUX_CONFIG(SPK_EN, XGPIOA_15);        // Duo Pin 20
	PINMUX_CONFIG(SPINOR_MISO, XGPIOA_23);   // Duo Pin 21
	PINMUX_CONFIG(SPINOR_CS_X, XGPIOA_24);   // Duo Pin 22
	PINMUX_CONFIG(SPINOR_SCK, XGPIOA_22);    // Duo Pin 24
	PINMUX_CONFIG(SPINOR_MOSI, XGPIOA_25);   // Duo Pin 25
	PINMUX_CONFIG(SPINOR_WP_X, XGPIOA_27);   // Duo Pin 26  这里上NS2009的中断脚
	PINMUX_CONFIG(SPINOR_HOLD_X, XGPIOA_26); // Duo Pin 27
	PINMUX_CONFIG(PWR_SEQ2, PWR_GPIO_4);     // Duo Pin 29

	// ADC pins set to gpio
	PINMUX_CONFIG(ADC1, XGPIOB_3);           // ADC1
	PINMUX_CONFIG(USB_VBUS_DET, XGPIOB_6);   // ADC2

	// I2C0
	PINMUX_CONFIG(IIC0_SCL, IIC0_SCL);
	PINMUX_CONFIG(IIC0_SDA, IIC0_SDA);

	// I2C1
	PINMUX_CONFIG(PAD_MIPIRX1P, IIC1_SDA);
	PINMUX_CONFIG(PAD_MIPIRX0N, IIC1_SCL);

	// PWM
	PINMUX_CONFIG(SD1_D2, PWM_5);
	PINMUX_CONFIG(SD1_D1, PWM_6);

	// UART 4
	PINMUX_CONFIG(SD1_GPIO1, UART4_TX);
	PINMUX_CONFIG(SD1_GPIO0, UART4_RX);
	

	// SPI
	PINMUX_CONFIG(SD1_CLK, SPI2_SCK);
	PINMUX_CONFIG(SD1_CMD, SPI2_SDO);
	PINMUX_CONFIG(SD1_D0, SPI2_SDI);
	PINMUX_CONFIG(SD1_D3, SPI2_CS_X);
	
	pinmux_config(PINMUX_SPI2);

	return 0;
}

添加设备树/home/watrt/duo-buildroot-sdk/build/boards/cv180x/cv1800b_milkv_duo_sd/dts_riscv/cv1800b_milkv_duo_sd.dts:

&i2c0 {
        status = "okay";
        ns2009: ns2009@48 {
                //compatible = "nsiway,ns2009";
                compatible = "ti,tsc2007";
		ti,x-plate-ohms = <180>;
		interrupt-parent = <&porte>;
		interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
		gpios = <&porte 26 GPIO_ACTIVE_HIGH>;
                reg = <0x48>;
        };
};

中断设备修改/home/watrt/duo-buildroot-sdk/build/boards/default/dts/cv180x_riscv/cv180x_base_riscv.dtsi:

gpio4: gpio@05021000 {
		porte: gpio-controller@4 {
			interrupt-controller;
			interrupts = <70 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-parent = <&plic0>;
			#interrupt-cells = <2>;
		};
	};

修改设备树cv180x_base_riscv.dtsi文件添加:

#interrupt-cells = <2>;  这里如果不添加设备的中断会失败

然后在buildroot添加tslib库的支持

Target packages  --->
	Libraries  --->
		Hardware handling  --->
			[*] tslib

启动后运行:

export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0


校准触摸屏

ts_calibrate


打赏 支付宝打赏 微信打赏
分享给朋友:

相关文章

buildroot编译中的问题

buildroot编译中的问题

在编译中遇到flex 报错。一直过不了。后来发现安装flex bison两个包后解决sudo apt-get install flex bison...

荔枝派Nano 全流程指南

荔枝派Nano 全流程指南

u-boot 初体验安装交叉编译链首先需要安装交叉编译链:# 此处为获取7.2.1版本,您可获取其他版本或者通过链接直接下载 wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz tar -vxJf gcc-li...

 Debian 9.9 (stretch) 文件系统制作

Debian 9.9 (stretch) 文件系统制作

0. 准备工作:sudo apt install qemu-user-static -y sudo apt install debootstrap -y mkdir rootfs1. debootstrapdebootstrap --foreign --verbose --arch=armhf  stretch rootfs http...

[转]《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南

[转]《保姆级教程》全志F1C100S/F1C200S spi-flash 启动全流程适配烧录及踩坑指南

转自哇酷网=丨晋丨通过参考荔枝派nano官方和论坛大佬的帖子,总结了烧录 spi-flash 启动的方法。通过搜寻资料,把其中有错误或者做了多余的操作的步骤做了修正,以免大家再次踩坑,耗费青春。以下包括 uboot、kernel、buildroot 和 烧录的详细步骤和需要注意的问题,尽量精简方法,以期容易上手和理解。各种配置项也做了详细注释,要知其然,也知其所以然。最理想的状态应该是是:有的坑,踩的人多了,也便没有了坑。论坛不太好排版,有需要的也可以去我的博客看:P:全志F1C100S/F1C...

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改方法:一:修改U-BOOT   include/configs/suniv.h#define CONFIG_BOOTCOMMAND"fatload mmc 0:1 0x80800000 zImage; "  \              &nb...

控制台终端输出颜色

控制台终端输出颜色

在使用putty、secureCRT、XShell等终端仿真器连接linux系统时,ls、vim等工具的输出都含有各种颜色,这些颜色的输出大大地增强了文本的可读性。一、终端文本颜色输出的一般示例在bash中,通常我们可以使用echo命令加-e选项输出各种颜色的文本,例如:echo -e "\033[31mRed Text\033[0m" echo -e "\033[32mGreen Text\033[0m...

debootstrap报"Release signed by unknown key"错误的解决方法

debootstrap报"Release signed by unknown key"错误的解决方法

1、下载最新的ASC文件:wget https://ftp-master.debian.org/keys/release-11.asc -qO- | gpg --import --no-default-keyring --keyring ./debian-release-11.gpg注意这里的11对应debian的版本号。我这里是debian11 (bullseye)2、debootstrap指定asc文件sudo&...

f1c100s编译启动所需的uboot,kernel,rootfs

f1c100s编译启动所需的uboot,kernel,rootfs

 https://github.com/Icenowy/linux.git 有f1c100s-480272lcd-test和f1c100s分支, 然后自己手动修复一个 USB 问题,驱动就比较全了https://github.com/Lichee-Pi/linux.git 有nano-4.14-exp和nano-5.2-flash分支,用哪个合适个人画了块没有连接任何其他模块的F1C100S开发板,没有链接任何外设,本文是编译所有启动所需的三大件。(只要编...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。