All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Alim Akhtar <alim.akhtar@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, soc@kernel.org,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	olof@lixom.net, linus.walleij@linaro.org,
	catalin.marinas@arm.com, robh+dt@kernel.org,
	krzysztof.kozlowski@canonical.com, s.nawrocki@samsung.com,
	linux-samsung-soc@vger.kernel.org, pankaj.dubey@samsung.com,
	linux-fsd@tesla.com, linux-iio@vger.kernel.org,
	Tamseel Shams <m.shams@samsung.com>
Subject: Re: [PATCH 21/23] iio: adc: exynos-adc: Add support for ADC V3 controller
Date: Sun, 16 Jan 2022 11:19:39 +0000	[thread overview]
Message-ID: <20220116111939.413ece7e@jic23-huawei> (raw)
In-Reply-To: <20220113121143.22280-22-alim.akhtar@samsung.com>

On Thu, 13 Jan 2022 17:41:41 +0530
Alim Akhtar <alim.akhtar@samsung.com> wrote:

> Exynos's ADC-V3 has some difference in registers set, number of
> programmable channels (16 channel) etc. This patch adds support for ADC-V3
> controller version.
> 
> Cc: linux-fsd@tesla.com
> Cc: jic23@kernel.org
> Cc: linux-iio@vger.kernel.org
> Signed-off-by: Tamseel Shams <m.shams@samsung.com>
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>

Hi Alim,

A few minor suggestions below.  I'm not seeing a binding update though...

I'd also suggest that it would be more appropriate to break this out as
a separate mini series from the main support so that it can be reviewed
and merge separately. It's not ideal when a list just gets patch 21 of
23 with no cover letter etc sent to it.

Jonathan

> ---
>  drivers/iio/adc/exynos_adc.c | 74 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 72 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
> index 3b3868aa2533..61752e798fd6 100644
> --- a/drivers/iio/adc/exynos_adc.c
> +++ b/drivers/iio/adc/exynos_adc.c
> @@ -55,6 +55,11 @@
>  #define ADC_V2_INT_ST(x)	((x) + 0x14)
>  #define ADC_V2_VER(x)		((x) + 0x20)
>  
> +/* ADC_V3 register definitions */
> +#define ADC_V3_DAT(x)			((x) + 0x08)
> +#define ADC_V3_DAT_SUM(x)		((x) + 0x0C)
> +#define ADC_V3_DBG_DATA(x)		((x) + 0x1C)
> +
>  /* Bit definitions for ADC_V1 */
>  #define ADC_V1_CON_RES		(1u << 16)
>  #define ADC_V1_CON_PRSCEN	(1u << 14)
> @@ -92,6 +97,7 @@
>  
>  /* Bit definitions for ADC_V2 */
>  #define ADC_V2_CON1_SOFT_RESET	(1u << 2)
> +#define ADC_V2_CON1_SOFT_NON_RESET	(1u << 1)
>  
>  #define ADC_V2_CON2_OSEL	(1u << 10)
>  #define ADC_V2_CON2_ESEL	(1u << 9)
> @@ -100,6 +106,7 @@
>  #define ADC_V2_CON2_ACH_SEL(x)	(((x) & 0xF) << 0)
>  #define ADC_V2_CON2_ACH_MASK	0xF
>  
> +#define MAX_ADC_V3_CHANNELS		16
>  #define MAX_ADC_V2_CHANNELS		10
>  #define MAX_ADC_V1_CHANNELS		8
>  #define MAX_EXYNOS3250_ADC_CHANNELS	2

Given we have a mixture of required an unrequired elements in this structure
it might be a good idea to add some documentation.  Kernel-doc for the whole
structure preferred.  Note this isn't necessarily something that needs to be
in this patch given the lack of docs predates this and with the change to make
adc_isr() required that I suggest below things aren't made worse by this patch.

