10ff4827eSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 20ff4827eSKrzysztof Kozlowski%YAML 1.2 30ff4827eSKrzysztof Kozlowski--- 40ff4827eSKrzysztof Kozlowski$id: http://devicetree.org/schemas/spi/samsung,spi.yaml# 50ff4827eSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 60ff4827eSKrzysztof Kozlowski 70ff4827eSKrzysztof Kozlowskititle: Samsung S3C/S5P/Exynos SoC SPI controller 80ff4827eSKrzysztof Kozlowski 90ff4827eSKrzysztof Kozlowskimaintainers: 108a1e6bb3SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 110ff4827eSKrzysztof Kozlowski 120ff4827eSKrzysztof Kozlowskidescription: 130ff4827eSKrzysztof Kozlowski All the SPI controller nodes should be represented in the aliases node using 140ff4827eSKrzysztof Kozlowski the following format 'spi{n}' where n is a unique number for the alias. 150ff4827eSKrzysztof Kozlowski 160ff4827eSKrzysztof Kozlowskiproperties: 170ff4827eSKrzysztof Kozlowski compatible: 180ff4827eSKrzysztof Kozlowski oneOf: 190ff4827eSKrzysztof Kozlowski - enum: 200ff4827eSKrzysztof Kozlowski - samsung,s3c2443-spi # for S3C2443, S3C2416 and S3C2450 210ff4827eSKrzysztof Kozlowski - samsung,s3c6410-spi 220ff4827eSKrzysztof Kozlowski - samsung,s5pv210-spi # for S5PV210 and S5PC110 23595d68c1SKrzysztof Kozlowski - samsung,exynos4210-spi 240ff4827eSKrzysztof Kozlowski - samsung,exynos5433-spi 25*9dbeef8aSChanho Park - samsung,exynosautov9-spi 26363d3c51SAlim Akhtar - tesla,fsd-spi 270ff4827eSKrzysztof Kozlowski - const: samsung,exynos7-spi 280ff4827eSKrzysztof Kozlowski deprecated: true 290ff4827eSKrzysztof Kozlowski 300ff4827eSKrzysztof Kozlowski clocks: 310ff4827eSKrzysztof Kozlowski minItems: 2 320ff4827eSKrzysztof Kozlowski maxItems: 3 330ff4827eSKrzysztof Kozlowski 340ff4827eSKrzysztof Kozlowski clock-names: 350ff4827eSKrzysztof Kozlowski minItems: 2 360ff4827eSKrzysztof Kozlowski maxItems: 3 370ff4827eSKrzysztof Kozlowski 380ff4827eSKrzysztof Kozlowski dmas: 390ff4827eSKrzysztof Kozlowski minItems: 2 400ff4827eSKrzysztof Kozlowski maxItems: 2 410ff4827eSKrzysztof Kozlowski 420ff4827eSKrzysztof Kozlowski dma-names: 430ff4827eSKrzysztof Kozlowski items: 440ff4827eSKrzysztof Kozlowski - const: tx 450ff4827eSKrzysztof Kozlowski - const: rx 460ff4827eSKrzysztof Kozlowski 470ff4827eSKrzysztof Kozlowski interrupts: 480ff4827eSKrzysztof Kozlowski maxItems: 1 490ff4827eSKrzysztof Kozlowski 500ff4827eSKrzysztof Kozlowski no-cs-readback: 510ff4827eSKrzysztof Kozlowski description: 520ff4827eSKrzysztof Kozlowski The CS line is disconnected, therefore the device should not operate 530ff4827eSKrzysztof Kozlowski based on CS signalling. 540ff4827eSKrzysztof Kozlowski type: boolean 550ff4827eSKrzysztof Kozlowski 560ff4827eSKrzysztof Kozlowski num-cs: 570ff4827eSKrzysztof Kozlowski minimum: 1 580ff4827eSKrzysztof Kozlowski maximum: 4 590ff4827eSKrzysztof Kozlowski default: 1 600ff4827eSKrzysztof Kozlowski 610ff4827eSKrzysztof Kozlowski samsung,spi-src-clk: 620ff4827eSKrzysztof Kozlowski description: 630ff4827eSKrzysztof Kozlowski If the spi controller includes a internal clock mux to select the clock 640ff4827eSKrzysztof Kozlowski source for the spi bus clock, this property can be used to indicate the 650ff4827eSKrzysztof Kozlowski clock to be used for driving the spi bus clock. If not specified, the 660ff4827eSKrzysztof Kozlowski clock number 0 is used as default. 670ff4827eSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32 680ff4827eSKrzysztof Kozlowski default: 0 690ff4827eSKrzysztof Kozlowski 700ff4827eSKrzysztof Kozlowski reg: 710ff4827eSKrzysztof Kozlowski maxItems: 1 720ff4827eSKrzysztof Kozlowski 730ff4827eSKrzysztof Kozlowskirequired: 740ff4827eSKrzysztof Kozlowski - compatible 750ff4827eSKrzysztof Kozlowski - clocks 760ff4827eSKrzysztof Kozlowski - clock-names 770ff4827eSKrzysztof Kozlowski - dmas 780ff4827eSKrzysztof Kozlowski - dma-names 790ff4827eSKrzysztof Kozlowski - interrupts 800ff4827eSKrzysztof Kozlowski - reg 810ff4827eSKrzysztof Kozlowski 820ff4827eSKrzysztof KozlowskiallOf: 830ff4827eSKrzysztof Kozlowski - $ref: spi-controller.yaml# 840ff4827eSKrzysztof Kozlowski - if: 850ff4827eSKrzysztof Kozlowski properties: 860ff4827eSKrzysztof Kozlowski compatible: 870ff4827eSKrzysztof Kozlowski contains: 88*9dbeef8aSChanho Park enum: 89*9dbeef8aSChanho Park - samsung,exynos5433-spi 90*9dbeef8aSChanho Park - samsung,exynosautov9-spi 910ff4827eSKrzysztof Kozlowski then: 920ff4827eSKrzysztof Kozlowski properties: 930ff4827eSKrzysztof Kozlowski clocks: 940ff4827eSKrzysztof Kozlowski minItems: 3 950ff4827eSKrzysztof Kozlowski maxItems: 3 960ff4827eSKrzysztof Kozlowski clock-names: 970ff4827eSKrzysztof Kozlowski items: 980ff4827eSKrzysztof Kozlowski - const: spi 990ff4827eSKrzysztof Kozlowski - enum: 1000ff4827eSKrzysztof Kozlowski - spi_busclk0 1010ff4827eSKrzysztof Kozlowski - spi_busclk1 1020ff4827eSKrzysztof Kozlowski - spi_busclk2 1030ff4827eSKrzysztof Kozlowski - spi_busclk3 1040ff4827eSKrzysztof Kozlowski - const: spi_ioclk 1050ff4827eSKrzysztof Kozlowski else: 1060ff4827eSKrzysztof Kozlowski properties: 1070ff4827eSKrzysztof Kozlowski clocks: 1080ff4827eSKrzysztof Kozlowski minItems: 2 1090ff4827eSKrzysztof Kozlowski maxItems: 2 1100ff4827eSKrzysztof Kozlowski clock-names: 1110ff4827eSKrzysztof Kozlowski items: 1120ff4827eSKrzysztof Kozlowski - const: spi 1130ff4827eSKrzysztof Kozlowski - enum: 1140ff4827eSKrzysztof Kozlowski - spi_busclk0 1150ff4827eSKrzysztof Kozlowski - spi_busclk1 1160ff4827eSKrzysztof Kozlowski - spi_busclk2 1170ff4827eSKrzysztof Kozlowski - spi_busclk3 1180ff4827eSKrzysztof Kozlowski 1190ff4827eSKrzysztof KozlowskiunevaluatedProperties: false 1200ff4827eSKrzysztof Kozlowski 1210ff4827eSKrzysztof Kozlowskiexamples: 1220ff4827eSKrzysztof Kozlowski - | 1230ff4827eSKrzysztof Kozlowski #include <dt-bindings/clock/exynos5433.h> 1240ff4827eSKrzysztof Kozlowski #include <dt-bindings/clock/samsung,s2mps11.h> 1250ff4827eSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 1260ff4827eSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 1270ff4827eSKrzysztof Kozlowski 1280ff4827eSKrzysztof Kozlowski spi@14d30000 { 1290ff4827eSKrzysztof Kozlowski compatible = "samsung,exynos5433-spi"; 1300ff4827eSKrzysztof Kozlowski reg = <0x14d30000 0x100>; 1310ff4827eSKrzysztof Kozlowski interrupts = <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>; 1320ff4827eSKrzysztof Kozlowski dmas = <&pdma0 11>, <&pdma0 10>; 1330ff4827eSKrzysztof Kozlowski dma-names = "tx", "rx"; 1340ff4827eSKrzysztof Kozlowski #address-cells = <1>; 1350ff4827eSKrzysztof Kozlowski #size-cells = <0>; 1360ff4827eSKrzysztof Kozlowski clocks = <&cmu_peric CLK_PCLK_SPI1>, 1370ff4827eSKrzysztof Kozlowski <&cmu_peric CLK_SCLK_SPI1>, 1380ff4827eSKrzysztof Kozlowski <&cmu_peric CLK_SCLK_IOCLK_SPI1>; 1390ff4827eSKrzysztof Kozlowski clock-names = "spi", 1400ff4827eSKrzysztof Kozlowski "spi_busclk0", 1410ff4827eSKrzysztof Kozlowski "spi_ioclk"; 1420ff4827eSKrzysztof Kozlowski samsung,spi-src-clk = <0>; 1430ff4827eSKrzysztof Kozlowski pinctrl-names = "default"; 1440ff4827eSKrzysztof Kozlowski pinctrl-0 = <&spi1_bus>; 1450ff4827eSKrzysztof Kozlowski num-cs = <1>; 1460ff4827eSKrzysztof Kozlowski 1470ff4827eSKrzysztof Kozlowski cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>; 1480ff4827eSKrzysztof Kozlowski 1490ff4827eSKrzysztof Kozlowski audio-codec@0 { 1500ff4827eSKrzysztof Kozlowski compatible = "wlf,wm5110"; 1510ff4827eSKrzysztof Kozlowski reg = <0x0>; 1520ff4827eSKrzysztof Kozlowski spi-max-frequency = <20000000>; 1530ff4827eSKrzysztof Kozlowski interrupt-parent = <&gpa0>; 1540ff4827eSKrzysztof Kozlowski interrupts = <4 IRQ_TYPE_NONE>; 1550ff4827eSKrzysztof Kozlowski clocks = <&pmu_system_controller 0>, 1560ff4827eSKrzysztof Kozlowski <&s2mps13_osc S2MPS11_CLK_BT>; 1570ff4827eSKrzysztof Kozlowski clock-names = "mclk1", "mclk2"; 1580ff4827eSKrzysztof Kozlowski 1590ff4827eSKrzysztof Kozlowski gpio-controller; 1600ff4827eSKrzysztof Kozlowski #gpio-cells = <2>; 1610ff4827eSKrzysztof Kozlowski interrupt-controller; 1620ff4827eSKrzysztof Kozlowski #interrupt-cells = <2>; 1630ff4827eSKrzysztof Kozlowski 1640ff4827eSKrzysztof Kozlowski wlf,micd-detect-debounce = <300>; 1650ff4827eSKrzysztof Kozlowski wlf,micd-bias-start-time = <0x1>; 1660ff4827eSKrzysztof Kozlowski wlf,micd-rate = <0x7>; 1670ff4827eSKrzysztof Kozlowski wlf,micd-dbtime = <0x2>; 1680ff4827eSKrzysztof Kozlowski wlf,micd-force-micbias; 1690ff4827eSKrzysztof Kozlowski wlf,micd-configs = <0x0 1 0>; 1700ff4827eSKrzysztof Kozlowski wlf,hpdet-channel = <1>; 1710ff4827eSKrzysztof Kozlowski wlf,gpsw = <0x1>; 1720ff4827eSKrzysztof Kozlowski wlf,inmode = <2 0 2 0>; 1730ff4827eSKrzysztof Kozlowski 1740ff4827eSKrzysztof Kozlowski wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>; 1750ff4827eSKrzysztof Kozlowski wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>; 1760ff4827eSKrzysztof Kozlowski 1770ff4827eSKrzysztof Kozlowski /* core supplies */ 1780ff4827eSKrzysztof Kozlowski AVDD-supply = <&ldo18_reg>; 1790ff4827eSKrzysztof Kozlowski DBVDD1-supply = <&ldo18_reg>; 1800ff4827eSKrzysztof Kozlowski CPVDD-supply = <&ldo18_reg>; 1810ff4827eSKrzysztof Kozlowski DBVDD2-supply = <&ldo18_reg>; 1820ff4827eSKrzysztof Kozlowski DBVDD3-supply = <&ldo18_reg>; 1830ff4827eSKrzysztof Kozlowski SPKVDDL-supply = <&ldo18_reg>; 1840ff4827eSKrzysztof Kozlowski SPKVDDR-supply = <&ldo18_reg>; 1850ff4827eSKrzysztof Kozlowski 1860ff4827eSKrzysztof Kozlowski controller-data { 1870ff4827eSKrzysztof Kozlowski samsung,spi-feedback-delay = <0>; 1880ff4827eSKrzysztof Kozlowski }; 1890ff4827eSKrzysztof Kozlowski }; 1900ff4827eSKrzysztof Kozlowski }; 191