Message ID | 20240712170640.3635096-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] dt-bindings: i3c: add header for generic I3C flags | expand |
On 12/07/2024 19:06, Frank Li wrote: > From: Carlos Song <carlos.song@nxp.com> > > Add header file for generic I3C flags to avoid hard code in dts file. > > Signed-off-by: Carlos Song <carlos.song@nxp.com> > Reviewed-by: Frank Li <frank.li@nxp.com> > Acked-by: Jason Liu <jason.hui.liu@nxp.com> > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > Documentation/devicetree/bindings/i3c/i3c.yaml | 5 ++++- > MAINTAINERS | 1 + > include/dt-bindings/i3c/i3c.h | 16 ++++++++++++++++ > 3 files changed, 21 insertions(+), 1 deletion(-) > create mode 100644 include/dt-bindings/i3c/i3c.h > > diff --git a/Documentation/devicetree/bindings/i3c/i3c.yaml b/Documentation/devicetree/bindings/i3c/i3c.yaml > index 113957ebe9f1d..90f3610725185 100644 > --- a/Documentation/devicetree/bindings/i3c/i3c.yaml > +++ b/Documentation/devicetree/bindings/i3c/i3c.yaml > @@ -91,6 +91,7 @@ patternProperties: > - const: 0 > - description: | > Shall encode the I3C LVR (Legacy Virtual Register): > + See dt-bindings/i3c/i3c.h Use full paths. > bit[31:8]: unused/ignored > bit[7:5]: I2C device index. Possible values: > * 0: I2C device has a 50 ns spike filter > @@ -153,6 +154,8 @@ additionalProperties: true > > examples: > - | > + #include <dt-bindings/i3c/i3c.h> > + > i3c@d040000 { > compatible = "cdns,i3c-master"; > clocks = <&coreclock>, <&i3csysclock>; > @@ -166,7 +169,7 @@ examples: > /* I2C device. */ > eeprom@57 { > compatible = "atmel,24c01"; > - reg = <0x57 0x0 0x10>; > + reg = <0x57 0x0 (I2C_FM | I2C_FILTER)>; > pagesize = <0x8>; > }; > > diff --git a/MAINTAINERS b/MAINTAINERS > index 3c4fdf74a3f9d..f0ce22e04d467 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -10479,6 +10479,7 @@ F: Documentation/ABI/testing/sysfs-bus-i3c > F: Documentation/devicetree/bindings/i3c/ > F: Documentation/driver-api/i3c > F: drivers/i3c/ > +F: include/dt-bindings/i3c/ > F: include/linux/i3c/ > > IBM Operation Panel Input Driver > diff --git a/include/dt-bindings/i3c/i3c.h b/include/dt-bindings/i3c/i3c.h > new file mode 100644 > index 0000000000000..2513947e70cd2 > --- /dev/null > +++ b/include/dt-bindings/i3c/i3c.h > @@ -0,0 +1,16 @@ > +/* SPDX-License-Identifier: GPL-2.0-only OR MIT */ Do not introduce new license, even if it is compatible. s/MIT/BSD-2-Clause/ - see binding and checkpatch. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/i3c/i3c.yaml b/Documentation/devicetree/bindings/i3c/i3c.yaml index 113957ebe9f1d..90f3610725185 100644 --- a/Documentation/devicetree/bindings/i3c/i3c.yaml +++ b/Documentation/devicetree/bindings/i3c/i3c.yaml @@ -91,6 +91,7 @@ patternProperties: - const: 0 - description: | Shall encode the I3C LVR (Legacy Virtual Register): + See dt-bindings/i3c/i3c.h bit[31:8]: unused/ignored bit[7:5]: I2C device index. Possible values: * 0: I2C device has a 50 ns spike filter @@ -153,6 +154,8 @@ additionalProperties: true examples: - | + #include <dt-bindings/i3c/i3c.h> + i3c@d040000 { compatible = "cdns,i3c-master"; clocks = <&coreclock>, <&i3csysclock>; @@ -166,7 +169,7 @@ examples: /* I2C device. */ eeprom@57 { compatible = "atmel,24c01"; - reg = <0x57 0x0 0x10>; + reg = <0x57 0x0 (I2C_FM | I2C_FILTER)>; pagesize = <0x8>; }; diff --git a/MAINTAINERS b/MAINTAINERS index 3c4fdf74a3f9d..f0ce22e04d467 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -10479,6 +10479,7 @@ F: Documentation/ABI/testing/sysfs-bus-i3c F: Documentation/devicetree/bindings/i3c/ F: Documentation/driver-api/i3c F: drivers/i3c/ +F: include/dt-bindings/i3c/ F: include/linux/i3c/ IBM Operation Panel Input Driver diff --git a/include/dt-bindings/i3c/i3c.h b/include/dt-bindings/i3c/i3c.h new file mode 100644 index 0000000000000..2513947e70cd2 --- /dev/null +++ b/include/dt-bindings/i3c/i3c.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0-only OR MIT */ +/* + * Copyright 2024 NXP + */ + +#ifndef _DT_BINDINGS_I3C_I3C_H +#define _DT_BINDINGS_I3C_I3C_H + +#define I2C_FM (1 << 4) +#define I2C_FM_PLUS (0 << 4) + +#define I2C_FILTER (0 << 5) +#define I2C_NO_FILTER_HIGH_FREQUENCY (1 << 5) +#define I2C_NO_FILTER_LOW_FREQUENCY (2 << 5) + +#endif