> @@ -164,6 +171,7 @@ struct exynos_adc_data {
>  	void (*exit_hw)(struct exynos_adc *info);
>  	void (*clear_irq)(struct exynos_adc *info);
>  	void (*start_conv)(struct exynos_adc *info, unsigned long addr);
> +	irqreturn_t (*adc_isr)(int irq, void *dev_id);
>  };
>  
>  static void exynos_adc_unprepare_clk(struct exynos_adc *info)
> @@ -484,6 +492,59 @@ static const struct exynos_adc_data exynos7_adc_data = {
>  	.start_conv	= exynos_adc_v2_start_conv,
>  };
>  
> +static void exynos_adc_v3_init_hw(struct exynos_adc *info)
> +{
> +	u32 con2;
> +
> +	writel(ADC_V2_CON1_SOFT_RESET, ADC_V2_CON1(info->regs));
> +
> +	writel(ADC_V2_CON1_SOFT_NON_RESET, ADC_V2_CON1(info->regs));
> +
> +	con2 = ADC_V2_CON2_C_TIME(6);
> +	writel(con2, ADC_V2_CON2(info->regs));
> +
> +	/* Enable interrupts */
> +	writel(1, ADC_V2_INT_EN(info->regs));
> +}
> +
> +static void exynos_adc_v3_exit_hw(struct exynos_adc *info)
> +{
> +	u32 con2;
> +
> +	con2 = readl(ADC_V2_CON2(info->regs));
> +	con2 &= ~ADC_V2_CON2_C_TIME(7);
> +	writel(con2, ADC_V2_CON2(info->regs));
> +
> +	/* Disable interrupts */
> +	writel(0, ADC_V2_INT_EN(info->regs));
> +}
> +
> +static irqreturn_t exynos_adc_v3_isr(int irq, void *dev_id)
> +{
> +	struct exynos_adc *info = (struct exynos_adc *)dev_id;

Shouldn't need the cast as cast from void * to another pointer
is always valid in C without the explicit cast.

> +	u32 mask = info->data->mask;
> +
> +	info->value = readl(ADC_V3_DAT(info->regs)) & mask;
> +
> +	if (info->data->clear_irq)
> +		info->data->clear_irq(info);

Don't need this currently as v3_isr() is always matched
with clear_isr() being provided.  Having the check implies
otherwise which is probably not a good thing to do until some future
device support (maybe) needs it.

> +
> +	complete(&info->completion);
> +
> +	return IRQ_HANDLED;
> +}
> +
> +static const struct exynos_adc_data exynos_adc_v3_adc_data = {
> +	.num_channels	= MAX_ADC_V3_CHANNELS,
> +	.mask		= ADC_DATX_MASK, /* 12 bit ADC resolution */
> +
> +	.init_hw	= exynos_adc_v3_init_hw,
> +	.exit_hw	= exynos_adc_v3_exit_hw,
> +	.clear_irq	= exynos_adc_v2_clear_irq,
> +	.start_conv	= exynos_adc_v2_start_conv,
> +	.adc_isr	= exynos_adc_v3_isr,
> +};
> +
>  static const struct of_device_id exynos_adc_match[] = {
>  	{
>  		.compatible = "samsung,s3c2410-adc",
> @@ -518,6 +579,9 @@ static const struct of_device_id exynos_adc_match[] = {
>  	}, {
>  		.compatible = "samsung,exynos7-adc",
>  		.data = &exynos7_adc_data,
> +	}, {
> +		.compatible = "samsung,exynos-adc-v3",
> +		.data = &exynos_adc_v3_adc_data,
>  	},
>  	{},
>  };
> @@ -719,6 +783,12 @@ static const struct iio_chan_spec exynos_adc_iio_channels[] = {
>  	ADC_CHANNEL(7, "adc7"),
>  	ADC_CHANNEL(8, "adc8"),
>  	ADC_CHANNEL(9, "adc9"),
> +	ADC_CHANNEL(10, "adc10"),
> +	ADC_CHANNEL(11, "adc11"),
> +	ADC_CHANNEL(12, "adc12"),
> +	ADC_CHANNEL(13, "adc13"),
> +	ADC_CHANNEL(14, "adc14"),
> +	ADC_CHANNEL(15, "adc15"),
>  };
>  
>  static int exynos_adc_remove_devices(struct device *dev, void *c)
> @@ -885,8 +955,8 @@ static int exynos_adc_probe(struct platform_device *pdev)
>  
>  	mutex_init(&info->lock);
>  
> -	ret = request_irq(info->irq, exynos_adc_isr,
> -					0, dev_name(&pdev->dev), info);
> +	ret = request_irq(info->irq, info->data->adc_isr ? info->data->adc_isr :
> +				exynos_adc_isr, 0, dev_name(&pdev->dev), info);

I'd rather see the slightly larger change of providing adc_isr for existing
parts and the conditional part here going away.

Jonathan


>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "failed requesting irq, irq = %d\n",
>  							info->irq);


WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <jic23@kernel.org>
To: Alim Akhtar <alim.akhtar@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, soc@kernel.org,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	olof@lixom.net, linus.walleij@linaro.org,
	catalin.marinas@arm.com, robh+dt@kernel.org,
	krzysztof.kozlowski@canonical.com, s.nawrocki@samsung.com,
	linux-samsung-soc@vger.kernel.org, pankaj.dubey@samsung.com,
	linux-fsd@tesla.com, linux-iio@vger.kernel.org,
	Tamseel Shams <m.shams@samsung.com>
Subject: Re: [PATCH 21/23] iio: adc: exynos-adc: Add support for ADC V3 controller
Date: Sun, 16 Jan 2022 11:19:39 +0000	[thread overview]
Message-ID: <20220116111939.413ece7e@jic23-huawei> (raw)
In-Reply-To: <20220113121143.22280-22-alim.akhtar@samsung.com>

On Thu, 13 Jan 2022 17:41:41 +0530
Alim Akhtar <alim.akhtar@samsung.com> wrote:

> Exynos's ADC-V3 has some difference in registers set, number of
> programmable channels (16 channel) etc. This patch adds support for ADC-V3
> controller version.
> 
> Cc: linux-fsd@tesla.com
> Cc: jic23@kernel.org
> Cc: linux-iio@vger.kernel.org
> Signed-off-by: Tamseel Shams <m.shams@samsung.com>
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>

Hi Alim,

A few minor suggestions below.  I'm not seeing a binding update though...

I'd also suggest that it would be more appropriate to break this out as
a separate mini series from the main support so that it can be reviewed
and merge separately. It's not ideal when a list just gets patch 21 of
23 with no cover letter etc sent to it.

Jonathan

> ---
>  drivers/iio/adc/exynos_adc.c | 74 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 72 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/adc/exynos_adc.c b/drivers/iio/adc/exynos_adc.c
> index 3b3868aa2533..61752e798fd6 100644
> --- a/drivers/iio/adc/exynos_adc.c
> +++ b/drivers/iio/adc/exynos_adc.c
> @@ -55,6 +55,11 @@
>  #define ADC_V2_INT_ST(x)	((x) + 0x14)
>  #define ADC_V2_VER(x)		((x) + 0x20)
>  
> +/* ADC_V3 register definitions */
> +#define ADC_V3_DAT(x)			((x) + 0x08)
> +#define ADC_V3_DAT_SUM(x)		((x) + 0x0C)
> +#define ADC_V3_DBG_DATA(x)		((x) + 0x1C)
> +
>  /* Bit definitions for ADC_V1 */
>  #define ADC_V1_CON_RES		(1u << 16)
>  #define ADC_V1_CON_PRSCEN	(1u << 14)
> @@ -92,6 +97,7 @@
>  
>  /* Bit definitions for ADC_V2 */
>  #define ADC_V2_CON1_SOFT_RESET	(1u << 2)
> +#define ADC_V2_CON1_SOFT_NON_RESET	(1u << 1)
>  
>  #define ADC_V2_CON2_OSEL	(1u << 10)
>  #define ADC_V2_CON2_ESEL	(1u << 9)
> @@ -100,6 +106,7 @@
>  #define ADC_V2_CON2_ACH_SEL(x)	(((x) & 0xF) << 0)
>  #define ADC_V2_CON2_ACH_MASK	0xF
>  
> +#define MAX_ADC_V3_CHANNELS		16
>  #define MAX_ADC_V2_CHANNELS		10
>  #define MAX_ADC_V1_CHANNELS		8
>  #define MAX_EXYNOS3250_ADC_CHANNELS	2

Given we have a mixture of required an unrequired elements in this structure
it might be a good idea to add some documentation.  Kernel-doc for the whole
structure preferred.  Note this isn't necessarily something that needs to be
in this patch given the lack of docs predates this and with the change to make
adc_isr() required that I suggest below things aren't made worse by this patch.

