[06/11] dt-bindings: mips: Add bindings for Mobileye SoCs

Message ID 20231004161038.2818327-7-gregory.clement@bootlin.com
State New
Headers
Series Add support for the Mobileye EyeQ5 SoC |

Commit Message

Gregory CLEMENT Oct. 4, 2023, 4:10 p.m. UTC
  Add the yaml bindings for Mobileye SoCs. Currently only EyeQ5 is
supported

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
---
 .../devicetree/bindings/mips/mobileye.yaml    | 36 +++++++++
 include/dt-bindings/soc/mobileye,eyeq5.h      | 77 +++++++++++++++++++
 2 files changed, 113 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mips/mobileye.yaml
 create mode 100644 include/dt-bindings/soc/mobileye,eyeq5.h
  

Comments

Rob Herring Oct. 4, 2023, 4:47 p.m. UTC | #1
On Wed, Oct 4, 2023 at 11:11 AM Gregory CLEMENT
<gregory.clement@bootlin.com> wrote:
>
> Add the yaml bindings for Mobileye SoCs. Currently only EyeQ5 is
> supported
>
> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
> ---
>  .../devicetree/bindings/mips/mobileye.yaml    | 36 +++++++++
>  include/dt-bindings/soc/mobileye,eyeq5.h      | 77 +++++++++++++++++++
>  2 files changed, 113 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mips/mobileye.yaml
>  create mode 100644 include/dt-bindings/soc/mobileye,eyeq5.h
>
> diff --git a/Documentation/devicetree/bindings/mips/mobileye.yaml b/Documentation/devicetree/bindings/mips/mobileye.yaml
> new file mode 100644
> index 000000000000..f47767bc2c8f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mips/mobileye.yaml
> @@ -0,0 +1,36 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause

Use what checkpatch tells you.

> +# Copyright 2023 Mobileye Vision Technologies Ltd.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mips/mobileye.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Mobileye SoC series
> +
> +maintainers:
> +  - Vladimir Kondratiev <vladimir.kondratiev@intel.com>
> +  - Gregory CLEMENT <gregory.clement@bootlin.com>
> +  - Théo Lebrun <theo.lebrun@bootlin.com>
> +
> +description: |

Don't need '|'.

> +    Boards with a Mobileye SoC shall have the following properties.
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +
> +  compatible:
> +    oneOf:
> +      - description: Boards with Mobileye EyeQ5 SoC
> +        items:
> +          - enum:
> +              - mobileye,eyeq5-epm5
> +          - const: mobileye,eyeq5
> +
> +      - description: Boards with Mobileye EyeQ6 SoC
> +        items:
> +          - const: mobileye,eyeq6

Not valid to have only SoC compatible. Add this when you have a user.

> +
> +additionalProperties: true
> +
> +...
> diff --git a/include/dt-bindings/soc/mobileye,eyeq5.h b/include/dt-bindings/soc/mobileye,eyeq5.h
> new file mode 100644
> index 000000000000..7d8cb97b45bf
> --- /dev/null
> +++ b/include/dt-bindings/soc/mobileye,eyeq5.h
> @@ -0,0 +1,77 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Copyright 2023 Mobileye Vision Technologies Ltd.
> + */
> +#ifndef _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H
> +#define _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H
> +
> +/* EQ5 interrupts */
> +#define NUM_INT_I2C_A                  1
> +#define NUM_INT_I2C_B                  2
> +#define NUM_INT_I2C_C                  3
> +#define NUM_INT_I2C_D                  4
> +#define NUM_INT_I2C_E                  5

These are interrupt numbers? Note that we never do headers for
interrupt numbers, so drop this.

Rob
  
Gregory CLEMENT Oct. 5, 2023, 2:55 p.m. UTC | #2
Hello Rob,

> On Wed, Oct 4, 2023 at 11:11 AM Gregory CLEMENT
> <gregory.clement@bootlin.com> wrote:
>>
>> Add the yaml bindings for Mobileye SoCs. Currently only EyeQ5 is
>> supported
>>
>> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
>> ---
>>  .../devicetree/bindings/mips/mobileye.yaml    | 36 +++++++++
>>  include/dt-bindings/soc/mobileye,eyeq5.h      | 77 +++++++++++++++++++
>>  2 files changed, 113 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/mips/mobileye.yaml
>>  create mode 100644 include/dt-bindings/soc/mobileye,eyeq5.h
>>
>> diff --git a/Documentation/devicetree/bindings/mips/mobileye.yaml b/Documentation/devicetree/bindings/mips/mobileye.yaml
>> new file mode 100644
>> index 000000000000..f47767bc2c8f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mips/mobileye.yaml
>> @@ -0,0 +1,36 @@
>> +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
>
> Use what checkpatch tells you.

