Imx93 spi0

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Imx93 spi0

跳至解决方案
4,093 次查看
frebourg
Contributor II

on imx93 with linux 6.1.22  ( imx93 rev A0) , I want to use spi1 to access custom component.
I have declared it on dts, but no respond from component 

with dtb without SPI1, using GPIO to emulate SPI no problem to access my compoent.

Is something missing ?  I have with and without dma on SPI , but still no answer.

 

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright 2022 NXP
 */

#include "myboard.dts"

&lpspi1 {
	fsl,spi-num-chipselects = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lpspi1>;
	status = "okay";

	spidev0: spi@0 {
		reg = <0>;
        compatible = "lwn,bk4";
		spi-max-frequency = <1000000>;
//		spi-max-frequency = <20000000>;
	};
};

&iomuxc {
	pinctrl_lpspi1: lpspi1grp {
		fsl,pins = <
               		MX93_PAD_SAI1_RXD0__LPSPI1_SOUT            0x0000051E
                	MX93_PAD_SAI1_TXC__LPSPI1_SIN              0x0000051E
                	MX93_PAD_SAI1_TXD0__LPSPI1_SCK             0x0000051E
                	MX93_PAD_SAI1_TXFS__LPSPI1_PCS0            0x0000051E

		>;
	};
};

 


And add imx93.dtsi 

 

			lpspi1: spi@44360000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
				reg = <0x44360000 0x10000>;
				interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&clk IMX93_CLK_LPSPI1_GATE>,
					 <&clk IMX93_CLK_BUS_AON>;
				clock-names = "per", "ipg";
				dmas = <&edma1 11 0 0>, <&edma1 12 0 1>;
				dma-names = "tx","rx";
				status = "disabled";
			};
​

 

Technical Department | Development Engineer
Einea | Z.I. rue Lavoisier, 76260 Eu
0 项奖励
回复
1 解答
4,064 次查看
jimmychan
NXP TechSupport
NXP TechSupport

Do you add your driver in the kernel source code?

在原帖中查看解决方案

0 项奖励
回复
6 回复数
4,061 次查看
frebourg
Contributor II

Yes,  it's ok with SPI3

Technical Department | Development Engineer
Einea | Z.I. rue Lavoisier, 76260 Eu
0 项奖励
回复
4,029 次查看
jimmychan
NXP TechSupport
NXP TechSupport

How you connect your component to SPI3 and SPI1?

 

0 项奖励
回复
4,020 次查看
frebourg
Contributor II

SPI1 is used on your custom board
SPI3 was used on EVK connected to your SPI component

 

CS0  on SAI1_TXFS (G21)
MOSI SAI1_TXC (G20)
SCK SAI1_TXD0 (H21)
MISO SAI1_RXD0 (H20)
Hardware is on OK,  SPI component is ok using GPIOs  (slow but OK)

Is there issue on iMX93 Rev A0 on this part ?

Technical Department | Development Engineer
Einea | Z.I. rue Lavoisier, 76260 Eu
0 项奖励
回复
4,015 次查看
jimmychan
NXP TechSupport
NXP TechSupport

Could you try to set the value of pad ctrl register to 0x39e?

i.e. Change all the below 0x51E to 0x39E

               		MX93_PAD_SAI1_RXD0__LPSPI1_SOUT            0x0000051E
                	MX93_PAD_SAI1_TXC__LPSPI1_SIN              0x0000051E
                	MX93_PAD_SAI1_TXD0__LPSPI1_SCK             0x0000051E
                	MX93_PAD_SAI1_TXFS__LPSPI1_PCS0            0x0000051E

 

0 项奖励
回复
4,065 次查看
jimmychan
NXP TechSupport
NXP TechSupport

Do you add your driver in the kernel source code?

0 项奖励
回复
3,856 次查看
frebourg
Contributor II

Don't use dedicated CS on device tree, but use IO  

With dedicated CS function,  CS is released between each byte

With IO use as CS,  CS is not released between each byte,  but at end of the frame.