> @@ -164,6 +171,7 @@ struct exynos_adc_data {
>  	void (*exit_hw)(struct exynos_adc *info);
>  	void (*clear_irq)(struct exynos_adc *info);
>  	void (*start_conv)(struct exynos_adc *info, unsigned long addr);
> +	irqreturn_t (*adc_isr)(int irq, void *dev_id);
>  };
>  
>  static void exynos_adc_unprepare_clk(struct exynos_adc *info)
> @@ -484,6 +492,59 @@ static const struct exynos_adc_data exynos7_adc_data = {
>  	.start_conv	= exynos_adc_v2_start_conv,
>  };
>  
> +static void exynos_adc_v3_init_hw(struct exynos_adc *info)
> +{
> +	u32 con2;
> +
> +	writel(ADC_V2_CON1_SOFT_RESET, ADC_V2_CON1(info->regs));
> +
> +	writel(ADC_V2_CON1_SOFT_NON_RESET, ADC_V2_CON1(info->regs));
> +
> +	con2 = ADC_V2_CON2_C_TIME(6);
> +	writel(con2, ADC_V2_CON2(info->regs));
> +
> +	/* Enable interrupts */
> +	writel(1, ADC_V2_INT_EN(info->regs));
> +}
> +
> +static void exynos_adc_v3_exit_hw(struct exynos_adc *info)
> +{
> +	u32 con2;
> +
> +	con2 = readl(ADC_V2_CON2(info->regs));
> +	con2 &= ~ADC_V2_CON2_C_TIME(7);
> +	writel(con2, ADC_V2_CON2(info->regs));
> +
> +	/* Disable interrupts */
> +	writel(0, ADC_V2_INT_EN(info->regs));
> +}
> +
> +static irqreturn_t exynos_adc_v3_isr(int irq, void *dev_id)
> +{
> +	struct exynos_adc *info = (struct exynos_adc *)dev_id;

Shouldn't need the cast as cast from void * to another pointer
is always valid in C without the explicit cast.

> +	u32 mask = info->data->mask;
> +
> +	info->value = readl(ADC_V3_DAT(info->regs)) & mask;
> +
> +	if (info->data->clear_irq)
> +		info->data->clear_irq(info);

Don't need this currently as v3_isr() is always matched
with clear_isr() being provided.  Having the check implies
otherwise which is probably not a good thing to do until some future
device support (maybe) needs it.

> +
> +	complete(&info->completion);
> +
> +	return IRQ_HANDLED;
> +}
> +
> +static const struct exynos_adc_data exynos_adc_v3_adc_data = {
> +	.num_channels	= MAX_ADC_V3_CHANNELS,
> +	.mask		= ADC_DATX_MASK, /* 12 bit ADC resolution */
> +
> +	.init_hw	= exynos_adc_v3_init_hw,
> +	.exit_hw	= exynos_adc_v3_exit_hw,
> +	.clear_irq	= exynos_adc_v2_clear_irq,
> +	.start_conv	= exynos_adc_v2_start_conv,
> +	.adc_isr	= exynos_adc_v3_isr,
> +};
> +
>  static const struct of_device_id exynos_adc_match[] = {
>  	{
>  		.compatible = "samsung,s3c2410-adc",
> @@ -518,6 +579,9 @@ static const struct of_device_id exynos_adc_match[] = {
>  	}, {
>  		.compatible = "samsung,exynos7-adc",
>  		.data = &exynos7_adc_data,
> +	}, {
> +		.compatible = "samsung,exynos-adc-v3",
> +		.data = &exynos_adc_v3_adc_data,
>  	},
>  	{},
>  };
> @@ -719,6 +783,12 @@ static const struct iio_chan_spec exynos_adc_iio_channels[] = {
>  	ADC_CHANNEL(7, "adc7"),
>  	ADC_CHANNEL(8, "adc8"),
>  	ADC_CHANNEL(9, "adc9"),
> +	ADC_CHANNEL(10, "adc10"),
> +	ADC_CHANNEL(11, "adc11"),
> +	ADC_CHANNEL(12, "adc12"),
> +	ADC_CHANNEL(13, "adc13"),
> +	ADC_CHANNEL(14, "adc14"),
> +	ADC_CHANNEL(15, "adc15"),
>  };
>  
>  static int exynos_adc_remove_devices(struct device *dev, void *c)
> @@ -885,8 +955,8 @@ static int exynos_adc_probe(struct platform_device *pdev)
>  
>  	mutex_init(&info->lock);
>  
> -	ret = request_irq(info->irq, exynos_adc_isr,
> -					0, dev_name(&pdev->dev), info);
> +	ret = request_irq(info->irq, info->data->adc_isr ? info->data->adc_isr :
> +				exynos_adc_isr, 0, dev_name(&pdev->dev), info);

I'd rather see the slightly larger change of providing adc_isr for existing
parts and the conditional part here going away.

Jonathan


>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "failed requesting irq, irq = %d\n",
>  							info->irq);


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-01-16 11:13 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20220113122302epcas5p1d45c0714fe286f8f91d0f28c3fad86e4@epcas5p1.samsung.com>
2022-01-13 12:11 ` [PATCH 00/23] Add support for Tesla Full Self-Driving (FSD) SoC Alim Akhtar
2022-01-13 12:11   ` Alim Akhtar
     [not found]   ` <CGME20220113122311epcas5p4b7c253b49dce3bd3580407fcf312e70e@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 01/23] dt-bindings: clock: Document FSD CMU bindings Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:40       ` Krzysztof Kozlowski