From my point of view GPL-2.0-or-later is compatible with GPL-2.0-only,
but OK I will do this.

>
>> +# Copyright 2023 Mobileye Vision Technologies Ltd.
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mips/mobileye.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Mobileye SoC series
>> +
>> +maintainers:
>> +  - Vladimir Kondratiev <vladimir.kondratiev@intel.com>
>> +  - Gregory CLEMENT <gregory.clement@bootlin.com>
>> +  - Théo Lebrun <theo.lebrun@bootlin.com>
>> +
>> +description: |
>
> Don't need '|'.

OK

>
>> +    Boards with a Mobileye SoC shall have the following properties.
>> +
>> +properties:
>> +  $nodename:
>> +    const: '/'
>> +
>> +  compatible:
>> +    oneOf:
>> +      - description: Boards with Mobileye EyeQ5 SoC
>> +        items:
>> +          - enum:
>> +              - mobileye,eyeq5-epm5
>> +          - const: mobileye,eyeq5
>> +
>> +      - description: Boards with Mobileye EyeQ6 SoC
>> +        items:
>> +          - const: mobileye,eyeq6
>
> Not valid to have only SoC compatible. Add this when you have a user.

OK

>
>> +
>> +additionalProperties: true
>> +
>> +...
>> diff --git a/include/dt-bindings/soc/mobileye,eyeq5.h b/include/dt-bindings/soc/mobileye,eyeq5.h
>> new file mode 100644
>> index 000000000000..7d8cb97b45bf
>> --- /dev/null
>> +++ b/include/dt-bindings/soc/mobileye,eyeq5.h
>> @@ -0,0 +1,77 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +/*
>> + * Copyright 2023 Mobileye Vision Technologies Ltd.
>> + */
>> +#ifndef _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H
>> +#define _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H
>> +
>> +/* EQ5 interrupts */
>> +#define NUM_INT_I2C_A                  1
>> +#define NUM_INT_I2C_B                  2
>> +#define NUM_INT_I2C_C                  3
>> +#define NUM_INT_I2C_D                  4
>> +#define NUM_INT_I2C_E                  5
>
> These are interrupt numbers? Note that we never do headers for
> interrupt numbers, so drop this.

OK

Thanks for the review the changesrequested will be part of the next
version.

Gregory

>
> Rob
  
Rob Herring Oct. 6, 2023, 4:50 p.m. UTC | #3
On Thu, Oct 05, 2023 at 04:55:08PM +0200, Gregory CLEMENT wrote:
> Hello Rob,
> 
> > On Wed, Oct 4, 2023 at 11:11 AM Gregory CLEMENT
> > <gregory.clement@bootlin.com> wrote:
> >>
> >> Add the yaml bindings for Mobileye SoCs. Currently only EyeQ5 is
> >> supported
> >>
> >> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
> >> ---
> >>  .../devicetree/bindings/mips/mobileye.yaml    | 36 +++++++++
> >>  include/dt-bindings/soc/mobileye,eyeq5.h      | 77 +++++++++++++++++++
> >>  2 files changed, 113 insertions(+)
> >>  create mode 100644 Documentation/devicetree/bindings/mips/mobileye.yaml
> >>  create mode 100644 include/dt-bindings/soc/mobileye,eyeq5.h
> >>
> >> diff --git a/Documentation/devicetree/bindings/mips/mobileye.yaml b/Documentation/devicetree/bindings/mips/mobileye.yaml
> >> new file mode 100644
> >> index 000000000000..f47767bc2c8f
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/mips/mobileye.yaml
> >> @@ -0,0 +1,36 @@
> >> +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
> >
> > Use what checkpatch tells you.
> 
> >From my point of view GPL-2.0-or-later is compatible with GPL-2.0-only,
> but OK I will do this.

GPL-2.0-only is compatible with GPL3, so why does that matter? And MIT 
is compatible with BSD-2-Clause, but we don't include that. 

Are we okay with GPLv4, v5, ...?

What I really care about is having a free-for-all and having a 
proliferation of different licenses and combinations of licenses under 
bindings. If everyone paid attention, then I wouldn't care. But they 
don't and just copy code around. We already have a license mess with DT 
headers and .dts files. Besides the copying problem, it is not hard to 
find GPL only license included in dual or BSD/MIT only licensed .dts 
files. Seems like an issue to me.

Rob
  

Patch

