| // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) |
| /* |
| * Copyright (c) 2022-2024 TQ-Systems GmbH <linux@ew.tq-group.com>, |
| * D-82229 Seefeld, Germany. |
| * Author: Alexander Stein |
| */ |
| |
| /dts-v1/; |
| /plugin/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| |
| #include "imx8mn-pinfunc.h" |
| |
| &{/} { |
| connector { |
| compatible = "gpio-usb-b-connector", "usb-b-connector"; |
| type = "micro"; |
| label = "X19"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usb1_connector>; |
| id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; |
| |
| port { |
| usb_dr_connector: endpoint { |
| remote-endpoint = <&usb1_drd_sw>; |
| }; |
| }; |
| }; |
| }; |
| |
| /* |
| * rst_usb_hub_hog and sel_usb_hub_hog have property 'output-high', |
| * dt overlay don't support /delete-property/. Both 'output-low' and |
| * 'output-high' will be exist under hog nodes if overlay file set |
| * 'output-low'. Workaround is disable these hog and create new hog with |
| * 'output-low'. |
| */ |
| |
| &rst_usb_hub_hog { |
| status = "disabled"; |
| }; |
| |
| &expander0 { |
| rst-usb-low-hub-hog { |
| gpio-hog; |
| gpios = <13 0>; |
| output-low; |
| line-name = "RST_USB_HUB#"; |
| }; |
| }; |
| |
| &sel_usb_hub_hog { |
| status = "disabled"; |
| }; |
| |
| &gpio2 { |
| sel-usb-low-hub-hog { |
| gpio-hog; |
| gpios = <1 GPIO_ACTIVE_HIGH>; |
| output-low; |
| }; |
| }; |
| |
| &usbotg1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usbotg>; |
| dr_mode = "otg"; |
| srp-disable; |
| hnp-disable; |
| adp-disable; |
| power-active-high; |
| /delete-property/ disable-over-current; |
| over-current-active-low; |
| usb-role-switch; |
| status = "okay"; |
| |
| port { |
| usb1_drd_sw: endpoint { |
| remote-endpoint = <&usb_dr_connector>; |
| }; |
| }; |
| }; |
| |
| &iomuxc { |
| pinctrl_usb1_connector: usb1-connectorgrp { |
| fsl,pins = <MX8MN_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x1c0>; |
| }; |
| }; |