2022-01-13 12:40         ` Krzysztof Kozlowski
2022-01-14  5:48         ` Alim Akhtar
2022-01-14  5:48           ` Alim Akhtar
2022-01-13 23:33       ` Rob Herring
2022-01-13 23:33         ` Rob Herring
     [not found]   ` <CGME20220113122317epcas5p11937078e2701b319a13b29e044224ec0@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 02/23] dt-bindings: clock: Add bindings definitions for FSD CMU blocks Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122324epcas5p105c53b448b5801813a02a88c6107a2f3@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 03/23] clk: samsung: fsd: Add initial clock support Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:49       ` Krzysztof Kozlowski
2022-01-13 12:49         ` Krzysztof Kozlowski
2022-01-14  6:16         ` Alim Akhtar
2022-01-14  6:16           ` Alim Akhtar
     [not found]   ` <CGME20220113122330epcas5p46ae5cd30950b1d9126479231dcf5da49@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 04/23] clk: samsung: fsd: Add cmu_peric block clock information Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:55       ` Krzysztof Kozlowski
2022-01-13 12:55         ` Krzysztof Kozlowski
2022-01-14  6:30         ` Alim Akhtar
2022-01-14  6:30           ` Alim Akhtar
     [not found]   ` <CGME20220113122334epcas5p2d5958c77b0635e848f81ed2c5c98cdd5@epcas5p2.samsung.com>
2022-01-13 12:11     ` [PATCH 05/23] clk: samsung: fsd: Add cmu_fsys0 " Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122338epcas5p17ad3a31077b98388c0a6779904ee651e@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 06/23] clk: samsung: fsd: Add cmu_fsys1 " Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122343epcas5p23831143e4e8fb92be8ad362f4817c03b@epcas5p2.samsung.com>
2022-01-13 12:11     ` [PATCH 07/23] clk: samsung: fsd: Add cmu_imem block " Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122346epcas5p41a7d6712c07544e99795ef5465f1f106@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 08/23] clk: samsung: fsd: Add cmu_mfc " Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122351epcas5p45f49a559af9f6d0c6ba573594f95561d@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 09/23] clk: samsung: fsd: Add cam_csi " Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122354epcas5p19e5cebe9e85e9ba1758fa0b9d7d1ef75@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 10/23] dt-bindings: pinctrl: samsung: Add compatible for Tesla FSD SoC Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:27       ` Krzysztof Kozlowski
2022-01-13 12:27         ` Krzysztof Kozlowski
2022-01-14  5:44         ` Alim Akhtar
2022-01-14  5:44           ` Alim Akhtar
2022-01-14  7:49           ` Krzysztof Kozlowski
2022-01-14  7:49             ` Krzysztof Kozlowski
2022-01-14  8:38             ` Alim Akhtar
2022-01-14  8:38               ` Alim Akhtar
     [not found]   ` <CGME20220113122400epcas5p34363ba8f477b4c273d601d0b64324afa@epcas5p3.samsung.com>
