LS1043A pin muxing in linux kernel

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

LS1043A pin muxing in linux kernel

跳至解决方案
2,455 次查看
bhargavjayswal
Contributor III

Dear NXP Team,

 

Currently i'm using layerscape SDK version L6.1.55_1.0.0,  as I have seen for some of NXP processor, pin muxing is handle in u-boot instead of kernel DTS as mentioned below link.

I want to set up pin muxing for custom board based on LS1043A SOC. But I require an information that where pin muxing has implement for LS1043a. 

Kindly provide an information  that, how NXP's has provided pin muxing mechanism. Is it done in uboot or kernel for LS043A. Also provide information that is it directly implimented 

Regards,

Bhargav Jayswal

0 项奖励
回复
1 解答
2,430 次查看
Oswalag
NXP TechSupport
NXP TechSupport

Hello,

To verify pin multiplexing, we offer Pinmux tool. This tool is a part of our CodeWarrior ARM v8 software.

CodeWarrior ARMv8 64 bit|NXP 

The PinMuxing tool gives an overview of the SoC pins and their allocations to peripherals.
It is designed to help the board designers and low-level platform programmers to:
• Use the correct and optimal number of pins needed for a custom board design
• Program the platform (for example, reset configuration word (RCW)) in sync with the pins used in a board design

QCVS PinMuxing Tool User Guide

You can find all the RCW configurations available in your device Reference Manual. 

在原帖中查看解决方案

0 项奖励
回复
5 回复数
2,400 次查看
bhargavjayswal
Contributor III

Hi @Oswalag ,

Thanks you for the support.

Yes, I have refer "QorIQ LS1043A reference manual",  in chapter-3 (signal description) pin muxing has been explained , they have given base RCW setting for pin muxing in "section-3.4 (Signal multiplexing details)".

So in Layerscape SDK in have modify rcw_1600_sdboot.rcw file for pin muxing. In order to update correct pin muxing, first I have copy all RCW field from SDK build "rcw/git/ls1043aqds/ls1043a.rcwi"  to spread-sheet, after that i was looking in to our custom board schematic and reference manual chapter-3 and updating correct value in spread-sheet in front of respective RCW field.

After Pin muxing has completed , I have copied spread-sheet RCW field and it's value in to file "rcw_1600_sdboot.rcw"  , Let me know if there is flow with this approch.

 

Regards,

Bhargav Jayswal

0 项奖励
回复
2,390 次查看
Oswalag
NXP TechSupport
NXP TechSupport

Hello,

After you modify the RCW file you have to re-build again your image to save the changes you made.

0 项奖励
回复
2,431 次查看
Oswalag
NXP TechSupport
NXP TechSupport

Hello,

To verify pin multiplexing, we offer Pinmux tool. This tool is a part of our CodeWarrior ARM v8 software.

CodeWarrior ARMv8 64 bit|NXP 

The PinMuxing tool gives an overview of the SoC pins and their allocations to peripherals.
It is designed to help the board designers and low-level platform programmers to:
• Use the correct and optimal number of pins needed for a custom board design
• Program the platform (for example, reset configuration word (RCW)) in sync with the pins used in a board design

QCVS PinMuxing Tool User Guide

You can find all the RCW configurations available in your device Reference Manual. 

0 项奖励
回复
2,290 次查看
bhargavjayswal
Contributor III
Hi @Oswalag ,
 
I have further queries on pin. We have done pin muxing for the boot process in RCW, In LS1043 Reference Manual, In "chapter 3 Signal Description" mentioned pin muxing detail using RCW. In "Section 3.4 Signal Muxing details" only mentioned a few pin muxing can be used to start the board tiil bootloader.
 
In general pin muxing can be done through dts/dtsi on ARM SOC. But for LS1043A, I do not find any pin has been configured(muxing) through dts/dtsi at linux KERNEL(fsl-ls1043a.dtsi , fsl-ls1043a-rdb.dts, ... etc).
 
In "chapter 12 Supplemental Configuration unit" describes rest pin muxing details, which pins can not be configured by RCW. I found that pin muxing for a few USB pins has been configured at u-boot in file "board/freescale/ls1043ardb/ls1043ardb.c" inside the function config_board_mux(). Where I do not find any pin muxing has been done using linux KERNEL through "c code" well
 
My query is what is the suggested way of pin muxing for LS1043A SOC ?  Do we need to do pin muxing in bootloader code or at kernel level apart from RCW.
 
