On 19/01/22 08:49PM, Krzysztof Kozlowski wrote: > On 19/01/2022 20:31, Pratyush Yadav wrote: > > On 12/01/22 11:00AM, Krzysztof Kozlowski wrote: > >> Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI > >> controller bindings to DT schema format > >> > >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> > >> Reviewed-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx> > >> --- > >> .../spi/samsung,spi-peripheral-props.yaml | 35 ++++ > >> .../devicetree/bindings/spi/samsung,spi.yaml | 187 ++++++++++++++++++ > >> .../bindings/spi/spi-peripheral-props.yaml | 1 + > >> .../devicetree/bindings/spi/spi-samsung.txt | 122 ------------ > >> MAINTAINERS | 2 +- > >> 5 files changed, 224 insertions(+), 123 deletions(-) > >> create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml > >> create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml > >> delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt > >> > >> diff --git a/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml > >> new file mode 100644 > >> index 000000000000..aa5a1f48494b > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml > >> @@ -0,0 +1,35 @@ > >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > >> +%YAML 1.2 > >> +--- > >> +$id: http://devicetree.org/schemas/spi/samsung,spi-peripheral-props.yaml# > >> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >> + > >> +title: Peripheral-specific properties for Samsung S3C/S5P/Exynos SoC SPI controller > >> + > >> +maintainers: > >> + - Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> > >> + > >> +description: > >> + See spi-peripheral-props.yaml for more info. > >> + > >> +properties: > >> + controller-data: > >> + type: object > >> + additionalProperties: false > >> + > >> + properties: > >> + samsung,spi-feedback-delay: > >> + description: | > >> + The sampling phase shift to be applied on the miso line (to account > >> + for any lag in the miso line). Valid values: > >> + - 0: No phase shift. > >> + - 1: 90 degree phase shift sampling. > >> + - 2: 180 degree phase shift sampling. > >> + - 3: 270 degree phase shift sampling. > >> + $ref: /schemas/types.yaml#/definitions/uint32 > >> + enum: [0, 1, 2, 3] > >> + > >> + required: > >> + - samsung,spi-feedback-delay > > > > I am not quite sure if this required would work here. Let's say another > > controller also uses a controller-data node, but it contains a different > > set of properties. Won't this cause an error to be raised for that > > controller since this property is not there? > > The controller-data is Samsung SPI specific (does not exist in any other > binding), so why would controller-data get added to a different controller? It does not as of now, but the name is fairly generic and some controller in the future might use it. I do not think it is a good idea to list required properties in X-peripheral-props.yaml in general since all those will be collected by spi-peripheral-props.yaml and so will apply to _all_ controllers that reference it. -- Regards, Pratyush Yadav Texas Instruments Inc.