[U-Boot] RFC Pin Configuration Device Tree Bindings for Altera Arria10 SOCFPGA
Simon Glass
sjg at chromium.org
Wed Dec 3 18:36:39 CET 2014
Hi,
On 3 December 2014 at 06:48, Pavel Machek <pavel at 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?
>
> Do we really want to parse DT in SPL? Should we parse the DT during
> build for the SPL?
>
> Pavel
>
>>
>> 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 at 0xffd07000 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>> compatible = "altr,arria10-pinmux";
>> shared {
>> reg = <0xffd07000 0x000000c0>;
>> 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 0x00000044>;
>> altr,pinmux-regs = <0x0 0x0 0x0 0x8 0x8 0x8 0x8 0x8 0x8 0x8
>> 0xF 0xF 0xF 0xF 0xF 0xD 0xD>;
>> };
>> dedicated_cfg {
>> reg = <0xffd07300 0x00000048>;
>> altr,pinmux-regs = <0x00000 0x51010 0x51010 0x51010 0x40605
>> 0x40605 0x00605 0x40605 0x40605 0x40605
>> 0x10605 0x51010 0x51010 0x51010 0x51010
>> 0x51010 0x03030 0x23030>;
>> };
>> fpga {
>> reg = <0xffd07400 0x00000044>;
>> 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?
We can support this in SPL if required.
Regards,
Simon
More information about the U-Boot
mailing list