2022-01-13 12:11     ` [PATCH 11/23] pinctrl: samsung: add FSD SoC specific data Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:57       ` Krzysztof Kozlowski
2022-01-13 12:57         ` Krzysztof Kozlowski
2022-01-16 12:05       ` Linus Walleij
2022-01-16 12:05         ` Linus Walleij
     [not found]   ` <CGME20220113122404epcas5p4aa1c3ac09510eb55cce5fdd0791993a6@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 12/23] dt-bindings: add vendor prefix for Tesla Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:58       ` Krzysztof Kozlowski
2022-01-13 12:58         ` Krzysztof Kozlowski
2022-01-14  7:10         ` Alim Akhtar
2022-01-14  7:10           ` Alim Akhtar
2022-01-16 12:09       ` Linus Walleij
2022-01-16 12:09         ` Linus Walleij
     [not found]   ` <CGME20220113122408epcas5p45053d1bf0acf2d8233a98b6c1abab6eb@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 13/23] dt-bindings: arm: add Tesla FSD ARM SoC Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:33       ` Krzysztof Kozlowski
2022-01-13 12:33         ` Krzysztof Kozlowski
2022-01-14 16:57         ` Alim Akhtar
2022-01-14 16:57           ` Alim Akhtar
2022-01-14 17:29           ` Krzysztof Kozlowski
2022-01-14 17:29             ` Krzysztof Kozlowski
2022-01-17 13:26             ` Alim Akhtar
2022-01-17 13:26               ` Alim Akhtar
2022-01-17 14:14               ` Arnd Bergmann
2022-01-17 14:14                 ` Arnd Bergmann
2022-01-17 15:00                 ` Krzysztof Kozlowski
2022-01-17 15:00                   ` Krzysztof Kozlowski
2022-01-17 20:41                   ` Olof Johansson
2022-01-17 20:41                     ` Olof Johansson
     [not found]   ` <CGME20220113122413epcas5p46cb2cafb73936c423017240f98f72845@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 14/23] arm64: dts: fsd: Add initial device tree support Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:16       ` Krzysztof Kozlowski
2022-01-13 13:16         ` Krzysztof Kozlowski
2022-01-13 14:23         ` Arnd Bergmann
2022-01-13 14:23           ` Arnd Bergmann
2022-01-14  8:13           ` Alim Akhtar
2022-01-14  8:13             ` Alim Akhtar
2022-01-14  2:08       ` kernel test robot
2022-01-14  2:08         ` kernel test robot
2022-01-14  2:08         ` kernel test robot
2022-01-14  2:45       ` Rob Herring
2022-01-14  2:45         ` Rob Herring
2022-01-15 15:31         ` Alim Akhtar
2022-01-15 15:31           ` Alim Akhtar
     [not found]   ` <CGME20220113122417epcas5p47398a5190cdf4c574c6f1762918b549f@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 15/23] arm64: dts: fsd: Add initial pinctrl support Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:19       ` Krzysztof Kozlowski
2022-01-13 13:19         ` Krzysztof Kozlowski
2022-01-17 13:44         ` Alim Akhtar
2022-01-17 13:44           ` Alim Akhtar
2022-01-17 13:50           ` Krzysztof Kozlowski
2022-01-17 13:50             ` Krzysztof Kozlowski
2022-01-18 14:58             ` Alim Akhtar
2022-01-18 14:58               ` Alim Akhtar
     [not found]   ` <CGME20220113122421epcas5p1af8422fc992801ced57e0439b48ad08e@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 16/23] arm64: defconfig: Enable Tesla FSD SoC Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
     [not found]   ` <CGME20220113122427epcas5p1885d8b3b735e8f127b6694a309796e5a@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 17/23] Documentation: bindings: Add fsd spi compatible in dt-bindings document Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:21       ` Krzysztof Kozlowski
2022-01-13 13:21         ` Krzysztof Kozlowski
2022-01-13 13:24       ` Krzysztof Kozlowski
2022-01-13 13:24         ` Krzysztof Kozlowski
2022-01-14  7:17         ` Alim Akhtar
2022-01-14  7:17           ` Alim Akhtar
     [not found]   ` <CGME20220113122435epcas5p18e6a2699f193b9e1287588278a570235@epcas5p1.samsung.com>
2022-01-13 12:11     ` [PATCH 18/23] spi: s3c64xx: Add spi port configuration for Tesla FSD SoC Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 12:59       ` Mark Brown
2022-01-13 12:59         ` Mark Brown
2022-01-14  7:15         ` Alim Akhtar
2022-01-14  7:15           ` Alim Akhtar
2022-01-13 13:28       ` Krzysztof Kozlowski
2022-01-13 13:28         ` Krzysztof Kozlowski
2022-01-16 12:12       ` Linus Walleij
2022-01-16 12:12         ` Linus Walleij
     [not found]   ` <CGME20220113122440epcas5p4651d7cb2fc6d6a70fd5eaab5eadcf996@epcas5p4.samsung.com>
2022-01-13 12:11     ` [PATCH 19/23] arm64: dts: fsd: Add SPI device nodes Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:30       ` Krzysztof Kozlowski
2022-01-13 13:30         ` Krzysztof Kozlowski
     [not found]   ` <CGME20220113122447epcas5p266d44c8df143229d22dfa700c285a786@epcas5p2.samsung.com>
2022-01-13 12:11     ` [PATCH 20/23] dt-bindings: iio: adc: exynos-adc: Add ADC-V3 variant Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:32       ` Krzysztof Kozlowski
2022-01-13 13:32         ` Krzysztof Kozlowski
2022-01-17  9:47         ` Jonathan Cameron
2022-01-17  9:47           ` Jonathan Cameron
2022-01-17 12:42           ` Alim Akhtar
2022-01-17 12:42             ` Alim Akhtar
     [not found]   ` <CGME20220113122452epcas5p201a3a87d0e9c0e9f449a90ed62de1f1c@epcas5p2.samsung.com>
2022-01-13 12:11     ` [PATCH 21/23] iio: adc: exynos-adc: Add support for ADC V3 controller Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-16 11:19       ` Jonathan Cameron [this message]
2022-01-16 11:19         ` Jonathan Cameron
2022-01-17 12:20         ` Alim Akhtar
2022-01-17 12:20           ` Alim Akhtar
     [not found]   ` <CGME20220113122456epcas5p35f6406ab03af58d2e56b0b7304d4d002@epcas5p3.samsung.com>
2022-01-13 12:11     ` [PATCH 22/23] arm64: dts: fsd: Add ADC device tree node Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:33       ` Krzysztof Kozlowski
2022-01-13 13:33         ` Krzysztof Kozlowski
     [not found]   ` <CGME20220113122502epcas5p37747b0c5c242c0571d294b9245963a1c@epcas5p3.samsung.com>
2022-01-13 12:11     ` [PATCH 23/23] clocksource: exynos_mct: Add support for handling three clusters Alim Akhtar
2022-01-13 12:11       ` Alim Akhtar
2022-01-13 13:36       ` Krzysztof Kozlowski
2022-01-13 13:36         ` Krzysztof Kozlowski
2022-01-13 12:31   ` [PATCH 00/23] Add support for Tesla Full Self-Driving (FSD) SoC Krzysztof Kozlowski
2022-01-13 12:31     ` Krzysztof Kozlowski
2022-01-13 18:53     ` Olof Johansson
2022-01-13 18:53       ` Olof Johansson
2022-01-14  5:41     ` Alim Akhtar
2022-01-14  5:41       ` Alim Akhtar
2022-01-14  7:34       ` Krzysztof Kozlowski
2022-01-14  7:34         ` Krzysztof Kozlowski
2022-01-16  9:23   ` Pavel Machek
2022-01-16  9:23     ` Pavel Machek
2022-01-17 20:53     ` Olof Johansson
2022-01-17 20:53       ` Olof Johansson
2022-01-17 23:10       ` Pavel Machek
2022-01-17 23:10         ` Pavel Machek

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=20220116111939.413ece7e@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=alim.akhtar@samsung.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-fsd@tesla.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.shams@samsung.com \
    --cc=olof@lixom.net \
    --cc=pankaj.dubey@samsung.com \
    --cc=robh+dt@kernel.org \
    --cc=s.nawrocki@samsung.com \
    --cc=soc@kernel.org \
    /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.