1fe005201SGregory CLEMENT// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2fe005201SGregory CLEMENT/* 3fe005201SGregory CLEMENT * Copyright (c) 2020 Microsemi Corporation 4fe005201SGregory CLEMENT */ 5fe005201SGregory CLEMENT 6fe005201SGregory CLEMENT#include "serval.dtsi" 7fe005201SGregory CLEMENT 8fe005201SGregory CLEMENT/ { 9fe005201SGregory CLEMENT aliases { 10fe005201SGregory CLEMENT serial0 = &uart0; 11fe005201SGregory CLEMENT i2c104 = &i2c104; 12fe005201SGregory CLEMENT i2c105 = &i2c105; 13fe005201SGregory CLEMENT i2c106 = &i2c106; 14fe005201SGregory CLEMENT i2c107 = &i2c107; 15fe005201SGregory CLEMENT i2c108 = &i2c108; 16fe005201SGregory CLEMENT i2c109 = &i2c109; 17fe005201SGregory CLEMENT }; 18fe005201SGregory CLEMENT 19fe005201SGregory CLEMENT chosen { 20fe005201SGregory CLEMENT stdout-path = "serial0:115200n8"; 21fe005201SGregory CLEMENT }; 22fe005201SGregory CLEMENT 23fe005201SGregory CLEMENT i2c0_imux: i2c0-imux { 24fe005201SGregory CLEMENT compatible = "i2c-mux-pinctrl"; 25fe005201SGregory CLEMENT #address-cells = <1>; 26fe005201SGregory CLEMENT #size-cells = <0>; 27fe005201SGregory CLEMENT i2c-parent = <&i2c0>; 28fe005201SGregory CLEMENT pinctrl-names = 29fe005201SGregory CLEMENT "i2c104", "i2c105", "i2c106", "i2c107", 30fe005201SGregory CLEMENT "i2c108", "i2c109", "idle"; 31fe005201SGregory CLEMENT pinctrl-0 = <&i2cmux_0>; 32fe005201SGregory CLEMENT pinctrl-1 = <&i2cmux_1>; 33fe005201SGregory CLEMENT pinctrl-2 = <&i2cmux_2>; 34fe005201SGregory CLEMENT pinctrl-3 = <&i2cmux_3>; 35fe005201SGregory CLEMENT pinctrl-4 = <&i2cmux_4>; 36fe005201SGregory CLEMENT pinctrl-5 = <&i2cmux_5>; 37fe005201SGregory CLEMENT pinctrl-6 = <&i2cmux_pins_i>; 38fe005201SGregory CLEMENT i2c104: i2c_sfp0@0 { 39fe005201SGregory CLEMENT reg = <0>; 40fe005201SGregory CLEMENT #address-cells = <1>; 41fe005201SGregory CLEMENT #size-cells = <0>; 42fe005201SGregory CLEMENT }; 43fe005201SGregory CLEMENT i2c105: i2c_sfp1@1 { 44fe005201SGregory CLEMENT reg = <1>; 45fe005201SGregory CLEMENT #address-cells = <1>; 46fe005201SGregory CLEMENT #size-cells = <0>; 47fe005201SGregory CLEMENT }; 48fe005201SGregory CLEMENT i2c106: i2c_sfp2@2 { 49fe005201SGregory CLEMENT reg = <2>; 50fe005201SGregory CLEMENT #address-cells = <1>; 51fe005201SGregory CLEMENT #size-cells = <0>; 52fe005201SGregory CLEMENT }; 53fe005201SGregory CLEMENT i2c107: i2c_sfp3@3 { 54fe005201SGregory CLEMENT reg = <3>; 55fe005201SGregory CLEMENT #address-cells = <1>; 56fe005201SGregory CLEMENT #size-cells = <0>; 57fe005201SGregory CLEMENT }; 58fe005201SGregory CLEMENT i2c108: i2c_sfp4@4 { 59fe005201SGregory CLEMENT reg = <4>; 60fe005201SGregory CLEMENT #address-cells = <1>; 61fe005201SGregory CLEMENT #size-cells = <0>; 62fe005201SGregory CLEMENT }; 63fe005201SGregory CLEMENT i2c109: i2c_sfp5@5 { 64fe005201SGregory CLEMENT reg = <5>; 65fe005201SGregory CLEMENT #address-cells = <1>; 66fe005201SGregory CLEMENT #size-cells = <0>; 67fe005201SGregory CLEMENT }; 68fe005201SGregory CLEMENT}; 69fe005201SGregory CLEMENT 70fe005201SGregory CLEMENT}; 71fe005201SGregory CLEMENT 72fe005201SGregory CLEMENT&uart0 { 73fe005201SGregory CLEMENT status = "okay"; 74fe005201SGregory CLEMENT}; 75fe005201SGregory CLEMENT 76fe005201SGregory CLEMENT&uart2 { 77fe005201SGregory CLEMENT status = "okay"; 78fe005201SGregory CLEMENT}; 79fe005201SGregory CLEMENT 80fe005201SGregory CLEMENT&gpio { 81fe005201SGregory CLEMENT i2c_pins: i2c-pins { 82fe005201SGregory CLEMENT pins = "GPIO_7"; /* No "default" scl for i2c0 */ 83fe005201SGregory CLEMENT function = "twi"; 84fe005201SGregory CLEMENT }; 85*860f39beSMichael Walle i2cmux_pins_i: i2cmux-pins { 86fe005201SGregory CLEMENT pins = "GPIO_11", "GPIO_12", "GPIO_18", "GPIO_19", 87fe005201SGregory CLEMENT "GPIO_20", "GPIO_21"; 88fe005201SGregory CLEMENT function = "twi_scl_m"; 89fe005201SGregory CLEMENT output-low; 90fe005201SGregory CLEMENT }; 91*860f39beSMichael Walle i2cmux_0: i2cmux-0-pins { 92fe005201SGregory CLEMENT pins = "GPIO_11"; 93fe005201SGregory CLEMENT function = "twi_scl_m"; 94fe005201SGregory CLEMENT output-high; 95fe005201SGregory CLEMENT }; 96*860f39beSMichael Walle i2cmux_1: i2cmux-1-pins { 97fe005201SGregory CLEMENT pins = "GPIO_12"; 98fe005201SGregory CLEMENT function = "twi_scl_m"; 99fe005201SGregory CLEMENT output-high; 100fe005201SGregory CLEMENT }; 101*860f39beSMichael Walle i2cmux_2: i2cmux-2-pins { 102fe005201SGregory CLEMENT pins = "GPIO_18"; 103fe005201SGregory CLEMENT function = "twi_scl_m"; 104fe005201SGregory CLEMENT output-high; 105fe005201SGregory CLEMENT }; 106*860f39beSMichael Walle i2cmux_3: i2cmux-3-pins { 107fe005201SGregory CLEMENT pins = "GPIO_19"; 108fe005201SGregory CLEMENT function = "twi_scl_m"; 109fe005201SGregory CLEMENT output-high; 110fe005201SGregory CLEMENT }; 111*860f39beSMichael Walle i2cmux_4: i2cmux-4-pins { 112fe005201SGregory CLEMENT pins = "GPIO_20"; 113fe005201SGregory CLEMENT function = "twi_scl_m"; 114fe005201SGregory CLEMENT output-high; 115fe005201SGregory CLEMENT }; 116*860f39beSMichael Walle i2cmux_5: i2cmux-5-pins { 117fe005201SGregory CLEMENT pins = "GPIO_21"; 118fe005201SGregory CLEMENT function = "twi_scl_m"; 119fe005201SGregory CLEMENT output-high; 120fe005201SGregory CLEMENT }; 121fe005201SGregory CLEMENT}; 122fe005201SGregory CLEMENT 123fe005201SGregory CLEMENT&i2c0 { 124fe005201SGregory CLEMENT status = "okay"; 125fe005201SGregory CLEMENT i2c-sda-hold-time-ns = <300>; 126fe005201SGregory CLEMENT}; 127fe005201SGregory CLEMENT 128