<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 9/7/23 14:45, Peter Yin wrote:<br>
</div>
<blockquote type="cite"
cite="mid:20230907064514.1764010-2-peteryin.openbmc@gmail.com">
<pre class="moz-quote-pre" wrap="">Add linux device tree entry related to Minerva
specific devices connected to BMC SoC.
Signed-off-by: Peter Yin <a class="moz-txt-link-rfc2396E" href="mailto:peteryin.openbmc@gmail.com"><peteryin.openbmc@gmail.com></a>
---
arch/arm/boot/dts/aspeed/Makefile | 1 +
.../aspeed/aspeed-bmc-facebook-minerva.dts | 371 ++++++++++++++++++
2 files changed, 372 insertions(+)
create mode 100644 arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva.dts
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 23cbc7203a8e..b1da302dbcd6 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-facebook-fuji.dtb \
aspeed-bmc-facebook-galaxy100.dtb \
aspeed-bmc-facebook-greatlakes.dtb \
+ aspeed-bmc-facebook-minerva.dtb \
aspeed-bmc-facebook-minipack.dtb \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-facebook-wedge40.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva.dts
new file mode 100644
index 000000000000..4834473c3c39
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-minerva.dts
@@ -0,0 +1,371 @@
+// SPDX-License-Identifier: GPL-2.0+
+// Copyright (c) 2023 Facebook Inc.
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+ model = "Facebook Minerva";
+ compatible = "facebook,minerva-bmc", "aspeed,ast2600";
+
+ aliases {
+ serial0 = &uart1;
+ serial4 = &uart5;
+ };
+
+ chosen {
+ stdout-path = &uart5;
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x80000000>;
+ };
+
+ iio-hwmon {
+ compatible = "iio-hwmon";
+ io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
+ <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
+ <&adc1 2>;
+ };
+};
+
+// HOST BIOS Debug
+&uart1 {
+ status = "okay";
+};
+
+// SOL Host Console
+&uart2 {
+ status = "okay";
+ pinctrl-0 = <>;
+};
+
+// SOL BMC Console
+&uart4 {
+ status = "okay";
+ pinctrl-0 = <>;
+};
+
+// BMC Debug Console
+&uart5 {
+ status = "okay";
+};
+
+// MTIA
+&uart6 {
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&vuart1 {
+ status = "okay";
+ virtual;
+ port=<0x3e8>;
+ sirq = <7>;
+ sirq-polarity = <0>;
+ dma-mode;
+ dma-channel = <12>;
+};
+
+&wdt1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wdtrst1_default>;
+ aspeed,reset-type = "soc";
+ aspeed,external-signal;
+ aspeed,ext-push-pull;
+ aspeed,ext-active-high;
+ aspeed,ext-pulse-duration = <256>;
+};
+
+&mac3 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rmii4_default>;
+ no-hw-checksum;
+ use-ncsi;
+ ncsi-ctrl,start-redo-probe;
+ ncsi-ctrl,no-channel-monitor;
+ mlx,multi-host;
+ ncsi-package = <1>;
+ ncsi-channel = <1>;
+ ncsi-rexmit = <1>;
+ ncsi-timeout = <2>;
+};
+
+&rtc {
+ status = "okay";
+};
+
+&fmc {
+ status = "okay";
+
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "bmc";
+ spi-max-frequency = <50000000>;
+#include "openbmc-flash-layout-128.dtsi"
+ };
+
+ flash@1 {
+ status = "okay";
+ m25p,fast-read;
+ label = "alt-bmc";
+ spi-max-frequency = <50000000>;
+ };
+};
+
+// BIOS Flash
+&spi2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spi2_default>;
+
+ flash@0 {
+ status = "okay";
+ m25p,fast-read;
+ label = "pnor";
+ spi-max-frequency = <12000000>;
+ spi-tx-bus-width = <2>;
+ spi-rx-bus-width = <2>;
+ };
+};
+
+&kcs2 {
+ status = "okay";
+ aspeed,lpc-io-reg = <0xca8>;
+};
+
+&kcs3 {
+ status = "okay";
+ aspeed,lpc-io-reg = <0xca2>;
+};
+
+&lpc_snoop {
+ status = "okay";
+ snoop-ports = <0x80>;
+};
+
+&peci0 {
+ status = "okay";
+ clock-frequency = <1000000>;
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+
+ tmp75@4B {
+ compatible = "ti,tmp75";
+ reg = <0x4B>;
+ };
+};
+
+&i2c2 {
+ status = "okay";
+};
+
+&i2c3 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+};
+
+&i2c5 {
+ status = "okay";
+};
+
+&i2c6 {
+ status = "okay";
+};
+
+&i2c7 {
+ status = "okay";
+};
+
+&i2c8 {
+ status = "okay";
+};
+
+&i2c9 {
+ status = "okay";
+};
+
+&i2c11 {
+ status = "okay";
+};
+
+&i2c12 {
+ status = "okay";
+};
+
+&i2c13 {
+ status = "okay";
+};
+
+// To Debug card
+&i2c14 {
+ status = "okay";
+ multi-master;
+
+ ipmb@10 {
+ compatible = "ipmb-dev";
+ reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
+ i2c-protocol;
+ };
+};
+
+&i2c15 {
+ status = "okay";
+
+ // SCM FRU
+ eeprom@50 {
+ compatible = "atmel,24c64";
+ reg = <0x50>;
+ };
+ // BSM FRU
+ eeprom@56 {
+ compatible = "atmel,24c64";
+ reg = <0x56>;
+ };
+};
+
+&adc0 {
+ ref_voltage = <2500>;
+ status = "okay";
+ pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
+ &pinctrl_adc2_default &pinctrl_adc3_default
+ &pinctrl_adc4_default &pinctrl_adc5_default
+ &pinctrl_adc6_default &pinctrl_adc7_default>;
+};
+
+&adc1 {
+ ref_voltage = <2500>;
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_adc10_default>;
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&gpio0 {
+ pinctrl-names = "default";
+ gpio-line-names =
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "","","","","","FM_ID_LED_N","","",
+ /*C0-C7*/ "","","","","","","","",
+ /*D0-D7*/ "","","SOL_UART_SET","","","","","",
+ /*E0-E7*/ "","","","","","","","",
+ /*F0-F7*/ "","","","","","","","",
+ /*G0-G7*/ "","","","","","","","",
+ /*H0-H7*/ "","","","","","","","",
+ /*I0-I7*/ "","","","","","","","",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","","","","",
+ /*M0-M7*/ "","","","","","","","",
+ /*N0-N7*/ "LED_POSTCODE_0","LED_POSTCODE_1",
+ "LED_POSTCODE_2","LED_POSTCODE_3",
+ "LED_POSTCODE_4","LED_POSTCODE_5",
+ "LED_POSTCODE_6","LED_POSTCODE_7",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "FP_SYS_PWRBTN_IN_N","BMC_SYS_PWRBTN_OUT_N",
+ "FP_RST_BTN_IN_N","","","","","",
+ /*Q0-Q7*/ "","","","","","","","",
+ /*R0-R7*/ "","","","","","","","",
+ /*S0-S7*/ "","","","","","","","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "","","","","","","","",
+ /*W0-W7*/ "","","","","","","","",
+ /*X0-X7*/ "","","","","","","","",
+ /*Y0-Y7*/ "","","","","","","","",
+ /*Z0-Z7*/ "","","","","","","","";
+};
+
+&sgpiom0 {
+ status = "okay";
+ max-ngpios = <128>;
+ ngpios = <128>;
+ bus-frequency = <2000000>;
+ gpio-line-names =
+ /*in - out - in - out */
+ /*A0-A3 line 0-7*/
+ "","","","","","ENABLE_SENSORS","","",
+ /*A4-A7 line 8-15*/
+ "","","","","","","","",
+ /*B0-B3 line 16-23*/
+ "","","","","","BMC_RST_BTN_OUT_N","","",
+ /*B4-B7 line 24-31*/
+ "","","","","","","","",
+ /*C0-C3 line 32-39*/
+ "","","","","","","","",
+ /*C4-C7 line 40-47*/
+ "","","","","","","","",
+ /*D0-D3 line 48-55*/
+ "","","","","","","","",
+ /*D4-D7 line 56-63*/
+ "","","","","","","","",
+ /*E0-E3 line 64-71*/
+ "","","","","","","","",
+ /*E4-E7 line 72-79*/
+ "","","","","","","","",
+ /*F0-F3 line 80-87*/
+ "","","","","","","","",
+ /*F4-F7 line 88-95*/
+ "","","","","","","","",
+ /*G0-G3 line 96-103*/
+ "","","","","","","","",
+ /*G4-G7 line 104-111*/
+ "","","","","","","","",
+ /*H0-H3 line 112-119*/
+ "","","","","PLD_SYS_POWER_GOOD","","","",
+ /*H4-H7 line 120-127*/
+ "","","","","","","","",
+ /*I0-I3 line 128-135*/
+ "","","","","","","","",
+ /*I4-I7 line 136-143*/
+ "","","","","","","","",
+ /*J0-J3 line 144-151*/
+ "","","PLD_BIOS_POST_CMPLT_N","","","","","",
+ /*J4-J7 line 152-159*/
+ "","","","","","","","",
+ /*K0-K3 line 160-167*/
+ "","","","","","","","",
+ /*K4-K7 line 168-175*/
+ "","","","","","","","",
+ /*L0-L3 line 176-183*/
+ "","","","","","","","",
+ /*L4-L7 line 184-191*/
+ "","","","","","","","",
+ /*M0-M3 line 192-199*/
+ "","","","","","","","",
+ /*M4-M7 line 200-207*/
+ "","","","","","","","",
+ /*N0-N3 line 208-215*/
+ "","","","","","","","",
+ /*N4-N7 line 216-223*/
+ "","","","","","","","",
+ /*O0-O3 line 224-231*/
+ "","","","","","","","",
+ /*O4-O7 line 232-239*/
+ "","","","","","","","",
+ /*P0-P3 line 240-247*/
+ "","","","","","","","",
+ /*P4-P7 line 248-255*/
+ "","","","","","","","";
+};
</pre>
</blockquote>
<p style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box; --tw-border-spacing-x:0; --tw-border-spacing-y:0; --tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0; --tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness:proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width:0px; --tw-ring-offset-color:#fff; --tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0 0 transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0 0 transparent; --tw-shadow-colored:0 0 transparent; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin: 0px 0px 1.25em; color: rgb(55, 65, 81); font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 248); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
<font face="Ubuntu,sans-serif" color="#000000">Hello Maintainer,</font></p>
<p style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,0.5); --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-shadow: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-shadow-colored: 0 0 transparent; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin: 1.25em 0px; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 248); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><font face="Ubuntu,sans-serif"> Are there any recommendations or modifications that you consider necessary?</font></p>
<p style="border: 0px solid rgb(217, 217, 227); box-sizing: border-box; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-position: ; --tw-gradient-via-position: ; --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,0.5); --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-shadow: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-shadow-colored: 0 0 transparent; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin: 1.25em 0px 0px; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: pre-wrap; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(247, 247, 248); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><font face="Ubuntu,sans-serif">Thank you.</font></p>
<div class="group w-full text-token-text-primary border-b
border-black/10 gizmo:border-0 dark:border-gray-900/50
gizmo:dark:border-0 gizmo:bg-transparent dark:bg-gray-800
gizmo:dark:bg-transparent" data-testid="conversation-turn-179"
style="border-width: 0px 0px 1px; border-style: solid;
border-color: rgba(0, 0, 0, 0.1); border-image: initial;
box-sizing: border-box; --tw-border-spacing-x:0;
--tw-border-spacing-y:0; --tw-translate-x:0; --tw-translate-y:0;
--tw-rotate:0; --tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1;
--tw-scale-y:1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ;
--tw-numeric-figure: ; --tw-numeric-spacing: ;
--tw-numeric-fraction: ; --tw-ring-inset: ;
--tw-ring-offset-width:0px; --tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0 0
transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent; --tw-blur: ;
--tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ;
--tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; width: 1252.22px;
color: var(--text-primary); font-family: Söhne, ui-sans-serif,
system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu,
Cantarell, "Noto Sans", sans-serif, "Helvetica
Neue", Arial, "Apple Color Emoji", "Segoe UI
Emoji", "Segoe UI Symbol", "Noto Color
Emoji"; font-size: 14px; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
font-weight: 400; letter-spacing: normal; orphans: 2; text-align:
start; text-indent: 0px; text-transform: none; white-space:
normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
0px; text-decoration-thickness: initial; text-decoration-style:
initial; text-decoration-color: initial; --avatar-color:#19c37d;">
<div class="p-4 justify-center text-base md:gap-6 md:py-6 m-auto"
style="border: 0px solid rgb(217, 217, 227); box-sizing:
border-box; --tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1;
--tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero:
; --tw-numeric-figure: ; --tw-numeric-spacing: ;
--tw-numeric-fraction: ; --tw-ring-inset: ;
--tw-ring-offset-width:0px; --tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0 0
transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent; --tw-blur: ;
--tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ;
--tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin: auto;
justify-content: center; padding: 1.5rem 1rem; font-size: 1rem;
line-height: 1.5rem; gap: 1.5rem;">
<div class="flex flex-1 gap-4 text-base mx-auto md:gap-6
gizmo:gap-3 gizmo:md:px-5 gizmo:lg:px-1 gizmo:xl:px-5
md:max-w-2xl lg:max-w-[38rem] gizmo:md:max-w-3xl
gizmo:lg:max-w-[40rem] gizmo:xl:max-w-[48rem] xl:max-w-3xl }"
style="border: 0px solid rgb(217, 217, 227); box-sizing:
border-box; --tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1;
--tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ;
--tw-slashed-zero: ; --tw-numeric-figure: ;
--tw-numeric-spacing: ; --tw-numeric-fraction: ;
--tw-ring-inset: ; --tw-ring-offset-width:0px;
--tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0
0 transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0
0 transparent; --tw-shadow-colored:0 0 transparent; --tw-blur:
; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia:
; --tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin-left:
auto; margin-right: auto; display: flex; flex: 1 1 0%; gap:
1.5rem; font-size: 1rem; line-height: 1.5rem; max-width:
48rem;">
<div class="relative flex w-[calc(100%-50px)] flex-col gap-1
gizmo:w-full md:gap-3 lg:w-[calc(100%-115px)]
gizmo:text-gizmo-gray-600 gizmo:dark:text-gray-300"
style="border: 0px solid rgb(217, 217, 227); box-sizing:
border-box; --tw-border-spacing-x:0;
--tw-border-spacing-y:0; --tw-translate-x:0;
--tw-translate-y:0; --tw-rotate:0; --tw-skew-x:0;
--tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1; --tw-pan-x: ;
--tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ;
--tw-slashed-zero: ; --tw-numeric-figure: ;
--tw-numeric-spacing: ; --tw-numeric-fraction: ;
--tw-ring-inset: ; --tw-ring-offset-width:0px;
--tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5);
--tw-ring-offset-shadow:0 0 transparent; --tw-ring-shadow:0
0 transparent; --tw-shadow:0 0 transparent;
--tw-shadow-colored:0 0 transparent; --tw-blur: ;
--tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ;
--tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; position:
relative; display: flex; width: calc(100% - 115px);
flex-direction: column; gap: 0.75rem;">
<div class="text-gray-400 flex self-end lg:self-center
justify-center gizmo:lg:justify-start mt-2 gizmo:mt-0
visible lg:gap-1 lg:absolute lg:top-0 lg:translate-x-full
lg:right-0 lg:mt-0 lg:pl-2 gap-2 md:gap-3 gizmo:absolute
gizmo:right-0 gizmo:top-1/2 gizmo:-translate-y-1/2
gizmo:transform" style="border: 0px solid rgb(217, 217,
227); box-sizing: border-box; --tw-border-spacing-x:0;
--tw-border-spacing-y:0; --tw-translate-x:100%;
--tw-translate-y:0; --tw-rotate:0; --tw-skew-x:0;
--tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1; --tw-pan-x:
; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position:
; --tw-gradient-to-position: ; --tw-ordinal: ;
--tw-slashed-zero: ; --tw-numeric-figure: ;
--tw-numeric-spacing: ; --tw-numeric-fraction: ;
--tw-ring-inset: ; --tw-ring-offset-width:0px;
--tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5);
--tw-ring-offset-shadow:0 0 transparent;
--tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent;
--tw-blur: ; --tw-brightness: ; --tw-contrast: ;
--tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ;
--tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ;
--tw-backdrop-blur: ; --tw-backdrop-brightness: ;
--tw-backdrop-contrast: ; --tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ;
--tw-backdrop-opacity: ; --tw-backdrop-saturate: ;
--tw-backdrop-sepia: ; visibility: visible; margin-top:
0px; display: flex; justify-content: center; gap: 0.25rem;
align-self: center; --tw-text-opacity:1; color:
rgba(172,172,190,var(--tw-text-opacity)); position:
absolute; right: 0px; top: 0px; transform:
translate(var(--tw-translate-x),var(--tw-translate-y))
rotate(var(--tw-rotate)) skewX(var(--tw-skew-x))
skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y)); padding-left: 0.5rem;"><button
class="p-1 gizmo:pl-0 rounded-md
disabled:dark:hover:text-gray-400
dark:hover:text-gray-200 dark:text-gray-400
hover:bg-gray-100 hover:text-gray-700
dark:hover:bg-gray-700 md:invisible
md:group-hover:visible" style="border: 0px solid
rgb(217, 217, 227); box-sizing: border-box;
--tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1;
--tw-scale-y:1; --tw-pan-x: ; --tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ; --tw-gradient-to-position:
; --tw-ordinal: ; --tw-slashed-zero: ;
--tw-numeric-figure: ; --tw-numeric-spacing: ;
--tw-numeric-fraction: ; --tw-ring-inset: ;
--tw-ring-offset-width:0px; --tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5);
--tw-ring-offset-shadow:0 0 transparent;
--tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent;
--tw-blur: ; --tw-brightness: ; --tw-contrast: ;
--tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ;
--tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ;
--tw-backdrop-blur: ; --tw-backdrop-brightness: ;
--tw-backdrop-contrast: ; --tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ;
--tw-backdrop-opacity: ; --tw-backdrop-saturate: ;
--tw-backdrop-sepia: ; color: inherit; font-family:
inherit; font-size: 16px; font-weight: inherit;
line-height: inherit; margin: 0px; padding: 0.25rem;
text-transform: none; appearance: button;
background-color: transparent; background-image: none;
cursor: pointer; border-radius: 0.375rem; visibility:
visible;"><svg stroke="currentColor" fill="none"
stroke-width="2" viewBox="0 0 24 24"
stroke-linecap="round" stroke-linejoin="round"
class="icon-sm" height="1em" width="1em"
xmlns="http://www.w3.org/2000/svg"><path d="M11 4H4a2
2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path
d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4
9.5-9.5z"></path></svg></button></div>
</div>
</div>
</div>
</div>
<div class="group w-full text-token-text-primary border-b
border-black/10 gizmo:border-0 dark:border-gray-900/50
gizmo:dark:border-0 bg-gray-50 gizmo:bg-transparent
dark:bg-[#444654] gizmo:dark:bg-transparent"
data-testid="conversation-turn-180" style="border-width: 0px 0px
1px; border-style: solid; border-color: rgba(0, 0, 0, 0.1);
border-image: initial; box-sizing: border-box;
--tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1;
--tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ;
--tw-numeric-figure: ; --tw-numeric-spacing: ;
--tw-numeric-fraction: ; --tw-ring-inset: ;
--tw-ring-offset-width:0px; --tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0 0
transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent; --tw-blur: ;
--tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ;
--tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; width: 1252.22px;
--tw-bg-opacity:1; background-color:
rgba(247,247,248,var(--tw-bg-opacity)); color:
var(--text-primary); font-family: Söhne, ui-sans-serif, system-ui,
-apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell,
"Noto Sans", sans-serif, "Helvetica Neue",
Arial, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol", "Noto Color Emoji";
font-size: 14px; font-style: normal; font-variant-ligatures:
normal; font-variant-caps: normal; font-weight: 400;
letter-spacing: normal; orphans: 2; text-align: start;
text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration-thickness: initial; text-decoration-style:
initial; text-decoration-color: initial; --avatar-color:#19c37d;">
<div class="p-4 justify-center text-base md:gap-6 md:py-6 m-auto"
style="border: 0px solid rgb(217, 217, 227); box-sizing:
border-box; --tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1;
--tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero:
; --tw-numeric-figure: ; --tw-numeric-spacing: ;
--tw-numeric-fraction: ; --tw-ring-inset: ;
--tw-ring-offset-width:0px; --tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0 0
transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent; --tw-blur: ;
--tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ;
--tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin: auto;
justify-content: center; padding: 1.5rem 1rem; font-size: 1rem;
line-height: 1.5rem; gap: 1.5rem;">
<div class="flex flex-1 gap-4 text-base mx-auto md:gap-6
gizmo:gap-3 gizmo:md:px-5 gizmo:lg:px-1 gizmo:xl:px-5
md:max-w-2xl lg:max-w-[38rem] gizmo:md:max-w-3xl
gizmo:lg:max-w-[40rem] gizmo:xl:max-w-[48rem] xl:max-w-3xl }"
style="border: 0px solid rgb(217, 217, 227); box-sizing:
border-box; --tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1;
--tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ;
--tw-slashed-zero: ; --tw-numeric-figure: ;
--tw-numeric-spacing: ; --tw-numeric-fraction: ;
--tw-ring-inset: ; --tw-ring-offset-width:0px;
--tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5); --tw-ring-offset-shadow:0
0 transparent; --tw-ring-shadow:0 0 transparent; --tw-shadow:0
0 transparent; --tw-shadow-colored:0 0 transparent; --tw-blur:
; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia:
; --tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; margin-left:
auto; margin-right: auto; display: flex; flex: 1 1 0%; gap:
1.5rem; font-size: 1rem; line-height: 1.5rem; max-width:
48rem;">
<div class="flex-shrink-0 flex flex-col relative items-end"
style="border: 0px solid rgb(217, 217, 227); box-sizing:
border-box; --tw-border-spacing-x:0;
--tw-border-spacing-y:0; --tw-translate-x:0;
--tw-translate-y:0; --tw-rotate:0; --tw-skew-x:0;
--tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1; --tw-pan-x: ;
--tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position: ;
--tw-gradient-to-position: ; --tw-ordinal: ;
--tw-slashed-zero: ; --tw-numeric-figure: ;
--tw-numeric-spacing: ; --tw-numeric-fraction: ;
--tw-ring-inset: ; --tw-ring-offset-width:0px;
--tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5);
--tw-ring-offset-shadow:0 0 transparent; --tw-ring-shadow:0
0 transparent; --tw-shadow:0 0 transparent;
--tw-shadow-colored:0 0 transparent; --tw-blur: ;
--tw-brightness: ; --tw-contrast: ; --tw-grayscale: ;
--tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ;
--tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ;
--tw-backdrop-brightness: ; --tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ; --tw-backdrop-opacity: ;
--tw-backdrop-saturate: ; --tw-backdrop-sepia: ; position:
relative; display: flex; flex-shrink: 0; flex-direction:
column; align-items: flex-end;">
<div style="border: 0px solid rgb(217, 217, 227);
box-sizing: border-box; --tw-border-spacing-x:0;
--tw-border-spacing-y:0; --tw-translate-x:0;
--tw-translate-y:0; --tw-rotate:0; --tw-skew-x:0;
--tw-skew-y:0; --tw-scale-x:1; --tw-scale-y:1; --tw-pan-x:
; --tw-pan-y: ; --tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ; --tw-gradient-via-position:
; --tw-gradient-to-position: ; --tw-ordinal: ;
--tw-slashed-zero: ; --tw-numeric-figure: ;
--tw-numeric-spacing: ; --tw-numeric-fraction: ;
--tw-ring-inset: ; --tw-ring-offset-width:0px;
--tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5);
--tw-ring-offset-shadow:0 0 transparent;
--tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent;
--tw-blur: ; --tw-brightness: ; --tw-contrast: ;
--tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ;
--tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ;
--tw-backdrop-blur: ; --tw-backdrop-brightness: ;
--tw-backdrop-contrast: ; --tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ;
--tw-backdrop-opacity: ; --tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;">
<div class="relative p-1 rounded-sm h-9 w-9 text-white
flex items-center justify-center" style="border: 0px
solid rgb(217, 217, 227); box-sizing: border-box;
--tw-border-spacing-x:0; --tw-border-spacing-y:0;
--tw-translate-x:0; --tw-translate-y:0; --tw-rotate:0;
--tw-skew-x:0; --tw-skew-y:0; --tw-scale-x:1;
--tw-scale-y:1; --tw-pan-x: ; --tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness:proximity;
--tw-gradient-from-position: ;
--tw-gradient-via-position: ; --tw-gradient-to-position:
; --tw-ordinal: ; --tw-slashed-zero: ;
--tw-numeric-figure: ; --tw-numeric-spacing: ;
--tw-numeric-fraction: ; --tw-ring-inset: ;
--tw-ring-offset-width:0px; --tw-ring-offset-color:#fff;
--tw-ring-color:rgba(69,89,164,0.5);
--tw-ring-offset-shadow:0 0 transparent;
--tw-ring-shadow:0 0 transparent; --tw-shadow:0 0
transparent; --tw-shadow-colored:0 0 transparent;
--tw-blur: ; --tw-brightness: ; --tw-contrast: ;
--tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ;
--tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ;
--tw-backdrop-blur: ; --tw-backdrop-brightness: ;
--tw-backdrop-contrast: ; --tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ;
--tw-backdrop-opacity: ; --tw-backdrop-saturate: ;
--tw-backdrop-sepia: ; position: relative; display:
flex; height: 36px; width: 36px; align-items: center;
justify-content: center; border-radius: 0.125rem;
padding: 0.25rem; --tw-text-opacity:1; color:
rgba(255,255,255,var(--tw-text-opacity));
background-color: rgb(25, 195, 125);"><svg width="41"
height="41" viewBox="0 0 41 41" fill="none"
xmlns="http://www.w3.org/2000/svg" class="icon-md"><br>
</svg></div>
</div>
</div>
</div>
</div>
</div>
<p></p>
<p><br>
</p>
</body>
</html>