Regards,
Bhargav Jayswal
0 项奖励
回复
2,252 次查看
Oswalag
NXP TechSupport
NXP TechSupport

You are correct, config_board_mux() is a function to configure this mentioned mux pins function.(besides RCW configuration)

Pin muxing cannot be performed using linux kernel.

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1931095%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELinux%E5%86%85%E6%A0%B8%E4%B8%AD%E7%9A%84LS1043A%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1931095%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%B0%8A%E6%95%AC%E7%9A%84%E6%81%A9%E6%99%BA%E6%B5%A6%E5%9B%A2%E9%98%9F%EF%BC%9A%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E7%9B%AE%E5%89%8D%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20layerscape%20SDK%20%E7%89%88%E6%9C%AC%3CSTRONG%3EL6.1.55_1.0.0%EF%BC%8C%3C%2FSTRONG%3E%E6%AD%A3%E5%A6%82%E6%88%91%E5%9C%A8%E4%B8%80%E4%BA%9B%20NXP%20%E5%A4%84%E7%90%86%E5%99%A8%E4%B8%AD%E7%9C%8B%E5%88%B0%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%8C%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%E6%98%AF%E5%9C%A8%20u-boot%20%E4%B8%AD%E5%A4%84%E7%90%86%E7%9A%84%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E5%9C%A8%E5%86%85%E6%A0%B8%20DTS%20%E4%B8%AD%E5%A4%84%E7%90%86%EF%BC%8C%E5%A6%82%E4%B8%8B%E9%9D%A2%E9%93%BE%E6%8E%A5%E4%B8%AD%E6%8F%90%E5%88%B0%E7%9A%84%E9%82%A3%E6%A0%B7%E3%80%82%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%23333333%22%3E%E6%88%91%E6%83%B3%E4%B8%BA%E5%9F%BA%E4%BA%8E%3CSTRONG%3ELS1043A%20SOC%20%E7%9A%84%E5%AE%9A%E5%88%B6%E6%9D%BF%E8%AE%BE%E7%BD%AE%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%E3%80%82%3C%2FSTRONG%3E%E4%BD%86%E6%88%91%E9%9C%80%E8%A6%81%E6%9C%89%E5%85%B3%3CSTRONG%3ELS1043a%20%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%E5%AE%9E%E7%8E%B0%E4%BD%8D%E7%BD%AE%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%3C%2FSTRONG%3E%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%23333333%22%3E%E8%AF%B7%E6%8F%90%E4%BE%9B%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B4%E6%98%8E%20NXP%20%E5%A6%82%E4%BD%95%E6%8F%90%E4%BE%9B%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%E6%9C%BA%E5%88%B6%E3%80%82%E5%AE%83%E6%98%AF%E5%9C%A8%20LS043A%20%E7%9A%84%20uboot%20%E6%88%96%E5%86%85%E6%A0%B8%E4%B8%AD%E5%AE%8C%E6%88%90%E7%9A%84%E5%90%97%EF%BC%9F%E8%BF%98%E6%8F%90%E4%BE%9B%E7%9B%B4%E6%8E%A5%E5%AE%9E%E6%96%BD%E7%9A%84%E4%BF%A1%E6%81%AF%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%23333333%22%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%3CFONT%20color%3D%22%23333333%22%3E%E5%B7%B4%E5%B0%94%E5%8A%A0%E5%A4%AB%C2%B7%E6%9D%B0%E6%96%AF%E7%93%A6%E5%B0%94%3C%2FFONT%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1947568%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9ALinux%E5%86%85%E6%A0%B8%E4%B8%AD%E7%9A%84LS1043A%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1947568%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%E4%BD%A0%E6%98%AF%E5%AF%B9%E7%9A%84%EF%BC%8C%3C%2FSPAN%3E%20%3CSTRONG%3Econfig_board_mux()%3C%2FSTRONG%3E%E6%98%AF%E4%B8%80%E4%B8%AA%E9%85%8D%E7%BD%AE%E4%B8%8A%E8%BF%B0%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8%E5%BC%95%E8%84%9A%E5%8A%9F%E8%83%BD%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%EF%BC%88%E6%AD%A4%E5%A4%96RCW%20%E9%85%8D%E7%BD%AE%EF%BC%89%3C%2FP%3E%0A%3CP%3E%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20Linux%20%E5%86%85%E6%A0%B8%E6%89%A7%E8%A1%8C%E5%BC%95%E8%84%9A%E5%A4%8D%E7%94%A8%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E