Commit 7ecc70a9 authored by Maxime Ripard's avatar Maxime Ripard Committed by Shawn Guo

ARM: dts: cfa10049: Change the SPI3 bus to spi-gpio

The DAC found on the last chip select requires a word length of 12 bits,
which is not supported by the SSP controller of the iMX28. Use
bitbanging for that bus to support such a length.
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
parent e0f7d905
...@@ -52,48 +52,17 @@ hog_pins_cfa10049_pullup: hog-10049-pullup@0 { ...@@ -52,48 +52,17 @@ hog_pins_cfa10049_pullup: hog-10049-pullup@0 {
spi3_pins_cfa10049: spi3-cfa10049@0 { spi3_pins_cfa10049: spi3-cfa10049@0 {
reg = <0>; reg = <0>;
fsl,pinmux-ids = < fsl,pinmux-ids = <
0x0181 /* MX28_PAD_GPMI_RDN__SSP3_SCK */ 0x0183 /* MX28_PAD_GPMI_RDN__GPIO_0_24 */
0x01c1 /* MX28_PAD_GPMI_RESETN__SSP3_CMD */ 0x01c3 /* MX28_PAD_GPMI_RESETN__GPIO_0_28 */
0x0111 /* MX28_PAD_GPMI_CE1N__SSP3_D3 */ 0x0113 /* MX28_PAD_GPMI_CE1N__GPIO_0_17 */
0x01a2 /* MX28_PAD_GPMI_ALE__SSP3_D4 */ 0x01a3 /* MX28_PAD_GPMI_ALE__GPIO_0_26 */
0x01b2 /* MX28_PAD_GPMI_CLE__SSP3_D5 */ 0x01b3 /* MX28_PAD_GPMI_CLE__GPIO_0_27 */
>; >;
fsl,drive-strength = <1>; fsl,drive-strength = <1>;
fsl,voltage = <1>; fsl,voltage = <1>;
fsl,pull-up = <1>; fsl,pull-up = <1>;
}; };
}; };
ssp3: ssp@80016000 {
compatible = "fsl,imx28-spi";
pinctrl-names = "default";
pinctrl-0 = <&spi3_pins_cfa10049>;
status = "okay";
gpio5: gpio5@0 {
compatible = "fairchild,74hc595";
gpio-controller;
#gpio-cells = <2>;
reg = <0>;
registers-number = <2>;
spi-max-frequency = <100000>;
};
gpio6: gpio6@1 {
compatible = "fairchild,74hc595";
gpio-controller;
#gpio-cells = <2>;
reg = <1>;
registers-number = <4>;
spi-max-frequency = <100000>;
};
dac0: dh2228@2 {
compatible = "rohm,dh2228fv";
reg = <2>;
spi-max-frequency = <100000>;
};
};
}; };
apbx@80040000 { apbx@80040000 {
...@@ -177,4 +146,41 @@ mac0: ethernet@800f0000 { ...@@ -177,4 +146,41 @@ mac0: ethernet@800f0000 {
status = "okay"; status = "okay";
}; };
}; };
spi3 {
compatible = "spi-gpio";
pinctrl-names = "default";
pinctrl-0 = <&spi3_pins_cfa10049>;
status = "okay";
gpio-sck = <&gpio0 24 0>;
gpio-mosi = <&gpio0 28 0>;
cs-gpios = <&gpio0 17 0 &gpio0 26 0 &gpio0 27 0>;
num-chipselects = <3>;
#address-cells = <1>;
#size-cells = <0>;
gpio5: gpio5@0 {
compatible = "fairchild,74hc595";
gpio-controller;
#gpio-cells = <2>;
reg = <0>;
registers-number = <2>;
spi-max-frequency = <100000>;
};
gpio6: gpio6@1 {
compatible = "fairchild,74hc595";
gpio-controller;
#gpio-cells = <2>;
reg = <1>;
registers-number = <4>;
spi-max-frequency = <100000>;
};
dac0: dh2228@2 {
compatible = "rohm,dh2228fv";
reg = <2>;
spi-max-frequency = <100000>;
};
};
}; };
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment