P1010: How to do pin muxing for P1010RDB in linux kernel

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

P1010: How to do pin muxing for P1010RDB in linux kernel

Jump to solution
1,139 Views
nobelsharanyanj
Contributor III

Hi,

How to do pin muxing for the board p1010? what are the files I need to check?

1 Solution
796 Views
ufedor
NXP Employee
NXP Employee

The "p1010rdb.c" is U-Boot component.

View solution in original post

0 Kudos
8 Replies
796 Views
ufedor
NXP Employee
NXP Employee

> Is there any standard way to define in device tree regarding pin muxing?

No. This has to be done in U-Boot.

0 Kudos
796 Views
scottwood
NXP Employee
NXP Employee

Actually, there is.  See Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Currently we usually handle this in U-Boot, but putting it in the device tree would be better, as it could allow Linux to dynamically reconfigure.

796 Views
ufedor
NXP Employee
NXP Employee

Please explain which exactly "pin muxing" and "board p1010" are in question.

0 Kudos
796 Views
nobelsharanyanj
Contributor III

Hi ufedor,

I am using P1010 rev 2, custom board.

I wish to use GPIO[6:9] instead of SPI,

GUTS_PMUXCR1 by default expose to SPI signal.

I like to know what is the suitable way of modifying the register to support my need.

Thanks

0 Kudos
796 Views
ufedor
NXP Employee
NXP Employee

It is needed to set GUTS_PMUXCR1[SPI]=0b10 in the p1010rdb.c

0 Kudos
796 Views
nobelsharanyanj
Contributor III

ok,

Where does "GUTS_PMUXCR1" defined in kernel.

Thanks

0 Kudos
797 Views
ufedor
NXP Employee
NXP Employee

The "p1010rdb.c" is U-Boot component.

0 Kudos
796 Views
nobelsharanyanj
Contributor III

ok, I will look into uboot too,

In kernel,

compatible = "fsl,p1010-guts"; is been defined in "arch/powerpc/boot/dts/fsl/p1010si-post.dtsi".

That mean we can use device tree to get io_mem of that structure and we can re modify it in arch/powerpc/platforms/85xx/p1010rdb.c

Is there any standard way to define in device tree regarding pin muxing? so that I have kernel image common, for which I can support two or more board with device tree alone.

0 Kudos