diff --git a/Documentation/devicetree/bindings/mips/mobileye.yaml b/Documentation/devicetree/bindings/mips/mobileye.yaml
new file mode 100644
index 000000000000..f47767bc2c8f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mips/mobileye.yaml
@@ -0,0 +1,36 @@ 
+# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
+# Copyright 2023 Mobileye Vision Technologies Ltd.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mips/mobileye.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mobileye SoC series
+
+maintainers:
+  - Vladimir Kondratiev <vladimir.kondratiev@intel.com>
+  - Gregory CLEMENT <gregory.clement@bootlin.com>
+  - Théo Lebrun <theo.lebrun@bootlin.com>
+
+description: |
+    Boards with a Mobileye SoC shall have the following properties.
+
+properties:
+  $nodename:
+    const: '/'
+
+  compatible:
+    oneOf:
+      - description: Boards with Mobileye EyeQ5 SoC
+        items:
+          - enum:
+              - mobileye,eyeq5-epm5
+          - const: mobileye,eyeq5
+
+      - description: Boards with Mobileye EyeQ6 SoC
+        items:
+          - const: mobileye,eyeq6
+
+additionalProperties: true
+
+...
diff --git a/include/dt-bindings/soc/mobileye,eyeq5.h b/include/dt-bindings/soc/mobileye,eyeq5.h
new file mode 100644
index 000000000000..7d8cb97b45bf
--- /dev/null
+++ b/include/dt-bindings/soc/mobileye,eyeq5.h
@@ -0,0 +1,77 @@ 
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2023 Mobileye Vision Technologies Ltd.
+ */
+#ifndef _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H
+#define _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H
+
+/* EQ5 interrupts */
+#define NUM_INT_I2C_A			1
+#define NUM_INT_I2C_B			2
+#define NUM_INT_I2C_C			3
+#define NUM_INT_I2C_D			4
+#define NUM_INT_I2C_E			5
+
+#define NUM_INT_UART			6 /* same for all UARTs - A, B, C */
+#define NUM_INT_PCIE0_INT0		7
+#define NUM_INT_PCIE0_INT1		8
+
+#define NUM_INT_CAN			9 /* same for all CANs A, B, C */
+
+#define NUM_INT_EMMC			10
+/* empty				11 */
+#define NUM_INT_SPIA_B			12
+#define NUM_INT_SPIC_D			13
+
+#define NUM_INT_GPIO			14
+
+#define NUM_INT_TIMER_0			15
+#define NUM_INT_TIMER_1			16
+#define NUM_INT_TIMER_2			17
+#define NUM_INT_TIMER_3			18
+#define NUM_INT_TIMER_4_ETIMER0_1	19
+#define NUM_INT_OQSPI			20
+#define NUM_INT_DDR_CTRL		21
+#define NUM_INT_NOC			22
+
+#define NUM_INT_GEM0			23
+#define NUM_INT_GEM1			24
+
+#define NUM_INT_VDI_0_VC0		25
+#define NUM_INT_VDI_0_VC1		26
+#define NUM_INT_VDI_0_VC2		27
+#define NUM_INT_VDI_0_VC3		28
+#define NUM_INT_VDI_0_ERR		29
+#define NUM_INT_VDI_1_VC0		30
+#define NUM_INT_VDI_1_VC1		31
+#define NUM_INT_VDI_1_VC2		32
+#define NUM_INT_VDI_1_VC3		33
+#define NUM_INT_VDI_1_ERR		34
+
+#define NUM_INT_MPC0			35
+#define NUM_INT_MPC1			36
+#define NUM_INT_MPC2			37
+#define NUM_INT_MPC3			38
+#define NUM_INT_MPC4			39
+#define NUM_INT_VMP0			40
+#define NUM_INT_VMP1			41
+#define NUM_INT_VMP2			42
+#define NUM_INT_VMP3			43
+#define NUM_INT_PMA0			44
+#define NUM_INT_PMA1			45
+#define NUM_INT_PMAC0			46
+#define NUM_INT_PMAC1			47
+
+#define NUM_INT_PCIE1_INT0		48
+#define NUM_INT_PCIE1_INT1		49
+
+#define NUM_INT_HSM_C3			50
+
+#define NUM_INT_MJPEG			51
+
+#define NUM_INT_FCMU_OLB		52
+#define NUM_INT_FCMU_NMI		53
+#define NUM_INT_WDDOG_TIMER		54
+#define NUM_INT_WDDOG_TIMER_1		55
+
+#endif /* _DT_BINDINGS_SOC_MOBILEYE_EYEQ5_H */