// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) /* * Copyright (C) 2020 STMicroelectronics - All Rights Reserved * Copyright (C) 2021 Rouven Czerwinski, Pengutronix * Copyright (C) 2023 Leonard Göhrs, Pengutronix */ /dts-v1/; #include "stm32mp157.dtsi" #include "stm32mp15xc-lxa-tac.dtsi" / { model = "Linux Automation Test Automation Controller (TAC) Gen 2"; compatible = "lxa,stm32mp157c-tac-gen2", "oct,stm32mp15xx-osd32", "st,stm32mp157"; backlight: backlight { compatible = "pwm-backlight"; power-supply = <&v3v3>; brightness-levels = <0 31 63 95 127 159 191 223 255>; default-brightness-level = <7>; pwms = <&led_pwm 3 1000000 0>; }; reg_iobus_12v: regulator-iobus-12v { compatible = "regulator-fixed"; vin-supply = <®_12v>; gpio = <&gpioh 13 GPIO_ACTIVE_LOW>; regulator-max-microvolt = <12000000>; regulator-min-microvolt = <12000000>; regulator-name = "12V_IOBUS"; }; led-controller-1 { compatible = "pwm-leds-multicolor"; multi-led { color = ; function = LED_FUNCTION_STATUS; max-brightness = <65535>; led-red { active-low; color = ; pwms = <&led_pwm 0 1000000 0>; }; led-green { active-low; color = ; pwms = <&led_pwm 2 1000000 0>; }; led-blue { active-low; color = ; pwms = <&led_pwm 1 1000000 0>; }; }; }; led-controller-2 { compatible = "gpio-leds"; led-5 { label = "tac:green:iobus"; gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>; }; led-6 { label = "tac:green:can"; gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>; }; led-7 { label = "tac:green:out0"; gpios = <&gpiob 8 GPIO_ACTIVE_HIGH>; }; led-8 { label = "tac:green:out1"; gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>; }; led-9 { label = "tac:green:uarttx"; gpios = <&gpiod 3 GPIO_ACTIVE_HIGH>; }; led-10 { label = "tac:green:uartrx"; gpios = <&gpiof 6 GPIO_ACTIVE_HIGH>; }; led-11 { label = "tac:green:usbh1"; gpios = <&gpioc 8 GPIO_ACTIVE_HIGH>; }; led-12 { label = "tac:green:usbh2"; gpios = <&gpiod 6 GPIO_ACTIVE_HIGH>; }; led-13 { label = "tac:green:usbh3"; gpios = <&gpiob 9 GPIO_ACTIVE_HIGH>; }; led-14 { label = "tac:green:usbg"; gpios = <&gpiod 14 GPIO_ACTIVE_HIGH>; linux,default-trigger = "usb-gadget"; }; led-15 { label = "tac:green:dutpwr"; gpios = <&gpioa 15 GPIO_ACTIVE_HIGH>; }; }; }; &adc { pinctrl-names = "default"; pinctrl-0 = <&adc1_ain_pins_a>; vdd-supply = <&vdd>; vdda-supply = <&vdda>; vref-supply = <&vrefbuf>; status = "okay"; adc1: adc@0 { st,adc-channels = <0 1 2 5 9 10 13 15>; st,min-sample-time-nsecs = <5000>; #address-cells = <1>; #size-cells = <0>; status = "okay"; channel@0 { reg = <0>; label = "HOST_2_CURR_FB"; }; channel@1 { reg = <1>; label = "HOST_3_CURR_FB"; }; channel@2 { reg = <2>; label = "OUT_0_FB"; }; channel@5 { reg = <5>; label = "IOBUS_CURR_FB"; }; channel@9 { reg = <9>; label = "IOBUS_VOLT_FB"; }; channel@10 { reg = <10>; label = "OUT_1_FB"; }; channel@13 { reg = <13>; label = "HOST_CURR_FB"; }; channel@15 { reg = <15>; label = "HOST_1_CURR_FB"; }; }; adc2: adc@100 { st,adc-channels = <12>; st,min-sample-time-nsecs = <500000>; #address-cells = <1>; #size-cells = <0>; status = "okay"; channel@12 { reg = <12>; label = "TEMP_INTERNAL"; }; }; }; &gpioa { gpio-line-names = "", "", "DUT_PWR_EN", "", "STACK_CS3", /* 0 */ "ETH_GPIO1", "ETH_INT", "", "", "", /* 5 */ "", "", "", "BOOTROM_LED", "ETH_LAB_LEDRP", /* 10 */ ""; /* 15 */ }; &gpioc { gpio-line-names = "", "DUT_PWR_DISCH", "", "", "", /* 0 */ "", "", "", "", "", /* 5 */ "", ""; /* 10 */ }; &gpioe { gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /* 0 */ "", "", "USER_BTN2", "TP48", "UART_TX_EN", /* 5 */ "UART_RX_EN", "TP24", "", "TP25", "TP26", /* 10 */ "TP27"; /* 15 */ }; &gpiog { gpio-line-names = "ETH_RESET", "", "", "", "", /* 0 */ "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */ "TP49", "", "", "", "", /* 10 */ ""; /* 15 */ }; &gpu { status = "disabled"; }; &m_can2 { termination-gpios = <&gpioe 4 GPIO_ACTIVE_HIGH>; termination-ohms = <120>; }; &spi2 { adc@0 { compatible = "ti,lmp92064"; reg = <0>; reset-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; shunt-resistor-micro-ohms = <15000>; spi-max-frequency = <5000000>; vdd-supply = <®_pb_3v3>; vdig-supply = <®_pb_3v3>; }; }; &timers8 { /* spare dmas for other usage */ /delete-property/dmas; /delete-property/dma-names; status = "okay"; led_pwm: pwm { pinctrl-names = "default", "sleep"; pinctrl-0 = <&pwm8_pins_b>; pinctrl-1 = <&pwm8_sleep_pins_b>; status = "okay"; }; };