RE: [RFC 3/5] arm: dts: dt-bindings: Add Renesas RZ pinctrl header

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday, January 31, 2017, Geert Uytterhoeven wrote:
> > This may become something like:
> >
> > #define ALT_FUNC_1       0
> > #define ALT_FUNC_2       1
> > #define ALT_FUNC_3       2
> > #define ALT_FUNC_4       3
> > #define ALT_FUNC_5       4
> > #define ALT_FUNC_6       5
> > #define ALT_FUNC_7       6
> > #define ALT_FUNC_8       7


ALT_FUNC_1 is still too long if you're going to OR things on 1 line in the DT.

I personally like:
#define ALT_1       0


> > #define PIN(b, p) b p
> > #define PIN_MUX(func, conf)     \
> >         ((func & 0xf) | ((conf) << 16))
> >
> > and in DTS sources you would describe a pin as
> >
> > pins = <PIN(bank, pin) PIN_MUX(ALT_FUNC_1, INPUT | BIDIRECTIONAL)>;
> >
> > We can drop the PIN macro as it does not bring anything I agree, but
> > it's nicer to see imho
> 
> ... you can keep plain 1-based numbers for alternate functions, and use
> the definitions for flags, e.g.:
> 
>      pins = <PIN(bank, pin) (1 | INPUT_MODE | BIDIRECTIONAL)>;


To Geert's point, nothing is going to be "shorter" than just using
'1','2','3',etc..


I also think "BIDIRECTIONAL" >> "BIDIR"

Or....we could make life easy on people and #define the pins that
are tricky:


#define I2C		BIDIRECTIONAL
#define SDHI_DATA	BIDIRECTIONAL
#define SDHI_CTRL /* none */
#define RSPI	/* none */
#define ETHERNET	/* none */


Chris

��.n��������+%������w��{.n�����{��
b���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux