ARM: dts: cfa10049: Add the i2c muxer buses to the CFA-10049
[platform/kernel/linux-starfive.git] / arch / arm / boot / dts / imx28-cfa10049.dts
1 /*
2  * Copyright 2012 Free Electrons
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 /*
13  * The CFA-10049 is an expansion board for the CFA-10036 module, thus we
14  * need to include the CFA-10036 DTS.
15  */
16 /include/ "imx28-cfa10036.dts"
17
18 / {
19         model = "Crystalfontz CFA-10049 Board";
20         compatible = "crystalfontz,cfa10049", "crystalfontz,cfa10036", "fsl,imx28";
21
22         apb@80000000 {
23                 apbh@80000000 {
24                         pinctrl@80018000 {
25                                 spi3_pins_cfa10049: spi3-cfa10049@0 {
26                                         reg = <0>;
27                                         fsl,pinmux-ids = <
28                                                 0x0181 /* MX28_PAD_GPMI_RDN__SSP3_SCK */
29                                                 0x01c1 /* MX28_PAD_GPMI_RESETN__SSP3_CMD */
30                                                 0x0111 /* MX28_PAD_GPMI_CE1N__SSP3_D3 */
31                                                 0x01a2 /* MX28_PAD_GPMI_ALE__SSP3_D4 */
32                                         >;
33                                         fsl,drive-strength = <1>;
34                                         fsl,voltage = <1>;
35                                         fsl,pull-up = <1>;
36                                 };
37                         };
38
39                         ssp3: ssp@80016000 {
40                                 compatible = "fsl,imx28-spi";
41                                 pinctrl-names = "default";
42                                 pinctrl-0 = <&spi3_pins_cfa10049>;
43                                 status = "okay";
44
45                                 gpio5: gpio5@0 {
46                                         compatible = "fairchild,74hc595";
47                                         gpio-controller;
48                                         #gpio-cells = <2>;
49                                         reg = <0>;
50                                         registers-number = <2>;
51                                         spi-max-frequency = <100000>;
52                                 };
53
54                                 gpio6: gpio6@1 {
55                                         compatible = "fairchild,74hc595";
56                                         gpio-controller;
57                                         #gpio-cells = <2>;
58                                         reg = <1>;
59                                         registers-number = <4>;
60                                         spi-max-frequency = <100000>;
61                                 };
62
63                         };
64                 };
65
66                 apbx@80040000 {
67                         i2c1: i2c@8005a000 {
68                                 pinctrl-names = "default";
69                                 pinctrl-0 = <&i2c1_pins_a>;
70                                 status = "okay";
71                         };
72
73                         i2cmux {
74                                 compatible = "i2c-mux-gpio";
75                                 #address-cells = <1>;
76                                 #size-cells = <0>;
77                                 mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
78                                 i2c-parent = <&i2c1>;
79
80                                 i2c@0 {
81                                         reg = <0>;
82                                 };
83
84                                 i2c@1 {
85                                         reg = <1>;
86                                 };
87
88                                 i2c@2 {
89                                         reg = <2>;
90                                 };
91
92                                 i2c@3 {
93                                         reg = <3>;
94                                 };
95                         };
96
97                         usbphy1: usbphy@8007e000 {
98                                 status = "okay";
99                         };
100                 };
101         };
102
103         ahb@80080000 {
104                 usb1: usb@80090000 {
105                         vbus-supply = <&reg_usb1_vbus>;
106                         pinctrl-0 = <&usbphy1_pins_a>;
107                         pinctrl-names = "default";
108                         status = "okay";
109                 };
110         };
111
112         regulators {
113                 compatible = "simple-bus";
114
115                 reg_usb1_vbus: usb1_vbus {
116                         compatible = "regulator-fixed";
117                         regulator-name = "usb1_vbus";
118                         regulator-min-microvolt = <5000000>;
119                         regulator-max-microvolt = <5000000>;
120                         gpio = <&gpio0 7 1>;
121                 };
122         };
123 };