162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2020 Microsemi Corporation
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci#include "jaguar2_common.dtsi"
862306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/ {
1162306a36Sopenharmony_ci	model = "Jaguar2 Cu8-Sfp16 PCB110 Reference Board";
1262306a36Sopenharmony_ci	compatible = "mscc,jr2-pcb110", "mscc,jr2";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	aliases {
1562306a36Sopenharmony_ci		i2c0    = &i2c0;
1662306a36Sopenharmony_ci		i2c108  = &i2c108;
1762306a36Sopenharmony_ci		i2c109  = &i2c109;
1862306a36Sopenharmony_ci		i2c110  = &i2c110;
1962306a36Sopenharmony_ci		i2c111  = &i2c111;
2062306a36Sopenharmony_ci		i2c112  = &i2c112;
2162306a36Sopenharmony_ci		i2c113  = &i2c113;
2262306a36Sopenharmony_ci		i2c114  = &i2c114;
2362306a36Sopenharmony_ci		i2c115  = &i2c115;
2462306a36Sopenharmony_ci		i2c116  = &i2c116;
2562306a36Sopenharmony_ci		i2c117  = &i2c117;
2662306a36Sopenharmony_ci		i2c118  = &i2c118;
2762306a36Sopenharmony_ci		i2c119  = &i2c119;
2862306a36Sopenharmony_ci		i2c120  = &i2c120;
2962306a36Sopenharmony_ci		i2c121  = &i2c121;
3062306a36Sopenharmony_ci		i2c122  = &i2c122;
3162306a36Sopenharmony_ci		i2c123  = &i2c123;
3262306a36Sopenharmony_ci		i2c124  = &i2c124;
3362306a36Sopenharmony_ci		i2c125  = &i2c125;
3462306a36Sopenharmony_ci		i2c126  = &i2c126;
3562306a36Sopenharmony_ci		i2c127  = &i2c127;
3662306a36Sopenharmony_ci		i2c128  = &i2c128;
3762306a36Sopenharmony_ci		i2c129  = &i2c129;
3862306a36Sopenharmony_ci		i2c130  = &i2c130;
3962306a36Sopenharmony_ci		i2c131  = &i2c131;
4062306a36Sopenharmony_ci		i2c149  = &i2c149;
4162306a36Sopenharmony_ci		i2c150  = &i2c150;
4262306a36Sopenharmony_ci		i2c151  = &i2c151;
4362306a36Sopenharmony_ci		i2c152  = &i2c152;
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci	i2c0_imux: i2c0-imux {
4662306a36Sopenharmony_ci		compatible = "i2c-mux-pinctrl";
4762306a36Sopenharmony_ci		#address-cells = <1>;
4862306a36Sopenharmony_ci		#size-cells = <0>;
4962306a36Sopenharmony_ci		i2c-parent = <&i2c0>;
5062306a36Sopenharmony_ci		pinctrl-names =
5162306a36Sopenharmony_ci			"i2c149", "i2c150", "i2c151", "i2c152", "idle";
5262306a36Sopenharmony_ci		pinctrl-0 = <&i2cmux_0>;
5362306a36Sopenharmony_ci		pinctrl-1 = <&i2cmux_1>;
5462306a36Sopenharmony_ci		pinctrl-2 = <&i2cmux_2>;
5562306a36Sopenharmony_ci		pinctrl-3 = <&i2cmux_3>;
5662306a36Sopenharmony_ci		pinctrl-4 = <&i2cmux_pins_i>;
5762306a36Sopenharmony_ci		i2c149: i2c@0 {
5862306a36Sopenharmony_ci			reg = <0x0>;
5962306a36Sopenharmony_ci			#address-cells = <1>;
6062306a36Sopenharmony_ci			#size-cells = <0>;
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci		i2c150: i2c@1 {
6362306a36Sopenharmony_ci			reg = <0x1>;
6462306a36Sopenharmony_ci			#address-cells = <1>;
6562306a36Sopenharmony_ci			#size-cells = <0>;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci		i2c151: i2c@2 {
6862306a36Sopenharmony_ci			reg = <0x2>;
6962306a36Sopenharmony_ci			#address-cells = <1>;
7062306a36Sopenharmony_ci			#size-cells = <0>;
7162306a36Sopenharmony_ci		};
7262306a36Sopenharmony_ci		i2c152: i2c@3 {
7362306a36Sopenharmony_ci			reg = <0x3>;
7462306a36Sopenharmony_ci			#address-cells = <1>;
7562306a36Sopenharmony_ci			#size-cells = <0>;
7662306a36Sopenharmony_ci		};
7762306a36Sopenharmony_ci	};
7862306a36Sopenharmony_ci	i2c0_emux: i2c0-emux {
7962306a36Sopenharmony_ci		compatible = "i2c-mux-gpio";
8062306a36Sopenharmony_ci		#address-cells = <1>;
8162306a36Sopenharmony_ci		#size-cells = <0>;
8262306a36Sopenharmony_ci		i2c-parent = <&i2c0>;
8362306a36Sopenharmony_ci		mux-gpios = <&gpio 51 GPIO_ACTIVE_HIGH
8462306a36Sopenharmony_ci			     &gpio 52 GPIO_ACTIVE_HIGH
8562306a36Sopenharmony_ci			     &gpio 53 GPIO_ACTIVE_HIGH
8662306a36Sopenharmony_ci			     &gpio 58 GPIO_ACTIVE_HIGH
8762306a36Sopenharmony_ci			     &gpio 59 GPIO_ACTIVE_HIGH>;
8862306a36Sopenharmony_ci		idle-state = <0x0>;
8962306a36Sopenharmony_ci		i2c108: i2c@10 {
9062306a36Sopenharmony_ci			reg = <0x10>;
9162306a36Sopenharmony_ci			#address-cells = <1>;
9262306a36Sopenharmony_ci			#size-cells = <0>;
9362306a36Sopenharmony_ci		};
9462306a36Sopenharmony_ci		i2c109: i2c@11 {
9562306a36Sopenharmony_ci			reg = <0x11>;
9662306a36Sopenharmony_ci			#address-cells = <1>;
9762306a36Sopenharmony_ci			#size-cells = <0>;
9862306a36Sopenharmony_ci		};
9962306a36Sopenharmony_ci		i2c110: i2c@12 {
10062306a36Sopenharmony_ci			reg = <0x12>;
10162306a36Sopenharmony_ci			#address-cells = <1>;
10262306a36Sopenharmony_ci			#size-cells = <0>;
10362306a36Sopenharmony_ci		};
10462306a36Sopenharmony_ci		i2c111: i2c@13 {
10562306a36Sopenharmony_ci			reg = <0x13>;
10662306a36Sopenharmony_ci			#address-cells = <1>;
10762306a36Sopenharmony_ci			#size-cells = <0>;
10862306a36Sopenharmony_ci		};
10962306a36Sopenharmony_ci		i2c112: i2c@14 {
11062306a36Sopenharmony_ci			reg = <0x14>;
11162306a36Sopenharmony_ci			#address-cells = <1>;
11262306a36Sopenharmony_ci			#size-cells = <0>;
11362306a36Sopenharmony_ci		};
11462306a36Sopenharmony_ci		i2c113: i2c@15 {
11562306a36Sopenharmony_ci			reg = <0x15>;
11662306a36Sopenharmony_ci			#address-cells = <1>;
11762306a36Sopenharmony_ci			#size-cells = <0>;
11862306a36Sopenharmony_ci		};
11962306a36Sopenharmony_ci		i2c114: i2c@16 {
12062306a36Sopenharmony_ci			reg = <0x16>;
12162306a36Sopenharmony_ci			#address-cells = <1>;
12262306a36Sopenharmony_ci			#size-cells = <0>;
12362306a36Sopenharmony_ci		};
12462306a36Sopenharmony_ci		i2c115: i2c@17 {
12562306a36Sopenharmony_ci			reg = <0x17>;
12662306a36Sopenharmony_ci			#address-cells = <1>;
12762306a36Sopenharmony_ci			#size-cells = <0>;
12862306a36Sopenharmony_ci		};
12962306a36Sopenharmony_ci		i2c116: i2c@8 {
13062306a36Sopenharmony_ci			reg = <0x8>;
13162306a36Sopenharmony_ci			#address-cells = <1>;
13262306a36Sopenharmony_ci			#size-cells = <0>;
13362306a36Sopenharmony_ci		};
13462306a36Sopenharmony_ci		i2c117: i2c@9 {
13562306a36Sopenharmony_ci			reg = <0x9>;
13662306a36Sopenharmony_ci			#address-cells = <1>;
13762306a36Sopenharmony_ci			#size-cells = <0>;
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci		i2c118: i2c@a {
14062306a36Sopenharmony_ci			reg = <0xa>;
14162306a36Sopenharmony_ci			#address-cells = <1>;
14262306a36Sopenharmony_ci			#size-cells = <0>;
14362306a36Sopenharmony_ci		};
14462306a36Sopenharmony_ci		i2c119: i2c@b {
14562306a36Sopenharmony_ci			reg = <0xb>;
14662306a36Sopenharmony_ci			#address-cells = <1>;
14762306a36Sopenharmony_ci			#size-cells = <0>;
14862306a36Sopenharmony_ci		};
14962306a36Sopenharmony_ci		i2c120: i2c@c {
15062306a36Sopenharmony_ci			reg = <0xc>;
15162306a36Sopenharmony_ci			#address-cells = <1>;
15262306a36Sopenharmony_ci			#size-cells = <0>;
15362306a36Sopenharmony_ci		};
15462306a36Sopenharmony_ci		i2c121: i2c@d {
15562306a36Sopenharmony_ci			reg = <0xd>;
15662306a36Sopenharmony_ci			#address-cells = <1>;
15762306a36Sopenharmony_ci			#size-cells = <0>;
15862306a36Sopenharmony_ci		};
15962306a36Sopenharmony_ci		i2c122: i2c@e {
16062306a36Sopenharmony_ci			reg = <0xe>;
16162306a36Sopenharmony_ci			#address-cells = <1>;
16262306a36Sopenharmony_ci			#size-cells = <0>;
16362306a36Sopenharmony_ci		};
16462306a36Sopenharmony_ci		i2c123: i2c@f {
16562306a36Sopenharmony_ci			reg = <0xf>;
16662306a36Sopenharmony_ci			#address-cells = <1>;
16762306a36Sopenharmony_ci			#size-cells = <0>;
16862306a36Sopenharmony_ci		};
16962306a36Sopenharmony_ci	};
17062306a36Sopenharmony_ci};
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci&gpio {
17362306a36Sopenharmony_ci	synce_pins: synce-pins {
17462306a36Sopenharmony_ci		// GPIO 16 == SI_nCS1
17562306a36Sopenharmony_ci		pins = "GPIO_16";
17662306a36Sopenharmony_ci		function = "si";
17762306a36Sopenharmony_ci	};
17862306a36Sopenharmony_ci	synce_builtin_pins: synce-builtin-pins {
17962306a36Sopenharmony_ci		// GPIO 49 == SI_nCS13
18062306a36Sopenharmony_ci		pins = "GPIO_49";
18162306a36Sopenharmony_ci		function = "si";
18262306a36Sopenharmony_ci	};
18362306a36Sopenharmony_ci	i2cmux_pins_i: i2cmux-pins {
18462306a36Sopenharmony_ci		pins = "GPIO_17", "GPIO_18", "GPIO_20", "GPIO_21";
18562306a36Sopenharmony_ci		function = "twi_scl_m";
18662306a36Sopenharmony_ci		output-low;
18762306a36Sopenharmony_ci	};
18862306a36Sopenharmony_ci	i2cmux_0: i2cmux-0-pins {
18962306a36Sopenharmony_ci		pins = "GPIO_17";
19062306a36Sopenharmony_ci		function = "twi_scl_m";
19162306a36Sopenharmony_ci		output-high;
19262306a36Sopenharmony_ci	};
19362306a36Sopenharmony_ci	i2cmux_1: i2cmux-1-pins {
19462306a36Sopenharmony_ci		pins = "GPIO_18";
19562306a36Sopenharmony_ci		function = "twi_scl_m";
19662306a36Sopenharmony_ci		output-high;
19762306a36Sopenharmony_ci	};
19862306a36Sopenharmony_ci	i2cmux_2: i2cmux-2-pins {
19962306a36Sopenharmony_ci		pins = "GPIO_20";
20062306a36Sopenharmony_ci		function = "twi_scl_m";
20162306a36Sopenharmony_ci		output-high;
20262306a36Sopenharmony_ci	};
20362306a36Sopenharmony_ci	i2cmux_3: i2cmux-3-pins {
20462306a36Sopenharmony_ci		pins = "GPIO_21";
20562306a36Sopenharmony_ci		function = "twi_scl_m";
20662306a36Sopenharmony_ci		output-high;
20762306a36Sopenharmony_ci	};
20862306a36Sopenharmony_ci};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci&i2c0 {
21162306a36Sopenharmony_ci	i2c-mux@70 {
21262306a36Sopenharmony_ci		compatible = "nxp,pca9545";
21362306a36Sopenharmony_ci		reg = <0x70>;
21462306a36Sopenharmony_ci		#address-cells = <1>;
21562306a36Sopenharmony_ci		#size-cells = <0>;
21662306a36Sopenharmony_ci		i2c-mux-idle-disconnect;
21762306a36Sopenharmony_ci		i2c124: i2c@0 {
21862306a36Sopenharmony_ci			#address-cells = <1>;
21962306a36Sopenharmony_ci			#size-cells = <0>;
22062306a36Sopenharmony_ci			reg = <0>;
22162306a36Sopenharmony_ci		};
22262306a36Sopenharmony_ci		i2c125: i2c@1 {
22362306a36Sopenharmony_ci			/* FMC B */
22462306a36Sopenharmony_ci			#address-cells = <1>;
22562306a36Sopenharmony_ci			#size-cells = <0>;
22662306a36Sopenharmony_ci			reg = <1>;
22762306a36Sopenharmony_ci		};
22862306a36Sopenharmony_ci		i2c126: i2c@2 {
22962306a36Sopenharmony_ci			#address-cells = <1>;
23062306a36Sopenharmony_ci			#size-cells = <0>;
23162306a36Sopenharmony_ci			reg = <2>;
23262306a36Sopenharmony_ci		};
23362306a36Sopenharmony_ci		i2c127: i2c@3 {
23462306a36Sopenharmony_ci			#address-cells = <1>;
23562306a36Sopenharmony_ci			#size-cells = <0>;
23662306a36Sopenharmony_ci			reg = <3>;
23762306a36Sopenharmony_ci		};
23862306a36Sopenharmony_ci	};
23962306a36Sopenharmony_ci	i2c-mux@71 {
24062306a36Sopenharmony_ci		compatible = "nxp,pca9545";
24162306a36Sopenharmony_ci		reg = <0x71>;
24262306a36Sopenharmony_ci		#address-cells = <1>;
24362306a36Sopenharmony_ci		#size-cells = <0>;
24462306a36Sopenharmony_ci		i2c-mux-idle-disconnect;
24562306a36Sopenharmony_ci		i2c128: i2c@0 {
24662306a36Sopenharmony_ci			#address-cells = <1>;
24762306a36Sopenharmony_ci			#size-cells = <0>;
24862306a36Sopenharmony_ci			reg = <0>;
24962306a36Sopenharmony_ci		};
25062306a36Sopenharmony_ci		i2c129: i2c@1 {
25162306a36Sopenharmony_ci			/* FMC B */
25262306a36Sopenharmony_ci			#address-cells = <1>;
25362306a36Sopenharmony_ci			#size-cells = <0>;
25462306a36Sopenharmony_ci			reg = <1>;
25562306a36Sopenharmony_ci		};
25662306a36Sopenharmony_ci		i2c130: i2c@2 {
25762306a36Sopenharmony_ci			#address-cells = <1>;
25862306a36Sopenharmony_ci			#size-cells = <0>;
25962306a36Sopenharmony_ci			reg = <2>;
26062306a36Sopenharmony_ci		};
26162306a36Sopenharmony_ci		i2c131: i2c@3 {
26262306a36Sopenharmony_ci			#address-cells = <1>;
26362306a36Sopenharmony_ci			#size-cells = <0>;
26462306a36Sopenharmony_ci			reg = <3>;
26562306a36Sopenharmony_ci		};
26662306a36Sopenharmony_ci	};
26762306a36Sopenharmony_ci};
268