Re: [RESEND v7 23/37] dt-bindings: display: sm501 register definition helper

2024-04-05 Thread Geert Uytterhoeven
Hi Sato-san,

Thanks for your patch!

On Thu, Apr 4, 2024 at 7:15 AM Yoshinori Sato
 wrote:
> Miscellaneous Timing and Miscellaneous Control registers definition.

Please do not put raw register value definitions into DT bindings.

> Signed-off-by: Yoshinori Sato 

> --- /dev/null
> +++ b/include/dt-bindings/display/sm501.h

> +/* Miscellaneous timing */
> +#define SM501_MISC_TIMING_EX_HOLD_00
> +#define SM501_MISC_TIMING_EX_HOLD_16   1
> +#define SM501_MISC_TIMING_EX_HOLD_32   2
> +#define SM501_MISC_TIMING_EX_HOLD_48   3
> +#define SM501_MISC_TIMING_EX_HOLD_64   4
> +#define SM501_MISC_TIMING_EX_HOLD_80   5
> +#define SM501_MISC_TIMING_EX_HOLD_96   6
> +#define SM501_MISC_TIMING_EX_HOLD_112  7
> +#define SM501_MISC_TIMING_EX_HOLD_128  8
> +#define SM501_MISC_TIMING_EX_HOLD_144  9
> +#define SM501_MISC_TIMING_EX_HOLD_160  10
> +#define SM501_MISC_TIMING_EX_HOLD_176  11
> +#define SM501_MISC_TIMING_EX_HOLD_192  12
> +#define SM501_MISC_TIMING_EX_HOLD_208  13
> +#define SM501_MISC_TIMING_EX_HOLD_224  14
> +#define SM501_MISC_TIMING_EX_HOLD_240  15

E.g. these are used by the (not very descriptive) "ex" property:

 ex:
   $ref: /schemas/types.yaml#/definitions/uint32
   description: Extend bus holding time.

Please instead use an enum for the actual holding time ([ 0, 16, 32,
...]) in the DT bindings, and convert from actual holding time to
register value in the driver.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


[RESEND v7 23/37] dt-bindings: display: sm501 register definition helper

2024-04-03 Thread Yoshinori Sato
Miscellaneous Timing and Miscellaneous Control registers definition.

Signed-off-by: Yoshinori Sato 
---
 include/dt-bindings/display/sm501.h | 76 +
 1 file changed, 76 insertions(+)
 create mode 100644 include/dt-bindings/display/sm501.h

diff --git a/include/dt-bindings/display/sm501.h 
b/include/dt-bindings/display/sm501.h
new file mode 100644
index ..a6c6943642e4
--- /dev/null
+++ b/include/dt-bindings/display/sm501.h
@@ -0,0 +1,76 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+#ifndef __DT_BINDING_DISPALY_SM501__
+#define __DT_BINDING_DISPALY_SM501__
+
+/* Miscellaneous Conntrol */
+#define SM501_MISC_CONTROL_PAD_24  0
+#define SM501_MISC_CONTROL_PAD_12  1
+#define SM501_MISC_CONTROL_PAD_8   2
+
+#define SM501_MISC_CONTROL_USBCLK_XTAL 0
+#define SM501_MISC_CONTROL_USBCLK_96MHZ1
+#define SM501_MISC_CONTROL_USBCLK_48MHZ2
+
+#define SM501_MISC_CONTROL_RFSH_8US0
+#define SM501_MISC_CONTROL_RFSH_16US   1
+#define SM501_MISC_CONTROL_RFSH_32US   2
+#define SM501_MISC_CONTROL_RFSH_64US   3
+
+#define SM501_MISC_CONTROL_HOLD_EMPTY  0
+#define SM501_MISC_CONTROL_HOLD_8TR1
+#define SM501_MISC_CONTROL_HOLD_16TR   2
+#define SM501_MISC_CONTROL_HOLD_24TR   3
+#define SM501_MISC_CONTROL_HOLD_32TR   4
+
+/* Miscellaneous timing */
+#define SM501_MISC_TIMING_EX_HOLD_00
+#define SM501_MISC_TIMING_EX_HOLD_16   1
+#define SM501_MISC_TIMING_EX_HOLD_32   2
+#define SM501_MISC_TIMING_EX_HOLD_48   3
+#define SM501_MISC_TIMING_EX_HOLD_64   4
+#define SM501_MISC_TIMING_EX_HOLD_80   5
+#define SM501_MISC_TIMING_EX_HOLD_96   6
+#define SM501_MISC_TIMING_EX_HOLD_112  7
+#define SM501_MISC_TIMING_EX_HOLD_128  8
+#define SM501_MISC_TIMING_EX_HOLD_144  9
+#define SM501_MISC_TIMING_EX_HOLD_160  10
+#define SM501_MISC_TIMING_EX_HOLD_176  11
+#define SM501_MISC_TIMING_EX_HOLD_192  12
+#define SM501_MISC_TIMING_EX_HOLD_208  13
+#define SM501_MISC_TIMING_EX_HOLD_224  14
+#define SM501_MISC_TIMING_EX_HOLD_240  15
+
+#define SM501_MISC_TIMING_XC_INTERNAL  0
+#define SM501_MISC_TIMING_XC_HCLK  1
+#define SM501_MISC_TIMING_XC_GPIO  2
+
+#define SM501_MISC_TIMING_SM_DIV1  0
+#define SM501_MISC_TIMING_SM_DIV2  1
+#define SM501_MISC_TIMING_SM_DIV4  2
+#define SM501_MISC_TIMING_SM_DIV8  3
+#define SM501_MISC_TIMING_SM_DIV16 4
+#define SM501_MISC_TIMING_SM_DIV32 5
+#define SM501_MISC_TIMING_SM_DIV64 6
+#define SM501_MISC_TIMING_SM_DIV1287
+#define SM501_MISC_TIMING_SM_DIV3  8
+#define SM501_MISC_TIMING_SM_DIV6  9
+#define SM501_MISC_TIMING_SM_DIV12 10
+#define SM501_MISC_TIMING_SM_DIV24 11
+#define SM501_MISC_TIMING_SM_DIV48 12
+#define SM501_MISC_TIMING_SM_DIV96 13
+#define SM501_MISC_TIMING_SM_DIV19214
+#define SM501_MISC_TIMING_SM_DIV38415
+
+#define SM501_MISC_TIMING_DIV336MHZ0
+#define SM501_MISC_TIMING_DIV288MHZ1
+#define SM501_MISC_TIMING_DIV240MHZ2
+#define SM501_MISC_TIMING_DIV192MHZ3
+
+#define SM501_MISC_TIMING_DELAY_NONE   0
+#define SM501_MISC_TIMING_DELAY_0_51
+#define SM501_MISC_TIMING_DELAY_1_02
+#define SM501_MISC_TIMING_DELAY_1_53
+#define SM501_MISC_TIMING_DELAY_2_04
+#define SM501_MISC_TIMING_DELAY_2_55
+
+#endif
-- 
2.39.2