Re: [U-Boot] RFC Pin Configuration Device Tree Bindings for Altera Arria10 SOCFPGA

2014-12-03 Thread Matthew Gerlach
Hi, 
 

From: s...@google.com s...@google.com on behalf of Simon Glass 
s...@chromium.org
Sent: Wednesday, December 3, 2014 9:36 AM
To: Pavel Machek
Cc: Matthew Gerlach; u-boot@lists.denx.de
Subject: Re: [U-Boot] RFC Pin Configuration Device Tree Bindings for Altera 
Arria10 SOCFPGA

Hi,

On 3 December 2014 at 06:48, Pavel Machek pa...@ucw.cz wrote:
 Hi!

 Altera Arria10 SOCFPGA Pin Configuration Bindings

 This document describes device tree bindings required to perform 
 configuration
 of the pins for an Altera Arria10 SOCFPGA .  The bindings are intended to
 be compact and easy to be consumed only by a SPL running in a small on-chip
 ram before external memory is available.  The Arria10 SOCFPGA does not 
 support
 dynamic modification of the pin configuration.

 Each set of pins is represented by its own subnode. For each subnode, the
 altr,pinmux-regs data will be written to sequential 32 bit addresses starting
 at the address in the reg property.

 These bindings will be incompatible with pin muxing on rest of
 systems, right?

The pin muxing for the Arria 10 is completely different than the 
Cyclone5/Arria5 chip family.


 Do we really want to parse DT in SPL? Should we parse the DT during
 build for the SPL?

 Pavel

The on-chip ram for the Arria10 is 256k.  We are hoping to have fewer SPL 
binaries and use device trees for configuration.


 Required properties:
  - compatible : Must be altr,arria10-pinmux for Arria10 SOCFPGA
  - one subnode for each set of pins to be configured

 Required subnode properties:
  - reg : The start address to write pinmux-data as 32 bit quantities and the
 number of bytes of registers to be written.
  - altr,pinmux-regs : Pin configuration data to be written to registers

 Example:

 pinmux@0xffd07000 {
 #address-cells = 1;
 #size-cells = 0;
 compatible = altr,arria10-pinmux;
 shared {
 reg = 0xffd07000 0x00c0;
 altr,pinmux-regs = 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF
0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF
0xD 0xD 0xD 0xD 0xD 0xD 0xD 0xD 0xF 0xF
0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF
0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF;
 };
 dedicated {
 reg = 0xffd07200 0x0044;
 altr,pinmux-regs = 0x0 0x0 0x0 0x8 0x8 0x8 0x8 0x8 0x8 0x8
0xF 0xF 0xF 0xF 0xF 0xD 0xD;
 };
 dedicated_cfg {
 reg = 0xffd07300 0x0048;
 altr,pinmux-regs = 0x0 0x51010 0x51010 0x51010 0x40605
0x40605 0x00605 0x40605 0x40605 0x40605
0x10605 0x51010 0x51010 0x51010 0x51010
0x51010 0x03030 0x23030;
 };
 fpga {
 reg = 0xffd07400 0x0044;
 altr,pinmux-regs = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0;
 };
 };

Does this match the kernel? Or does the kernel have no such binding yet?

There are no such bindings in the kernel yet.  Dynamic pinmuxing is not 
supported by the Arria 10; so we don't anticipate the kernel needing pinmux 
information.

We can support this in SPL if required.

Our prototyping is currently doing some device tree parsing.

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] RFC Pin Configuration Device Tree Bindings for Altera Arria10 SOCFPGA

2014-11-30 Thread Matthew Gerlach
Altera Arria10 SOCFPGA Pin Configuration Bindings

This document describes device tree bindings required to perform configuration
of the pins for an Altera Arria10 SOCFPGA .  The bindings are intended to
be compact and easy to be consumed only by a SPL running in a small on-chip
ram before external memory is available.  The Arria10 SOCFPGA does not support
dynamic modification of the pin configuration.

Each set of pins is represented by its own subnode. For each subnode, the
altr,pinmux-regs data will be written to sequential 32 bit addresses starting
at the address in the reg property.

Required properties:
 - compatible : Must be altr,arria10-pinmux for Arria10 SOCFPGA
 - one subnode for each set of pins to be configured

Required subnode properties:
 - reg : The start address to write pinmux-data as 32 bit quantities and the
number of bytes of registers to be written.
 - altr,pinmux-regs : Pin configuration data to be written to registers

Example:

pinmux@0xffd07000 {
#address-cells = 1;
#size-cells = 0;
compatible = altr,arria10-pinmux;
shared {
reg = 0xffd07000 0x00c0;
altr,pinmux-regs = 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF
   0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF
   0xD 0xD 0xD 0xD 0xD 0xD 0xD 0xD 0xF 0xF
   0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF
   0xF 0xF 0xF 0xF 0xF 0xF 0xF 0xF;
};
dedicated {
reg = 0xffd07200 0x0044;
altr,pinmux-regs = 0x0 0x0 0x0 0x8 0x8 0x8 0x8 0x8 0x8 0x8
   0xF 0xF 0xF 0xF 0xF 0xD 0xD;
};
dedicated_cfg {
reg = 0xffd07300 0x0048;
altr,pinmux-regs = 0x0 0x51010 0x51010 0x51010 0x40605
   0x40605 0x00605 0x40605 0x40605 0x40605
   0x10605 0x51010 0x51010 0x51010 0x51010
   0x51010 0x03030 0x23030;
};
fpga {
reg = 0xffd07400 0x0044;
altr,pinmux-regs = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
   0x0 0x0 0x0 0x0 0x0 0x0 0x0;
};
};
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot