15def4c47SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
25def4c47SEmmanuel Vadot/*
35def4c47SEmmanuel Vadot * Copyright (c) 2020 Microsemi Corporation
45def4c47SEmmanuel Vadot */
55def4c47SEmmanuel Vadot
65def4c47SEmmanuel Vadot/dts-v1/;
75def4c47SEmmanuel Vadot#include "jaguar2_common.dtsi"
85def4c47SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
95def4c47SEmmanuel Vadot
105def4c47SEmmanuel Vadot/ {
115def4c47SEmmanuel Vadot	model = "Jaguar2 Cu8-Sfp16 PCB110 Reference Board";
125def4c47SEmmanuel Vadot	compatible = "mscc,jr2-pcb110", "mscc,jr2";
135def4c47SEmmanuel Vadot
145def4c47SEmmanuel Vadot	aliases {
155def4c47SEmmanuel Vadot		i2c0    = &i2c0;
165def4c47SEmmanuel Vadot		i2c108  = &i2c108;
175def4c47SEmmanuel Vadot		i2c109  = &i2c109;
185def4c47SEmmanuel Vadot		i2c110  = &i2c110;
195def4c47SEmmanuel Vadot		i2c111  = &i2c111;
205def4c47SEmmanuel Vadot		i2c112  = &i2c112;
215def4c47SEmmanuel Vadot		i2c113  = &i2c113;
225def4c47SEmmanuel Vadot		i2c114  = &i2c114;
235def4c47SEmmanuel Vadot		i2c115  = &i2c115;
245def4c47SEmmanuel Vadot		i2c116  = &i2c116;
255def4c47SEmmanuel Vadot		i2c117  = &i2c117;
265def4c47SEmmanuel Vadot		i2c118  = &i2c118;
275def4c47SEmmanuel Vadot		i2c119  = &i2c119;
285def4c47SEmmanuel Vadot		i2c120  = &i2c120;
295def4c47SEmmanuel Vadot		i2c121  = &i2c121;
305def4c47SEmmanuel Vadot		i2c122  = &i2c122;
315def4c47SEmmanuel Vadot		i2c123  = &i2c123;
325def4c47SEmmanuel Vadot		i2c124  = &i2c124;
335def4c47SEmmanuel Vadot		i2c125  = &i2c125;
345def4c47SEmmanuel Vadot		i2c126  = &i2c126;
355def4c47SEmmanuel Vadot		i2c127  = &i2c127;
365def4c47SEmmanuel Vadot		i2c128  = &i2c128;
375def4c47SEmmanuel Vadot		i2c129  = &i2c129;
385def4c47SEmmanuel Vadot		i2c130  = &i2c130;
395def4c47SEmmanuel Vadot		i2c131  = &i2c131;
405def4c47SEmmanuel Vadot		i2c149  = &i2c149;
415def4c47SEmmanuel Vadot		i2c150  = &i2c150;
425def4c47SEmmanuel Vadot		i2c151  = &i2c151;
435def4c47SEmmanuel Vadot		i2c152  = &i2c152;
445def4c47SEmmanuel Vadot	};
455def4c47SEmmanuel Vadot	i2c0_imux: i2c0-imux {
465def4c47SEmmanuel Vadot		compatible = "i2c-mux-pinctrl";
475def4c47SEmmanuel Vadot		#address-cells = <1>;
485def4c47SEmmanuel Vadot		#size-cells = <0>;
495def4c47SEmmanuel Vadot		i2c-parent = <&i2c0>;
505def4c47SEmmanuel Vadot		pinctrl-names =
515def4c47SEmmanuel Vadot			"i2c149", "i2c150", "i2c151", "i2c152", "idle";
525def4c47SEmmanuel Vadot		pinctrl-0 = <&i2cmux_0>;
535def4c47SEmmanuel Vadot		pinctrl-1 = <&i2cmux_1>;
545def4c47SEmmanuel Vadot		pinctrl-2 = <&i2cmux_2>;
555def4c47SEmmanuel Vadot		pinctrl-3 = <&i2cmux_3>;
565def4c47SEmmanuel Vadot		pinctrl-4 = <&i2cmux_pins_i>;
575def4c47SEmmanuel Vadot		i2c149: i2c@0 {
585def4c47SEmmanuel Vadot			reg = <0x0>;
595def4c47SEmmanuel Vadot			#address-cells = <1>;
605def4c47SEmmanuel Vadot			#size-cells = <0>;
615def4c47SEmmanuel Vadot		};
625def4c47SEmmanuel Vadot		i2c150: i2c@1 {
635def4c47SEmmanuel Vadot			reg = <0x1>;
645def4c47SEmmanuel Vadot			#address-cells = <1>;
655def4c47SEmmanuel Vadot			#size-cells = <0>;
665def4c47SEmmanuel Vadot		};
675def4c47SEmmanuel Vadot		i2c151: i2c@2 {
685def4c47SEmmanuel Vadot			reg = <0x2>;
695def4c47SEmmanuel Vadot			#address-cells = <1>;
705def4c47SEmmanuel Vadot			#size-cells = <0>;
715def4c47SEmmanuel Vadot		};
725def4c47SEmmanuel Vadot		i2c152: i2c@3 {
735def4c47SEmmanuel Vadot			reg = <0x3>;
745def4c47SEmmanuel Vadot			#address-cells = <1>;
755def4c47SEmmanuel Vadot			#size-cells = <0>;
765def4c47SEmmanuel Vadot		};
775def4c47SEmmanuel Vadot	};
785def4c47SEmmanuel Vadot	i2c0_emux: i2c0-emux {
795def4c47SEmmanuel Vadot		compatible = "i2c-mux-gpio";
805def4c47SEmmanuel Vadot		#address-cells = <1>;
815def4c47SEmmanuel Vadot		#size-cells = <0>;
825def4c47SEmmanuel Vadot		i2c-parent = <&i2c0>;
835def4c47SEmmanuel Vadot		mux-gpios = <&gpio 51 GPIO_ACTIVE_HIGH
845def4c47SEmmanuel Vadot			     &gpio 52 GPIO_ACTIVE_HIGH
855def4c47SEmmanuel Vadot			     &gpio 53 GPIO_ACTIVE_HIGH
865def4c47SEmmanuel Vadot			     &gpio 58 GPIO_ACTIVE_HIGH
875def4c47SEmmanuel Vadot			     &gpio 59 GPIO_ACTIVE_HIGH>;
885def4c47SEmmanuel Vadot		idle-state = <0x0>;
895def4c47SEmmanuel Vadot		i2c108: i2c@10 {
905def4c47SEmmanuel Vadot			reg = <0x10>;
915def4c47SEmmanuel Vadot			#address-cells = <1>;
925def4c47SEmmanuel Vadot			#size-cells = <0>;
935def4c47SEmmanuel Vadot		};
945def4c47SEmmanuel Vadot		i2c109: i2c@11 {
955def4c47SEmmanuel Vadot			reg = <0x11>;
965def4c47SEmmanuel Vadot			#address-cells = <1>;
975def4c47SEmmanuel Vadot			#size-cells = <0>;
985def4c47SEmmanuel Vadot		};
995def4c47SEmmanuel Vadot		i2c110: i2c@12 {
1005def4c47SEmmanuel Vadot			reg = <0x12>;
1015def4c47SEmmanuel Vadot			#address-cells = <1>;
1025def4c47SEmmanuel Vadot			#size-cells = <0>;
1035def4c47SEmmanuel Vadot		};
1045def4c47SEmmanuel Vadot		i2c111: i2c@13 {
1055def4c47SEmmanuel Vadot			reg = <0x13>;
1065def4c47SEmmanuel Vadot			#address-cells = <1>;
1075def4c47SEmmanuel Vadot			#size-cells = <0>;
1085def4c47SEmmanuel Vadot		};
1095def4c47SEmmanuel Vadot		i2c112: i2c@14 {
1105def4c47SEmmanuel Vadot			reg = <0x14>;
1115def4c47SEmmanuel Vadot			#address-cells = <1>;
1125def4c47SEmmanuel Vadot			#size-cells = <0>;
1135def4c47SEmmanuel Vadot		};
1145def4c47SEmmanuel Vadot		i2c113: i2c@15 {
1155def4c47SEmmanuel Vadot			reg = <0x15>;
1165def4c47SEmmanuel Vadot			#address-cells = <1>;
1175def4c47SEmmanuel Vadot			#size-cells = <0>;
1185def4c47SEmmanuel Vadot		};
1195def4c47SEmmanuel Vadot		i2c114: i2c@16 {
1205def4c47SEmmanuel Vadot			reg = <0x16>;
1215def4c47SEmmanuel Vadot			#address-cells = <1>;
1225def4c47SEmmanuel Vadot			#size-cells = <0>;
1235def4c47SEmmanuel Vadot		};
1245def4c47SEmmanuel Vadot		i2c115: i2c@17 {
1255def4c47SEmmanuel Vadot			reg = <0x17>;
1265def4c47SEmmanuel Vadot			#address-cells = <1>;
1275def4c47SEmmanuel Vadot			#size-cells = <0>;
1285def4c47SEmmanuel Vadot		};
1295def4c47SEmmanuel Vadot		i2c116: i2c@8 {
1305def4c47SEmmanuel Vadot			reg = <0x8>;
1315def4c47SEmmanuel Vadot			#address-cells = <1>;
1325def4c47SEmmanuel Vadot			#size-cells = <0>;
1335def4c47SEmmanuel Vadot		};
1345def4c47SEmmanuel Vadot		i2c117: i2c@9 {
1355def4c47SEmmanuel Vadot			reg = <0x9>;
1365def4c47SEmmanuel Vadot			#address-cells = <1>;
1375def4c47SEmmanuel Vadot			#size-cells = <0>;
1385def4c47SEmmanuel Vadot		};
1395def4c47SEmmanuel Vadot		i2c118: i2c@a {
1405def4c47SEmmanuel Vadot			reg = <0xa>;
1415def4c47SEmmanuel Vadot			#address-cells = <1>;
1425def4c47SEmmanuel Vadot			#size-cells = <0>;
1435def4c47SEmmanuel Vadot		};
1445def4c47SEmmanuel Vadot		i2c119: i2c@b {
1455def4c47SEmmanuel Vadot			reg = <0xb>;
1465def4c47SEmmanuel Vadot			#address-cells = <1>;
1475def4c47SEmmanuel Vadot			#size-cells = <0>;
1485def4c47SEmmanuel Vadot		};
1495def4c47SEmmanuel Vadot		i2c120: i2c@c {
1505def4c47SEmmanuel Vadot			reg = <0xc>;
1515def4c47SEmmanuel Vadot			#address-cells = <1>;
1525def4c47SEmmanuel Vadot			#size-cells = <0>;
1535def4c47SEmmanuel Vadot		};
1545def4c47SEmmanuel Vadot		i2c121: i2c@d {
1555def4c47SEmmanuel Vadot			reg = <0xd>;
1565def4c47SEmmanuel Vadot			#address-cells = <1>;
1575def4c47SEmmanuel Vadot			#size-cells = <0>;
1585def4c47SEmmanuel Vadot		};
1595def4c47SEmmanuel Vadot		i2c122: i2c@e {
1605def4c47SEmmanuel Vadot			reg = <0xe>;
1615def4c47SEmmanuel Vadot			#address-cells = <1>;
1625def4c47SEmmanuel Vadot			#size-cells = <0>;
1635def4c47SEmmanuel Vadot		};
1645def4c47SEmmanuel Vadot		i2c123: i2c@f {
1655def4c47SEmmanuel Vadot			reg = <0xf>;
1665def4c47SEmmanuel Vadot			#address-cells = <1>;
1675def4c47SEmmanuel Vadot			#size-cells = <0>;
1685def4c47SEmmanuel Vadot		};
1695def4c47SEmmanuel Vadot	};
1705def4c47SEmmanuel Vadot};
1715def4c47SEmmanuel Vadot
1725def4c47SEmmanuel Vadot&gpio {
1735def4c47SEmmanuel Vadot	synce_pins: synce-pins {
1745def4c47SEmmanuel Vadot		// GPIO 16 == SI_nCS1
1755def4c47SEmmanuel Vadot		pins = "GPIO_16";
1765def4c47SEmmanuel Vadot		function = "si";
1775def4c47SEmmanuel Vadot	};
1785def4c47SEmmanuel Vadot	synce_builtin_pins: synce-builtin-pins {
1795def4c47SEmmanuel Vadot		// GPIO 49 == SI_nCS13
1805def4c47SEmmanuel Vadot		pins = "GPIO_49";
1815def4c47SEmmanuel Vadot		function = "si";
1825def4c47SEmmanuel Vadot	};
183d5b0e70fSEmmanuel Vadot	i2cmux_pins_i: i2cmux-pins {
1845def4c47SEmmanuel Vadot		pins = "GPIO_17", "GPIO_18", "GPIO_20", "GPIO_21";
1855def4c47SEmmanuel Vadot		function = "twi_scl_m";
1865def4c47SEmmanuel Vadot		output-low;
1875def4c47SEmmanuel Vadot	};
188d5b0e70fSEmmanuel Vadot	i2cmux_0: i2cmux-0-pins {
1895def4c47SEmmanuel Vadot		pins = "GPIO_17";
1905def4c47SEmmanuel Vadot		function = "twi_scl_m";
1915def4c47SEmmanuel Vadot		output-high;
1925def4c47SEmmanuel Vadot	};
193d5b0e70fSEmmanuel Vadot	i2cmux_1: i2cmux-1-pins {
1945def4c47SEmmanuel Vadot		pins = "GPIO_18";
1955def4c47SEmmanuel Vadot		function = "twi_scl_m";
1965def4c47SEmmanuel Vadot		output-high;
1975def4c47SEmmanuel Vadot	};
198d5b0e70fSEmmanuel Vadot	i2cmux_2: i2cmux-2-pins {
1995def4c47SEmmanuel Vadot		pins = "GPIO_20";
2005def4c47SEmmanuel Vadot		function = "twi_scl_m";
2015def4c47SEmmanuel Vadot		output-high;
2025def4c47SEmmanuel Vadot	};
203d5b0e70fSEmmanuel Vadot	i2cmux_3: i2cmux-3-pins {
2045def4c47SEmmanuel Vadot		pins = "GPIO_21";
2055def4c47SEmmanuel Vadot		function = "twi_scl_m";
2065def4c47SEmmanuel Vadot		output-high;
2075def4c47SEmmanuel Vadot	};
2085def4c47SEmmanuel Vadot};
2095def4c47SEmmanuel Vadot
2105def4c47SEmmanuel Vadot&i2c0 {
211*8bab661aSEmmanuel Vadot	i2c-mux@70 {
2125def4c47SEmmanuel Vadot		compatible = "nxp,pca9545";
2135def4c47SEmmanuel Vadot		reg = <0x70>;
2145def4c47SEmmanuel Vadot		#address-cells = <1>;
2155def4c47SEmmanuel Vadot		#size-cells = <0>;
2165def4c47SEmmanuel Vadot		i2c-mux-idle-disconnect;
2175def4c47SEmmanuel Vadot		i2c124: i2c@0 {
2185def4c47SEmmanuel Vadot			#address-cells = <1>;
2195def4c47SEmmanuel Vadot			#size-cells = <0>;
2205def4c47SEmmanuel Vadot			reg = <0>;
2215def4c47SEmmanuel Vadot		};
2225def4c47SEmmanuel Vadot		i2c125: i2c@1 {
2235def4c47SEmmanuel Vadot			/* FMC B */
2245def4c47SEmmanuel Vadot			#address-cells = <1>;
2255def4c47SEmmanuel Vadot			#size-cells = <0>;
2265def4c47SEmmanuel Vadot			reg = <1>;
2275def4c47SEmmanuel Vadot		};
2285def4c47SEmmanuel Vadot		i2c126: i2c@2 {
2295def4c47SEmmanuel Vadot			#address-cells = <1>;
2305def4c47SEmmanuel Vadot			#size-cells = <0>;
2315def4c47SEmmanuel Vadot			reg = <2>;
2325def4c47SEmmanuel Vadot		};
2335def4c47SEmmanuel Vadot		i2c127: i2c@3 {
2345def4c47SEmmanuel Vadot			#address-cells = <1>;
2355def4c47SEmmanuel Vadot			#size-cells = <0>;
2365def4c47SEmmanuel Vadot			reg = <3>;
2375def4c47SEmmanuel Vadot		};
2385def4c47SEmmanuel Vadot	};
239*8bab661aSEmmanuel Vadot	i2c-mux@71 {
2405def4c47SEmmanuel Vadot		compatible = "nxp,pca9545";
2415def4c47SEmmanuel Vadot		reg = <0x71>;
2425def4c47SEmmanuel Vadot		#address-cells = <1>;
2435def4c47SEmmanuel Vadot		#size-cells = <0>;
2445def4c47SEmmanuel Vadot		i2c-mux-idle-disconnect;
2455def4c47SEmmanuel Vadot		i2c128: i2c@0 {
2465def4c47SEmmanuel Vadot			#address-cells = <1>;
2475def4c47SEmmanuel Vadot			#size-cells = <0>;
2485def4c47SEmmanuel Vadot			reg = <0>;
2495def4c47SEmmanuel Vadot		};
2505def4c47SEmmanuel Vadot		i2c129: i2c@1 {
2515def4c47SEmmanuel Vadot			/* FMC B */
2525def4c47SEmmanuel Vadot			#address-cells = <1>;
2535def4c47SEmmanuel Vadot			#size-cells = <0>;
2545def4c47SEmmanuel Vadot			reg = <1>;
2555def4c47SEmmanuel Vadot		};
2565def4c47SEmmanuel Vadot		i2c130: i2c@2 {
2575def4c47SEmmanuel Vadot			#address-cells = <1>;
2585def4c47SEmmanuel Vadot			#size-cells = <0>;
2595def4c47SEmmanuel Vadot			reg = <2>;
2605def4c47SEmmanuel Vadot		};
2615def4c47SEmmanuel Vadot		i2c131: i2c@3 {
2625def4c47SEmmanuel Vadot			#address-cells = <1>;
2635def4c47SEmmanuel Vadot			#size-cells = <0>;
2645def4c47SEmmanuel Vadot			reg = <3>;
2655def4c47SEmmanuel Vadot		};
2665def4c47SEmmanuel Vadot	};
2675def4c47SEmmanuel Vadot};
268