0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2020 Microsemi Corporation
0004 */
0005
0006 /dts-v1/;
0007 #include "jaguar2_common.dtsi"
0008 #include <dt-bindings/gpio/gpio.h>
0009
0010 / {
0011 model = "Jaguar2 Cu8-Sfp16 PCB110 Reference Board";
0012 compatible = "mscc,jr2-pcb110", "mscc,jr2";
0013
0014 aliases {
0015 i2c0 = &i2c0;
0016 i2c108 = &i2c108;
0017 i2c109 = &i2c109;
0018 i2c110 = &i2c110;
0019 i2c111 = &i2c111;
0020 i2c112 = &i2c112;
0021 i2c113 = &i2c113;
0022 i2c114 = &i2c114;
0023 i2c115 = &i2c115;
0024 i2c116 = &i2c116;
0025 i2c117 = &i2c117;
0026 i2c118 = &i2c118;
0027 i2c119 = &i2c119;
0028 i2c120 = &i2c120;
0029 i2c121 = &i2c121;
0030 i2c122 = &i2c122;
0031 i2c123 = &i2c123;
0032 i2c124 = &i2c124;
0033 i2c125 = &i2c125;
0034 i2c126 = &i2c126;
0035 i2c127 = &i2c127;
0036 i2c128 = &i2c128;
0037 i2c129 = &i2c129;
0038 i2c130 = &i2c130;
0039 i2c131 = &i2c131;
0040 i2c149 = &i2c149;
0041 i2c150 = &i2c150;
0042 i2c151 = &i2c151;
0043 i2c152 = &i2c152;
0044 };
0045 i2c0_imux: i2c0-imux {
0046 compatible = "i2c-mux-pinctrl";
0047 #address-cells = <1>;
0048 #size-cells = <0>;
0049 i2c-parent = <&i2c0>;
0050 pinctrl-names =
0051 "i2c149", "i2c150", "i2c151", "i2c152", "idle";
0052 pinctrl-0 = <&i2cmux_0>;
0053 pinctrl-1 = <&i2cmux_1>;
0054 pinctrl-2 = <&i2cmux_2>;
0055 pinctrl-3 = <&i2cmux_3>;
0056 pinctrl-4 = <&i2cmux_pins_i>;
0057 i2c149: i2c@0 {
0058 reg = <0x0>;
0059 #address-cells = <1>;
0060 #size-cells = <0>;
0061 };
0062 i2c150: i2c@1 {
0063 reg = <0x1>;
0064 #address-cells = <1>;
0065 #size-cells = <0>;
0066 };
0067 i2c151: i2c@2 {
0068 reg = <0x2>;
0069 #address-cells = <1>;
0070 #size-cells = <0>;
0071 };
0072 i2c152: i2c@3 {
0073 reg = <0x3>;
0074 #address-cells = <1>;
0075 #size-cells = <0>;
0076 };
0077 };
0078 i2c0_emux: i2c0-emux {
0079 compatible = "i2c-mux-gpio";
0080 #address-cells = <1>;
0081 #size-cells = <0>;
0082 i2c-parent = <&i2c0>;
0083 mux-gpios = <&gpio 51 GPIO_ACTIVE_HIGH
0084 &gpio 52 GPIO_ACTIVE_HIGH
0085 &gpio 53 GPIO_ACTIVE_HIGH
0086 &gpio 58 GPIO_ACTIVE_HIGH
0087 &gpio 59 GPIO_ACTIVE_HIGH>;
0088 idle-state = <0x0>;
0089 i2c108: i2c@10 {
0090 reg = <0x10>;
0091 #address-cells = <1>;
0092 #size-cells = <0>;
0093 };
0094 i2c109: i2c@11 {
0095 reg = <0x11>;
0096 #address-cells = <1>;
0097 #size-cells = <0>;
0098 };
0099 i2c110: i2c@12 {
0100 reg = <0x12>;
0101 #address-cells = <1>;
0102 #size-cells = <0>;
0103 };
0104 i2c111: i2c@13 {
0105 reg = <0x13>;
0106 #address-cells = <1>;
0107 #size-cells = <0>;
0108 };
0109 i2c112: i2c@14 {
0110 reg = <0x14>;
0111 #address-cells = <1>;
0112 #size-cells = <0>;
0113 };
0114 i2c113: i2c@15 {
0115 reg = <0x15>;
0116 #address-cells = <1>;
0117 #size-cells = <0>;
0118 };
0119 i2c114: i2c@16 {
0120 reg = <0x16>;
0121 #address-cells = <1>;
0122 #size-cells = <0>;
0123 };
0124 i2c115: i2c@17 {
0125 reg = <0x17>;
0126 #address-cells = <1>;
0127 #size-cells = <0>;
0128 };
0129 i2c116: i2c@8 {
0130 reg = <0x8>;
0131 #address-cells = <1>;
0132 #size-cells = <0>;
0133 };
0134 i2c117: i2c@9 {
0135 reg = <0x9>;
0136 #address-cells = <1>;
0137 #size-cells = <0>;
0138 };
0139 i2c118: i2c@a {
0140 reg = <0xa>;
0141 #address-cells = <1>;
0142 #size-cells = <0>;
0143 };
0144 i2c119: i2c@b {
0145 reg = <0xb>;
0146 #address-cells = <1>;
0147 #size-cells = <0>;
0148 };
0149 i2c120: i2c@c {
0150 reg = <0xc>;
0151 #address-cells = <1>;
0152 #size-cells = <0>;
0153 };
0154 i2c121: i2c@d {
0155 reg = <0xd>;
0156 #address-cells = <1>;
0157 #size-cells = <0>;
0158 };
0159 i2c122: i2c@e {
0160 reg = <0xe>;
0161 #address-cells = <1>;
0162 #size-cells = <0>;
0163 };
0164 i2c123: i2c@f {
0165 reg = <0xf>;
0166 #address-cells = <1>;
0167 #size-cells = <0>;
0168 };
0169 };
0170 };
0171
0172 &gpio {
0173 synce_pins: synce-pins {
0174 // GPIO 16 == SI_nCS1
0175 pins = "GPIO_16";
0176 function = "si";
0177 };
0178 synce_builtin_pins: synce-builtin-pins {
0179 // GPIO 49 == SI_nCS13
0180 pins = "GPIO_49";
0181 function = "si";
0182 };
0183 i2cmux_pins_i: i2cmux-pins {
0184 pins = "GPIO_17", "GPIO_18", "GPIO_20", "GPIO_21";
0185 function = "twi_scl_m";
0186 output-low;
0187 };
0188 i2cmux_0: i2cmux-0-pins {
0189 pins = "GPIO_17";
0190 function = "twi_scl_m";
0191 output-high;
0192 };
0193 i2cmux_1: i2cmux-1-pins {
0194 pins = "GPIO_18";
0195 function = "twi_scl_m";
0196 output-high;
0197 };
0198 i2cmux_2: i2cmux-2-pins {
0199 pins = "GPIO_20";
0200 function = "twi_scl_m";
0201 output-high;
0202 };
0203 i2cmux_3: i2cmux-3-pins {
0204 pins = "GPIO_21";
0205 function = "twi_scl_m";
0206 output-high;
0207 };
0208 };
0209
0210 &i2c0 {
0211 pca9545@70 {
0212 compatible = "nxp,pca9545";
0213 reg = <0x70>;
0214 #address-cells = <1>;
0215 #size-cells = <0>;
0216 i2c-mux-idle-disconnect;
0217 i2c124: i2c@0 {
0218 #address-cells = <1>;
0219 #size-cells = <0>;
0220 reg = <0>;
0221 };
0222 i2c125: i2c@1 {
0223 /* FMC B */
0224 #address-cells = <1>;
0225 #size-cells = <0>;
0226 reg = <1>;
0227 };
0228 i2c126: i2c@2 {
0229 #address-cells = <1>;
0230 #size-cells = <0>;
0231 reg = <2>;
0232 };
0233 i2c127: i2c@3 {
0234 #address-cells = <1>;
0235 #size-cells = <0>;
0236 reg = <3>;
0237 };
0238 };
0239 pca9545@71 {
0240 compatible = "nxp,pca9545";
0241 reg = <0x71>;
0242 #address-cells = <1>;
0243 #size-cells = <0>;
0244 i2c-mux-idle-disconnect;
0245 i2c128: i2c@0 {
0246 #address-cells = <1>;
0247 #size-cells = <0>;
0248 reg = <0>;
0249 };
0250 i2c129: i2c@1 {
0251 /* FMC B */
0252 #address-cells = <1>;
0253 #size-cells = <0>;
0254 reg = <1>;
0255 };
0256 i2c130: i2c@2 {
0257 #address-cells = <1>;
0258 #size-cells = <0>;
0259 reg = <2>;
0260 };
0261 i2c131: i2c@3 {
0262 #address-cells = <1>;
0263 #size-cells = <0>;
0264 reg = <3>;
0265 };
0266 };
0267 };