All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: qiaozhou <qiaozhou@asrmicro.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/7] dt-bindings: add header file of ASR8751C pinctrl driver
Date: Sun, 31 Mar 2019 01:41:39 -0500	[thread overview]
Message-ID: <20190331011915.GA7376@bogus> (raw)
In-Reply-To: <1553349688-1946-7-git-send-email-qiaozhou@asrmicro.com>

On Sat, Mar 23, 2019 at 10:01:27PM +0800, qiaozhou wrote:
> From: Qiao Zhou <qiaozhou@asrmicro.com>
> 
> Add pinctrl definition and configuration of ASR8751C pins. The
> configuration contains pull up/down, driver strength, edge detection,
> multiple function etc.
> 
> Signed-off-by: qiaozhou <qiaozhou@asrmicro.com>
> ---
>  include/dt-bindings/pinctrl/asr8751c-pinfunc.h | 341 +++++++++++++++++++++++++
>  1 file changed, 341 insertions(+)
>  create mode 100644 include/dt-bindings/pinctrl/asr8751c-pinfunc.h
> 
> diff --git a/include/dt-bindings/pinctrl/asr8751c-pinfunc.h b/include/dt-bindings/pinctrl/asr8751c-pinfunc.h
> new file mode 100644
> index 0000000..b326a6d
> --- /dev/null
> +++ b/include/dt-bindings/pinctrl/asr8751c-pinfunc.h
> @@ -0,0 +1,341 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * This header provides constants for ASR Aquila pinctrl bindings.
> + *
> + * Copyright (c) 2019, ASR Microelectronics(Shanghai) Co., Ltd.
> + * All rights reserved.
> + *
> + * Author: Tim Wang <timwang@asrmicro.com>
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms and conditions of the GNU General Public License,
> + * version 2, as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> + * more details.

Don't need the GPL boilerplate with the SPDX tag.

> + */
> +
> +#ifndef __DTS_ASR8751C_PINFUNC_H
> +#define __DTS_ASR8751C_PINFUNC_H
> +
> +/*
> + * drive-strength = <value mask>
> + * SLOW0:  < 75MHz
> + * SLOW1:  < 150MHz
> + * MEDIUM: < 200MHz
> + * FAST:   > 200MHz
> + */
> +#define DS_SLOW0		pinctrl-single,drive-strength = <0x0000 0x1800>
> +#define DS_SLOW1		pinctrl-single,drive-strength = <0x0800 0x1800>
> +#define DS_MEDIUM		pinctrl-single,drive-strength = <0x1000 0x1800>
> +#define DS_FAST			pinctrl-single,drive-strength = <0x1800 0x1800>

Don't do complex definitions. Keep it to simple value defines.

> +
> +/*
> + * Edge detect setting
> + * input-schmitt = <value mask>;
> + * input-schmitt-enable = <value enable disable mask>
> + */
> +
> +/* no edge detect */
> +#define EDGE_NONE		pinctrl-single,input-schmitt		= <0x00 0x30>;	\
> +				pinctrl-single,input-schmitt-enable	= <0x40 0x00 0x40 0x40>
> +/* enable edge fall detect only*/
> +#define EDGE_FALL		pinctrl-single,input-schmitt		= <0x20 0x30>;	\
> +				pinctrl-single,input-schmitt-enable	= <0x00 0x00 0x40 0x40>
> +/* enable edge rise detect only */
> +#define EDGE_RISE		pinctrl-single,input-schmitt		= <0x10 0x30>;	\
> +				pinctrl-single,input-schmitt-enable	= <0x00 0x00 0x40 0x40>
> +/* enable edge fall/rise detect */
> +#define EDGE_BOTH		pinctrl-single,input-schmitt		= <0x30 0x30>;	\
> +				pinctrl-single,input-schmitt-enable	= <0x00 0x00 0x40 0x40>
> +
> +/*
> + * bias-pullup = <value enable disable mask>;
> + * bias-pulldown = <value enable disable mask>
> + */
> +
> +/* PULL_SEL controlled by Alternative Function */
> +#define PULL_NONE		pinctrl-single,bias-pullup	= <0x0000 0xc000 0x0000 0xc000>;	\
> +				pinctrl-single,bias-pulldown	= <0x0000 0xa000 0x0000 0xa000>
> +/* PULL_SEL controlled by MFPR, enable PULL_UP, disable PULL_DOWN */
> +#define PULL_UP			pinctrl-single,bias-pullup	= <0xc000 0xc000 0x0000 0xc000>;	\
> +				pinctrl-single,bias-pulldown	= <0x8000 0xa000 0x8000 0xa000>
> +/* PULL_SEL controlled by MFPR, disable PULL_UP, enable PULL_DOWN */
> +#define PULL_DOWN		pinctrl-single,bias-pullup	= <0x8000 0xc000 0x8000 0xc000>; \
> +				pinctrl-single,bias-pulldown	= <0xa000 0xa000 0x0000 0xa000>
> +/* PULL_SEL controlled by MFPR, enable PULL_UP and PULL_DOWN */
> +#define PULL_BOTH		pinctrl-single,bias-pullup	= <0xc000 0xc000 0x8000 0xc000>; \
> +				pinctrl-single,bias-pulldown	= <0xa000 0xa000 0x8000 0xa000>
> +/* PULL_SEL controlled by MFPR, disable PULL_UP and PULL_DOWN */
> +#define PULL_FLOAT		pinctrl-single,bias-pullup	= <0x8000 0x8000 0x0000 0xc000>;	\
> +				pinctrl-single,bias-pulldown	= <0x8000 0x8000 0x0000 0xa000>
> +/* Low Power Mode settings */
> +/* no LPM setting, LPM state same as active */
> +#define LPM_NONE		pinctrl-single,low-power-mode = <0x000 0x388>
> +/* LPM, output 0 */
> +#define LPM_DRIVE_LOW		pinctrl-single,low-power-mode = <0x208 0x388>
> +/* LPM, output 1*/
> +#define LPM_DRIVE_HIGH		pinctrl-single,low-power-mode = <0x308 0x388>
> +/* LPM, input state */
> +#define LPM_FLOAT		pinctrl-single,low-power-mode = <0x288 0x388>
> +
> +/* Active settings */
> +#define MFP_DEFAULT		DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_NONE
> +#define MFP_PULL_UP		DS_MEDIUM;PULL_UP;EDGE_NONE;LPM_NONE
> +#define MFP_PULL_DOWN		DS_MEDIUM;PULL_DOWN;EDGE_NONE;LPM_NONE
> +#define MFP_PULL_FLOAT		DS_MEDIUM;PULL_FLOAT;EDGE_NONE;LPM_NONE
> +
> +/* LPM output */
> +#define MFP_LPM_DRIVE_HIGH	DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_DRIVE_HIGH
> +#define MFP_LPM_DRIVE_LOW	DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_DRIVE_LOW
> +
> +/* LPM input */
> +#define MFP_LPM_FLOAT		DS_MEDIUM;PULL_NONE;EDGE_NONE;LPM_FLOAT
> +#define MFP_LPM_PULL_UP		DS_MEDIUM;PULL_UP;EDGE_NONE;LPM_FLOAT
> +#define MFP_LPM_PULL_DW		DS_MEDIUM;PULL_DOWN;EDGE_NONE;LPM_FLOAT
> +
> +/*
> + * MFP alternative functions 0-7
> + */
> +#define AF0			0x0
> +#define AF1			0x1
> +#define AF2			0x2
> +#define AF3			0x3
> +#define AF4			0x4
> +#define AF5			0x5
> +#define AF6			0x6
> +#define AF7			0x7
> +
> +/*
> + * Pin names and MFPR addresses
> + */
> +#define MFPR_OFFSET(x)	((x) << 2)
> +#define GPIO_00		MFPR_OFFSET(1)
> +#define GPIO_01		MFPR_OFFSET(2)
> +#define GPIO_02		MFPR_OFFSET(3)
> +#define GPIO_03		MFPR_OFFSET(4)
> +#define GPIO_04		MFPR_OFFSET(5)
> +#define GPIO_05		MFPR_OFFSET(6)
> +#define GPIO_06		MFPR_OFFSET(7)
> +#define GPIO_07		MFPR_OFFSET(8)
> +#define GPIO_08		MFPR_OFFSET(9)
> +#define GPIO_09		MFPR_OFFSET(10)
> +#define GPIO_10		MFPR_OFFSET(11)
> +#define GPIO_11		MFPR_OFFSET(12)
> +#define GPIO_12		MFPR_OFFSET(13)
> +#define GPIO_13		MFPR_OFFSET(14)
> +#define GPIO_14		MFPR_OFFSET(15)
> +#define GPIO_15		MFPR_OFFSET(16)
> +#define GPIO_16		MFPR_OFFSET(17)
> +#define GPIO_17		MFPR_OFFSET(18)
> +#define GPIO_18		MFPR_OFFSET(19)
> +#define GPIO_19		MFPR_OFFSET(20)
> +#define GPIO_20		MFPR_OFFSET(21)
> +#define GPIO_21		MFPR_OFFSET(22)
> +#define GPIO_22		MFPR_OFFSET(23)
> +#define GPIO_23		MFPR_OFFSET(24)
> +#define GPIO_24		MFPR_OFFSET(25)
> +#define GPIO_25		MFPR_OFFSET(26)
> +#define RXTXEN		MFPR_OFFSET(27)
> +#define PRI_TXFRAME	MFPR_OFFSET(28)
> +#define SPI0_EN		MFPR_OFFSET(29)
> +#define RF_RESET_N	MFPR_OFFSET(30)
> +#define SEC_SYSCLKEN	MFPR_OFFSET(31)
> +#define PRI_RXFRAME	MFPR_OFFSET(32)
> +#define PRI_RBDP0_0	MFPR_OFFSET(33)
> +#define PRI_RBDP0_1	MFPR_OFFSET(34)
> +#define PRI_RBDP0_2	MFPR_OFFSET(35)
> +#define PRI_RBDP0_3	MFPR_OFFSET(36)
> +#define PRI_RBDP0_4	MFPR_OFFSET(37)
> +#define PRI_RBDP0_5	MFPR_OFFSET(38)
> +#define PRI_RBDP0_6	MFPR_OFFSET(39)
> +#define PRI_RBDP0_7	MFPR_OFFSET(40)
> +#define PRI_RBDP0_8	MFPR_OFFSET(41)
> +#define PRI_RBDP0_9	MFPR_OFFSET(42)
> +#define PRI_RBDP0_10	MFPR_OFFSET(43)
> +#define PRI_MCLK	MFPR_OFFSET(98)
> +#define PRI_RBDP0_11	MFPR_OFFSET(44)
> +#define RXTXDATA	MFPR_OFFSET(45)
> +#define SYSCLK_OUT	MFPR_OFFSET(46)
> +#define PRI_FCLK	MFPR_OFFSET(47)
> +#define PRI_RBDP1_0	MFPR_OFFSET(48)
> +#define PRI_RBDP1_1	MFPR_OFFSET(49)
> +#define SPI0_CLK	MFPR_OFFSET(50)
> +#define PRI_RBDP1_2	MFPR_OFFSET(51)
> +#define PRI_RBDP1_3	MFPR_OFFSET(52)
> +#define PRI_RBDP1_4	MFPR_OFFSET(53)
> +#define PRI_RBDP1_5	MFPR_OFFSET(54)
> +#define PRI_RBDP1_6	MFPR_OFFSET(55)
> +#define PRI_RBDP1_7	MFPR_OFFSET(56)
> +#define PRI_RBDP1_8	MFPR_OFFSET(57)
> +#define PRI_RBDP1_9	MFPR_OFFSET(58)
> +#define SPI0_DIO	MFPR_OFFSET(59)
> +#define PRI_RBDP1_10	MFPR_OFFSET(60)
> +#define PRI_RBDP1_11	MFPR_OFFSET(61)
> +#define SPI1_EN		MFPR_OFFSET(62)
> +#define SEC_RXFRAME	MFPR_OFFSET(63)
> +#define SEC_RBDP0_0	MFPR_OFFSET(64)
> +#define SEC_RBDP0_1	MFPR_OFFSET(65)
> +#define SEC_RBDP0_2	MFPR_OFFSET(66)
> +#define SEC_RBDP0_3	MFPR_OFFSET(67)
> +#define SEC_RBDP0_4	MFPR_OFFSET(68)
> +#define SEC_RBDP0_5	MFPR_OFFSET(69)
> +#define SEC_RBDP0_6	MFPR_OFFSET(70)
> +#define SEC_RBDP0_7	MFPR_OFFSET(71)
> +#define SEC_RBDP0_8	MFPR_OFFSET(72)
> +#define SEC_RBDP0_9	MFPR_OFFSET(73)
> +#define SEC_RBDP0_10	MFPR_OFFSET(74)
> +#define SEC_MCLK	MFPR_OFFSET(99)
> +#define SEC_RBDP0_11	MFPR_OFFSET(75)
> +#define SPI1_CLK	MFPR_OFFSET(76)
> +#define SPI1_DIO	MFPR_OFFSET(77)
> +#define CP_GPO_0	MFPR_OFFSET(78)
> +#define CP_GPO_1	MFPR_OFFSET(79)
> +#define CP_GPO_2	MFPR_OFFSET(80)
> +#define CP_GPO_3	MFPR_OFFSET(81)
> +#define CP_GPO_4	MFPR_OFFSET(82)
> +#define CP_GPO_5	MFPR_OFFSET(83)
> +#define CP_GPO_6	MFPR_OFFSET(84)
> +#define CP_GPO_7	MFPR_OFFSET(85)
> +#define CP_GPO_8	MFPR_OFFSET(86)
> +#define CP_GPO_9	MFPR_OFFSET(87)
> +#define CP_GPO_10	MFPR_OFFSET(88)
> +#define CP_GPO_11	MFPR_OFFSET(89)
> +#define CP_GPO_12	MFPR_OFFSET(90)
> +#define CP_GPO_13	MFPR_OFFSET(91)
> +#define CP_GPO_14	MFPR_OFFSET(92)
> +#define CP_GPO_15	MFPR_OFFSET(93)
> +#define CP_UART_RXD	MFPR_OFFSET(94)
> +#define CP_UART_TXD	MFPR_OFFSET(95)
> +#define CP_UART_RTS	MFPR_OFFSET(96)
> +#define CP_UART_CTS	MFPR_OFFSET(97)
> +#define USIM2_UCLK	MFPR_OFFSET(100)
> +#define USIM2_UIO	MFPR_OFFSET(101)
> +#define USIM2_URSTn	MFPR_OFFSET(102)
> +#define USIM_UCLK	MFPR_OFFSET(103)
> +#define USIM_UIO	MFPR_OFFSET(104)
> +#define USIM_URSTn	MFPR_OFFSET(105)
> +#define MMC1_DAT3	MFPR_OFFSET(110)
> +#define MMC1_DAT2	MFPR_OFFSET(111)
> +#define MMC1_DAT1	MFPR_OFFSET(112)
> +#define MMC1_DAT0	MFPR_OFFSET(113)
> +#define MMC1_CMD	MFPR_OFFSET(114)
> +#define MMC1_CLK	MFPR_OFFSET(115)
> +#define PWR_SCL		MFPR_OFFSET(118)
> +#define PWR_SDA		MFPR_OFFSET(119)
> +#define VCXO_EN		MFPR_OFFSET(120)
> +#define VBAT_DROP	MFPR_OFFSET(121)
> +#define PMIC_INT_N	MFPR_OFFSET(122)
> +#define PRI_TDI		MFPR_OFFSET(123)
> +#define PRI_TMS		MFPR_OFFSET(124)
> +#define PRI_TCK		MFPR_OFFSET(125)
> +#define PRI_TDO		MFPR_OFFSET(126)
> +#define SLAVE_RESET_OUT	MFPR_OFFSET(127)
> +#define VCXO_REQ1	MFPR_OFFSET(128)
> +#define VCXO_REQ	MFPR_OFFSET(129)
> +#define VCXO_OUT	MFPR_OFFSET(130)
> +#define GPIO_26		MFPR_OFFSET(131)
> +#define GPIO_27		MFPR_OFFSET(132)
> +#define GPIO_28		MFPR_OFFSET(133)
> +#define GPIO_29		MFPR_OFFSET(134)
> +#define GPIO_30		MFPR_OFFSET(135)
> +#define GPIO_31		MFPR_OFFSET(136)
> +#define GPIO_32		MFPR_OFFSET(137)
> +#define GPIO_33		MFPR_OFFSET(138)
> +#define GPIO_34		MFPR_OFFSET(139)
> +#define GPIO_35		MFPR_OFFSET(140)
> +#define GPIO_36		MFPR_OFFSET(141)
> +#define GPIO_37		MFPR_OFFSET(142)
> +#define GPIO_38		MFPR_OFFSET(143)
> +#define GPIO_39		MFPR_OFFSET(144)
> +#define GPIO_40		MFPR_OFFSET(145)
> +#define GPIO_41		MFPR_OFFSET(146)
> +#define GPIO_42		MFPR_OFFSET(147)
> +#define GPIO_43		MFPR_OFFSET(148)
> +#define GPIO_44		MFPR_OFFSET(149)
> +#define GPIO_45		MFPR_OFFSET(150)
> +#define GPIO_46		MFPR_OFFSET(151)
> +#define GPIO_47		MFPR_OFFSET(152)
> +#define GPIO_48		MFPR_OFFSET(153)
> +#define GPIO_49		MFPR_OFFSET(154)
> +#define GPIO_50		MFPR_OFFSET(155)
> +#define GPIO_51		MFPR_OFFSET(156)
> +#define GPIO_52		MFPR_OFFSET(157)
> +#define GPIO_53		MFPR_OFFSET(158)
> +#define GPIO_54		MFPR_OFFSET(159)
> +#define GPIO_55		MFPR_OFFSET(160)
> +#define GPIO_56		MFPR_OFFSET(161)
> +#define GPIO_57		MFPR_OFFSET(162)
> +#define GPIO_58		MFPR_OFFSET(163)
> +#define GPIO_59		MFPR_OFFSET(164)
> +#define GPIO_60		MFPR_OFFSET(165)
> +#define GPIO_61		MFPR_OFFSET(166)
> +#define GPIO_62		MFPR_OFFSET(167)
> +#define GPIO_63		MFPR_OFFSET(168)
> +#define GPIO_64		MFPR_OFFSET(169)
> +#define GPIO_65		MFPR_OFFSET(170)
> +#define GPIO_66		MFPR_OFFSET(171)
> +#define GPIO_67		MFPR_OFFSET(172)
> +#define GPIO_68		MFPR_OFFSET(173)
> +#define GPIO_69		MFPR_OFFSET(174)
> +#define GPIO_70		MFPR_OFFSET(175)
> +#define GPIO_71		MFPR_OFFSET(176)
> +#define GPIO_72		MFPR_OFFSET(177)
> +#define GPIO_73		MFPR_OFFSET(178)
> +#define GPIO_74		MFPR_OFFSET(179)
> +#define GPIO_75		MFPR_OFFSET(180)
> +#define GPIO_76		MFPR_OFFSET(181)
> +#define GPIO_77		MFPR_OFFSET(182)
> +#define GPIO_78		MFPR_OFFSET(183)
> +#define GPIO_79		MFPR_OFFSET(184)
> +#define GPIO_80		MFPR_OFFSET(185)
> +#define GPIO_81		MFPR_OFFSET(186)
> +#define GPIO_82		MFPR_OFFSET(187)
> +#define GPIO_83		MFPR_OFFSET(188)
> +#define GPIO_84		MFPR_OFFSET(189)
> +#define GPIO_85		MFPR_OFFSET(190)
> +#define GPIO_86		MFPR_OFFSET(191)
> +#define GPIO_87		MFPR_OFFSET(192)
> +#define GPIO_88		MFPR_OFFSET(193)
> +#define GPIO_89		MFPR_OFFSET(194)
> +#define GPIO_90		MFPR_OFFSET(195)
> +#define GPIO_91		MFPR_OFFSET(196)
> +#define GPIO_92		MFPR_OFFSET(197)
> +#define GPIO_93		MFPR_OFFSET(198)
> +#define GPIO_94		MFPR_OFFSET(199)
> +#define GPIO_95		MFPR_OFFSET(200)
> +#define GPIO_96		MFPR_OFFSET(201)
> +#define GPIO_97		MFPR_OFFSET(202)
> +#define GPIO_98		MFPR_OFFSET(203)
> +#define GPIO_99		MFPR_OFFSET(204)
> +#define GPIO_100	MFPR_OFFSET(205)
> +#define GPIO_101	MFPR_OFFSET(206)
> +#define GPIO_102	MFPR_OFFSET(207)
> +#define GPIO_103	MFPR_OFFSET(208)
> +#define GPIO_104	MFPR_OFFSET(209)
> +#define GPIO_105	MFPR_OFFSET(210)
> +#define GPIO_106	MFPR_OFFSET(211)
> +#define GPIO_107	MFPR_OFFSET(212)
> +#define GPIO_108	MFPR_OFFSET(213)
> +#define GPIO_109	MFPR_OFFSET(214)
> +#define GPIO_110	MFPR_OFFSET(215)
> +#define GPIO_111	MFPR_OFFSET(216)
> +#define GPIO_112	MFPR_OFFSET(217)
> +#define GPIO_113	MFPR_OFFSET(218)
> +#define GPIO_114	MFPR_OFFSET(219)
> +#define GPIO_115	MFPR_OFFSET(220)
> +#define GPIO_116	MFPR_OFFSET(221)
> +#define GPIO_117	MFPR_OFFSET(222)
> +#define GPIO_118	MFPR_OFFSET(223)
> +#define GPIO_119	MFPR_OFFSET(224)
> +#define GPIO_120	MFPR_OFFSET(225)
> +#define GPIO_121	MFPR_OFFSET(226)
> +#define GPIO_122	MFPR_OFFSET(227)
> +#define GPIO_123	MFPR_OFFSET(228)
> +#define GPIO_124	MFPR_OFFSET(229)
> +#define GPIO_125	MFPR_OFFSET(230)
> +#define GPIO_126	MFPR_OFFSET(231)
> +#define GPIO_127	MFPR_OFFSET(232)
> +#endif /* __DTS_ASR8751C_PINFUNC_H */
> -- 
> 2.7.4
> 

  reply	other threads:[~2019-03-31  6:41 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-23 14:01 [PATCH 0/7] Add dts files for ASR8751C SoC qiaozhou
2019-03-23 14:01 ` qiaozhou
2019-03-23 14:01 ` [PATCH 1/7] dt-bindings: arm: asr: add ASR8751C bindings qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-31  6:41   ` Rob Herring
2019-03-23 14:01 ` [PATCH 2/7] dt-bindings: bus: add ASR8751C APB/AXI bindings qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-31  6:41   ` Rob Herring
2019-03-23 14:01 ` [PATCH 3/7] dt-bindings: clocks: add ASR8751C bindings qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-31  6:41   ` Rob Herring
2019-03-23 14:01 ` [PATCH 4/7] dt-bindings: serial: add ASR8751C serial bindings qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-31  6:41   ` Rob Herring
2019-03-23 14:01 ` [PATCH 5/7] dt-bindings: Add header file of ASR8751C clock driver qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-23 14:01 ` [PATCH 6/7] dt-bindings: add header file of ASR8751C pinctrl driver qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-31  6:41   ` Rob Herring [this message]
2019-03-23 14:01 ` [PATCH 7/7] arm64: dts: add dts files for asr Aquilac SoC qiaozhou
2019-03-23 14:01   ` qiaozhou
2019-03-31  6:41   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190331011915.GA7376@bogus \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=qiaozhou@asrmicro.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.