Technical Department | Development Engineer
Einea | Z.I. rue Lavoisier, 76260 Eu
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1875633%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EImx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1875633%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%9C%A8%E5%B8%A6%E6%9C%89%20Linux%206.1.22%20%E7%9A%84%20imx93%20%E4%B8%8A%EF%BC%88imx93%20rev%20A0%EF%BC%89%EF%BC%8C%E6%88%91%E6%83%B3%E4%BD%BF%E7%94%A8%20spi1%20%E6%9D%A5%E8%AE%BF%E9%97%AE%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%84%E4%BB%B6%E3%80%82%3CBR%20%2F%3E%E6%88%91%E5%B7%B2%E7%BB%8F%E5%9C%A8%20dts%20%E4%B8%8A%E5%A3%B0%E6%98%8E%E4%BA%86%E5%AE%83%EF%BC%8C%E4%BD%86%E6%98%AF%E7%BB%84%E4%BB%B6%E6%B2%A1%E6%9C%89%E5%93%8D%E5%BA%94%3CBR%20%2F%3E%3CBR%20%2F%3E%E4%BD%BF%E7%94%A8%E6%B2%A1%E6%9C%89%20SPI1%20%E7%9A%84%20dtb%EF%BC%8C%E4%BD%BF%E7%94%A8%20GPIO%20%E6%A8%A1%E6%8B%9F%20SPI%20%E6%9D%A5%E8%AE%BF%E9%97%AE%E6%88%91%E7%9A%84%E7%BB%84%E4%BB%B6%E6%B2%A1%E6%9C%89%E9%97%AE%E9%A2%98%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E7%BC%BA%E5%B0%91%E4%BA%86%E4%BB%80%E4%B9%88%E5%90%97%EF%BC%9F%E6%88%91%E5%B0%9D%E8%AF%95%E8%BF%87%E5%9C%A8%20SPI%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E5%92%8C%E4%B8%8D%E4%BD%BF%E7%94%A8%20DMA%EF%BC%8C%E4%BD%86%E4%BB%8D%E7%84%B6%E6%B2%A1%E6%9C%89%E7%AD%94%E6%A1%88%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%2F%2F%20SPDX-License-Identifier%3A%20(GPL-2.0%2B%20OR%20MIT)%0A%2F*%0A%20*%20Copyright%202022%20NXP%0A%20*%2F%0A%0A%23include%20%22myboard.dts%22%0A%0A%26amp%3Blpspi1%20%7B%0A%09fsl%2Cspi-num-chipselects%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09pinctrl-names%20%3D%20%22default%22%3B%0A%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_lpspi1%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09spidev0%3A%20spi%400%20%7B%0A%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%20%20%20%20%20%20%20%20compatible%20%3D%20%22lwn%2Cbk4%22%3B%0A%09%09spi-max-frequency%20%3D%20%26lt%3B1000000%26gt%3B%3B%0A%2F%2F%09%09spi-max-frequency%20%3D%20%26lt%3B20000000%26gt%3B%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Biomuxc%20%7B%0A%09pinctrl_lpspi1%3A%20lpspi1grp%20%7B%0A%09%09fsl%2Cpins%20%3D%20%26lt%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09MX93_PAD_SAI1_RXD0__LPSPI1_SOUT%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09MX93_PAD_SAI1_TXC__LPSPI1_SIN%20%20%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09MX93_PAD_SAI1_TXD0__LPSPI1_SCK%20%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09MX93_PAD_SAI1_TXFS__LPSPI1_PCS0%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%0A%09%09%26gt%3B%3B%0A%09%7D%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CDIV%3E%3CBR%20%2F%3E%E5%B9%B6%E6%B7%BB%E5%8A%A0imx93.dtsi%3C%2FDIV%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%09%09%09lpspi1%3A%20spi%4044360000%20%7B%0A%09%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%09%09%09%09compatible%20%3D%20%22fsl%2Cimx93-spi%22%2C%20%22fsl%2Cimx7ulp-spi%22%3B%0A%09%09%09%09reg%20%3D%20%26lt%3B0x44360000%200x10000%26gt%3B%3B%0A%09%09%09%09interrupts%20%3D%20%3CGIC_SPI%2016%3D%22%22%20irq_type_level_high%3D%22%22%3E%3B%0A%09%09%09%09clocks%20%3D%20%26lt%3B%26amp%3Bclk%20IMX93_CLK_LPSPI1_GATE%26gt%3B%2C%0A%09%09%09%09%09%20%26lt%3B%26amp%3Bclk%20IMX93_CLK_BUS_AON%26gt%3B%3B%0A%09%09%09%09clock-names%20%3D%20%22per%22%2C%20%22ipg%22%3B%0A%09%09%09%09dmas%20%3D%20%26lt%3B%26amp%3Bedma1%2011%200%200%26gt%3B%2C%20%26lt%3B%26amp%3Bedma1%2012%200%201%26gt%3B%3B%0A%09%09%09%09dma-names%20%3D%20%22tx%22%2C%22rx%22%3B%0A%09%09%09%09status%20%3D%20%22disabled%22%3B%0A%09%09%09%7D%3B%0A%E2%80%8B%3C%2FGIC_SPI%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1909728%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Imx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1909728%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B8%8D%E8%A6%81%E5%9C%A8%E8%AE%BE%E5%A4%87%E6%A0%91%E4%B8%8A%E4%BD%BF%E7%94%A8%E4%B8%93%E7%94%A8%20CS%EF%BC%8C%E8%80%8C%E6%98%AF%E4%BD%BF%E7%94%A8%20IO%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%85%B7%E6%9C%89%E4%B8%93%E7%94%A8%E7%9A%84CS%E5%8A%9F%E8%83%BD%EF%BC%8CCS%E5%9C%A8%E6%AF%8F%E4%B8%AA%E5%AD%97%E8%8A%82%E4%B9%8B%E9%97%B4%E9%87%8A%E6%94%BE%3CBR%20%2F%3E%3CBR%20%2F%3E%E4%BD%BF%E7%94%A8%20IO%20%E4%BD%9C%E4%B8%BA%20CS%20%E6%97%B6%EF%BC%8CCS%20%E4%B8%8D%E4%BC%9A%E5%9C%A8%E6%AF%8F%E4%B8%AA%E5%AD%97%E8%8A%82%E4%B9%8B%E9%97%B4%E9%87%8A%E6%94%BE%EF%BC%8C%E8%80%8C%E6%98%AF%E5%9C%A8%E5%B8%A7%E7%BB%93%E6%9D%9F%E6%97%B6%E9%87%8A%E6%94%BE%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1879541%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Imx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1879541%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E8%83%BD%E5%B0%9D%E8%AF%95%E5%B0%86%20pad%20ctrl%20%E5%AF%84%E5%AD%98%E5%99%A8%E7%9A%84%E5%80%BC%E8%AE%BE%E7%BD%AE%E4%B8%BA%200x39e%20%E5%90%97%EF%BC%9F%3C%2FP%3E%0A%3CP%3EIE%E5%B0%86%E4%BB%A5%E4%B8%8B%E6%89%80%E6%9C%89%200x51E%20%E6%9B%B4%E6%94%B9%E4%B8%BA%200x39E%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09%09MX93_PAD_SAI1_RXD0__LPSPI1_SOUT%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09MX93_PAD_SAI1_TXC__LPSPI1_SIN%20%20%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09MX93_PAD_SAI1_TXD0__LPSPI1_SCK%20%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%09MX93_PAD_SAI1_TXFS__LPSPI1_PCS0%20%20%20%20%20%20%20%20%20%20%20%200x0000051E%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1879466%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Imx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1879466%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESPI1%20%E7%94%A8%E4%BA%8E%E6%82%A8%E7%9A%84%E5%AE%9A%E5%88%B6%E6%9D%BF%3CBR%20%2F%3ESPI3%20%E7%94%A8%E4%BA%8E%E8%BF%9E%E6%8E%A5%E5%88%B0%20SPI%20%E7%BB%84%E4%BB%B6%E7%9A%84%20EVK%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%26nbsp%3B%3C%2FDIV%3E%3CP%3ESAI1_TXFS%EF%BC%88G21%EF%BC%89%E4%B8%8A%E7%9A%84CS0%3CBR%20%2F%3E%20MOSI%20SAI1_TXC%20(G20)%3CBR%20%2F%3E%20SCK%20SAI1_TXD0%EF%BC%88H21%EF%BC%89%3CBR%20%2F%3E%E5%91%B3%E5%99%8CSAI1_RXD0%EF%BC%88H20%EF%BC%89%3CBR%20%2F%3E%E7%A1%AC%E4%BB%B6%E6%AD%A3%E5%B8%B8%EF%BC%8CSPI%20%E7%BB%84%E4%BB%B6%E4%BD%BF%E7%94%A8%20GPIO%20%E6%AD%A3%E5%B8%B8%EF%BC%88%E9%80%9F%E5%BA%A6%E6%85%A2%E4%BD%86%E6%AD%A3%E5%B8%B8%EF%BC%89%3CBR%20%2F%3E%3CBR%20%2F%3E%20iMX93%20Rev%20A0%20%E7%9A%84%E8%BF%99%E4%B8%80%E9%83%A8%E5%88%86%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E9%97%AE%E9%A2%98%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1879375%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Imx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1879375%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A6%82%E4%BD%95%E5%B0%86%E7%BB%84%E4%BB%B6%E8%BF%9E%E6%8E%A5%E5%88%B0%20SPI3%20%E5%92%8C%20SPI1%EF%BC%9F%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1877932%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Imx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1877932%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8CSPI3%20%E6%B2%A1%E9%97%AE%E9%A2%98%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1877920%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Imx93%20spi0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1877920%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E6%98%AF%E5%90%A6%E5%9C%A8%E5%86%85%E6%A0%B8%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%BA%86%E6%82%A8%E7%9A%84%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E