From 46f5e7b72210fd18bef13639af80c60cab89fbfe Mon Sep 17 00:00:00 2001 From: Shan Pen Date: Sat, 5 Apr 2025 12:33:51 +0800 Subject: [PATCH] boards: ruiside: art-pi2: add minimum support - introduced a new vendor ruiside, updated `dts/bindings/vendor-prefixes.txt` - add art-pi2 board basic support Signed-off-by: Shan Pen --- boards/ruiside/art_pi2/Kconfig.art_pi2 | 5 + boards/ruiside/art_pi2/art_pi2.dts | 119 ++++++++++++++ boards/ruiside/art_pi2/art_pi2.yaml | 14 ++ boards/ruiside/art_pi2/art_pi2_defconfig | 20 +++ boards/ruiside/art_pi2/board.cmake | 9 ++ boards/ruiside/art_pi2/board.yml | 6 + boards/ruiside/art_pi2/doc/img/art_pi2.webp | Bin 0 -> 72016 bytes boards/ruiside/art_pi2/doc/index.rst | 163 ++++++++++++++++++++ boards/ruiside/index.rst | 10 ++ dts/bindings/vendor-prefixes.txt | 1 + 10 files changed, 347 insertions(+) create mode 100644 boards/ruiside/art_pi2/Kconfig.art_pi2 create mode 100644 boards/ruiside/art_pi2/art_pi2.dts create mode 100644 boards/ruiside/art_pi2/art_pi2.yaml create mode 100644 boards/ruiside/art_pi2/art_pi2_defconfig create mode 100644 boards/ruiside/art_pi2/board.cmake create mode 100644 boards/ruiside/art_pi2/board.yml create mode 100644 boards/ruiside/art_pi2/doc/img/art_pi2.webp create mode 100644 boards/ruiside/art_pi2/doc/index.rst create mode 100644 boards/ruiside/index.rst diff --git a/boards/ruiside/art_pi2/Kconfig.art_pi2 b/boards/ruiside/art_pi2/Kconfig.art_pi2 new file mode 100644 index 00000000000..d88e6dc02ff --- /dev/null +++ b/boards/ruiside/art_pi2/Kconfig.art_pi2 @@ -0,0 +1,5 @@ +# Copyright (c) 2025 Shan Pen +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_ART_PI2 + select SOC_STM32H7R7XX diff --git a/boards/ruiside/art_pi2/art_pi2.dts b/boards/ruiside/art_pi2/art_pi2.dts new file mode 100644 index 00000000000..e0fa2b3df9e --- /dev/null +++ b/boards/ruiside/art_pi2/art_pi2.dts @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2025 Shan Pen + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include +#include + +/ { + model = "Ruiside Electronic ART-Pi2 board"; + compatible = "ruiside,art-pi2"; + + chosen { + zephyr,console = &uart4; + zephyr,shell-uart = &uart4; + zephyr,sram = &sram0; + zephyr,flash = &flash0; + }; + + leds: leds { + compatible = "gpio-leds"; + + red_led: led_1 { + gpios = <&gpioo 1 GPIO_ACTIVE_HIGH>; + label = "User LED1"; + }; + + blue_led: led_2 { + gpios = <&gpioo 5 GPIO_ACTIVE_LOW>; + label = "User LED2"; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + + user_button: button_0 { + label = "User"; + gpios = <&gpioc 13 GPIO_ACTIVE_LOW>; + zephyr,code = ; + }; + }; + + aliases { + led0 = &red_led; + led1 = &blue_led; + sw0 = &user_button; + watchdog0 = &iwdg; + die-temp0 = &die_temp; + volt-sensor0 = &vref; + volt-sensor1 = &vbat; + }; +}; + +&dtcm { + reg = <0x20000000 DT_SIZE_K(64)>; +}; + +&clk_hsi48 { + status = "okay"; +}; + +&clk_hse { + clock-frequency = ; + status = "okay"; +}; + +&pll { + div-m = <12>; + mul-n = <250>; + div-p = <2>; + div-q = <2>; + div-r = <2>; + div-s = <2>; + div-t = <2>; + clocks = <&clk_hse>; + status = "okay"; +}; + +&rcc { + clocks = <&pll>; + clock-frequency = ; + dcpre = <1>; + hpre = <1>; + ppre1 = <2>; + ppre2 = <2>; + ppre4 = <2>; + ppre5 = <2>; +}; + +&uart4 { + pinctrl-0 = <&uart4_tx_pd1 &uart4_rx_pd0>; + pinctrl-names = "default"; + current-speed = <115200>; + status = "okay"; +}; + +&rng { + status = "okay"; +}; + +&iwdg { + status = "okay"; +}; + +&wwdg { + status = "okay"; +}; + +&vref { + status = "okay"; +}; + +&vbat { + status = "okay"; +}; diff --git a/boards/ruiside/art_pi2/art_pi2.yaml b/boards/ruiside/art_pi2/art_pi2.yaml new file mode 100644 index 00000000000..575256904ce --- /dev/null +++ b/boards/ruiside/art_pi2/art_pi2.yaml @@ -0,0 +1,14 @@ +identifier: art_pi2 +name: art pi2 +type: mcu +arch: arm +toolchain: + - zephyr +ram: 640 +flash: 64 +supported: + - gpio + - uart + - watchdog + - entropy +vendor: ruiside diff --git a/boards/ruiside/art_pi2/art_pi2_defconfig b/boards/ruiside/art_pi2/art_pi2_defconfig new file mode 100644 index 00000000000..d29ed69be8d --- /dev/null +++ b/boards/ruiside/art_pi2/art_pi2_defconfig @@ -0,0 +1,20 @@ +# Copyright (c) 2025 Shan Pen +# SPDX-License-Identifier: Apache-2.0 + +# Enable SMPS +CONFIG_POWER_SUPPLY_DIRECT_SMPS=y + +# Enable MPU +CONFIG_ARM_MPU=y + +# Enable HW stack protection +CONFIG_HW_STACK_PROTECTION=y + +# Enable UART driver +CONFIG_SERIAL=y +# Enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Enable GPIO +CONFIG_GPIO=y diff --git a/boards/ruiside/art_pi2/board.cmake b/boards/ruiside/art_pi2/board.cmake new file mode 100644 index 00000000000..1a9c29c25ea --- /dev/null +++ b/boards/ruiside/art_pi2/board.cmake @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: Apache-2.0 + +# keep first +board_runner_args(stm32cubeprogrammer "--port=swd" "--reset-mode=hw") +board_runner_args(pyocd "--target=stm32h7r7l8hxh") + +# keep first +include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake) +include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) diff --git a/boards/ruiside/art_pi2/board.yml b/boards/ruiside/art_pi2/board.yml new file mode 100644 index 00000000000..78cc314195c --- /dev/null +++ b/boards/ruiside/art_pi2/board.yml @@ -0,0 +1,6 @@ +board: + name: art_pi2 + full_name: ART-Pi2 + vendor: ruiside + socs: + - name: stm32h7r7xx diff --git a/boards/ruiside/art_pi2/doc/img/art_pi2.webp b/boards/ruiside/art_pi2/doc/img/art_pi2.webp new file mode 100644 index 0000000000000000000000000000000000000000..b572880848ddf251efefff35a461285754242c13 GIT binary patch literal 72016 zcmV(tKLW8mK(CN3ot#h!XuhYCsOMX79kl0iMJX0Nk;??zKzRUsYzxVIA zhew(~3xjVapF{qu{#S*+n*DG4FYv$Uzw3XB`KJAk{|^qf1UiG`3wBp`ltK9@7~B?q5E~HC_b=}s`Txy&+kRL6 zuS)-P|7riP+zTVZYhVy+sqzJ0HEW=I12vm^n1`&*-z984JWcab#Gr_QRw zi<#AjMB2iN+lg>o8+CxVf(0uaLRTW1)#V!A_p${LSg?okFN`BHtjMbyL|*fWe&epa zS}#zaiIR9R17-?ZdIg=yAXc%X-ghAqMeP`%vaz~tagl?eN#=EE^L8_#O zKl=hzoL`~943!S6s&`rVzB-Pl5&6ReTCjk&9Iyk$zUk2c<`nzOx40IMJu?3ibv=rI zI~Aiytps4#W`dHTv3}rECh)>;(OT^J5p2cYQVc6})w=67Kplb=BCmNcbxIgWJIaY@ z)W2DMyDCo82k;;vSBxf@Tn>X9+_aI~{D4|@8Dk{o`_`w=+})%t z)0jx^&@3aXCGVN7U@tS0H*>RcML!zde6Tti)_-oj*92*CD(d2?W+UJW#*TM(QB&nHnRf*$#ZG;FV%xOK<>m~ zs|c_J>`@QuFn^PhY@Qh0+q~(Y0&RN`kpXoSoK>915k}INKW*Or6W5KEn5GyFl|n0LKn8TN@evD44>1@$&1 zt%8=MM^%3s3cv>X`J1cejlqfa%~VQ@B>Uv7-6!n|pFT|sW!C+)Ct+Hvj^44+lw_S5 zzs7(eWU-1;7|prVN}B^N4PxqngSl&657!qo&71LWN0C25%@orfLDihjf{G|w2g&gY zV4`$izov!Ez+^L-AoT)RXY4l8ceUwfR5=j*-wyX&~Ldv?~q}HdC$emJYvE|W{~3KzU_cx z*aD6C)q<^ILhXCGxl3jX*vH3}TJJh%N++T=x}N9+&EQy7k)DF^8EkcZ7kL|mrCiO0 zw7HtNSJK7~7DgMNzX9_nRkHu;JHpa^lNFh^*(0EIRJRnzz*xY1n=?torP?12W4o>> zyorMUvWhOHYr~HPJA+zcU5J*ua2L6thL2GaC#%a3n5;kEk@6uuE7>S~QX9W+D^n&e zl)IhPaO>7~gTRibZ4yg9_~z_#)!xs`u?NQG)-l&Ox}>{;h7d`o$a&OonmTq(;5pB{ zN9SNX2D>V@MI) zrA6)l(uNaK6d$gGqB?kCO3}xpRe&N92mODri}?OJ`Dgz8qrr)!TCnp+AS0j2OPieY z##IaO4Tr{8NlFLW8o{#X0@%>;I>`Fn0NyOFm-&=UcZ`BhZcx__#7mz1wDl~W$)#HB zreK5)S9iCbFcO7mwAUl8VVa}5kbYcJOi>2!Deb{tabRcZFs} zjq(3h#8{{~F*EVqp?d)ml`(iVh#1rc0DpZPIkQ|hXo9x->@T}AR)MzF8{`#9w9CH_ zdho+rI716^O?fwg7@fAiZ6=S_CH+DVz+OIq{Re47l(dBI;H8?znD6%%wfzN(~T)0!==jV|u zohAbXrTJ4L>k2ROEQ#)48=r_~l}GJy7H@HZQEh|;WbctLKQMJ8u9YD25yhF^PkyF@ zR1Dv0dSeC30c&NL@F7A7?We>F#dVcdN6jJN0iB`;IRj$LHPBI>pv)4l4?_^cg&k}D z!zV*b29W1?s-AjLHC-)T56fWt`Q4Y zVK5GS>rkNt?7(DH&6R-w;%GGJs$oM&0Cztp7SJ{i5JczKvPuI%-s z^E<5EDz2>HOA2YR;Ap|r6S3%)7a_!G#K*%nhvQr)!L!&Q>y`%D!OfA6XTPM3b4Gt+ z_6i958E>^;fh#wWkW*7>mhXI!$T}RVj{q;CJ*XPv*1N@?EHgQN=9D6aQEUz~eF`(q{mEoC%i$F-F`y^kP9#n;h zy1a7t5)$WJ7DqNy+wyc9lN595BiUJLX~hfbMcWE@09w@+qb^t|9SU6*2yWSF)zhp1 z2v~ke&t9oCN2eUlktfU%9AF-J^kY|V$k*R}Bmq)c66&G{k~1;|c8K_(se7050`^Xa zc+)kR@%wznPPlE^=`nVv<7nPls@7x0T{=g?unG8KeW}OI?XlYY5*3t`(E}Z);gjwb zf7h5|GPJhRr6R7lMoIrCq!2~J$>+xEVWO=hRHw_$YEXUsH+*d}5clkqVW!L;&DGXW zEhkKU&Ft&z2u9Y&1o;C*uQ1M@pX*p#n-g=x$B=LVZH*3lg@1zjCV!(pw0h9S5a1!~ zM@#h2U{OVkUCz>)7bYyJcX-FN?t`V$28BFRjH}mCUd2pe)0$g-TS}IwI_;weWI=YO@!EwESF1r)BXDIrx;nsJDy$J$Z~?Ph>Uyy4lJ0 zjKS&N_SmCj!r|vHM60Z>0Jnoecd4+4USk@YvS{3m^R9_wI|dNmQ;bEJ!oItWk<%4`o)`|3c)kY(In?P?Q7u?(SJnNk?05>W93;Yr) zz8p-@XLox*?%NZq^X1H`*3n*Qs}BeoN5L^r84-TIz;>@tO0KIzkc$o>Ygizr2f}m-Al1=pd z@KdrwDYlmq7Vc=X4NtlF6x?p_K}l<}d78#KXPIzTNV7`yrDeOQ-m3dzOH+%I_wnCH zxrPG(es=040sHrMyV9j+{SI&Qc!T1vio@71dbQ2@&j-35zP{e%e3{|j_+}U`Iz^Fe zxhm9aA5V?~8B1j^XewF=ft;y%0)89s)XqH9P?ak1>Wv^CEW92`qBIBxO&o3}Gg)L3 z!4BFJUFMSeW(vghn3|=R5Get~QkQ#MVPJZ`=s{FgLeDF|WcS}DmVeOJ3Rj2uCX4)+ z?-)MK{p#x$XRYLiU}>y--GNkEu8Ex!=CS+TT7pU7M*xO8X$V8kR_ab(JXSzEad{EEud3tF?0M7!|7~3}{!PE|M z`GUE(AppkqkeXPJe>U%jKtder0)k>+Hdz`l-k1yzQ%u?5r=Tp)v(xlyJCF5bu~B`f zS93F)Z`9iOrEo2$U)6ZgtK6&CH5;{Ut9xkPn&*GMJOy-g+2y$0zVxdx&jF71P`1+q z=xr=PG&Zm<2|FAAak z4G-Yvywrc9)czqvr8ZlF)xQP+4Z1$qCyarhYN-3C%^kfnkUu2#uCD=t_klWG#RwER zYj-jmB^-8+u`8=0p8Vk~XwAgMo(Sv&-zug!hn*Q^t?+X=^TF~qJ4Y#8XBPtgq0Yh? znWMCC_47JiSc%cwK)x}*mY2*^^agYFJKc)ntTLYV4Mgw4n$Va4Z(VD@SD~*>RWzNv zqrJVKd^S{ozo?MnDhy29n)G@MFeOO7`Ajr+g zyCTUB1UxK}#DwLFS_v>?pES@&I<4%6EW@5PV1ekLf~1lbl?h<=LLpliwkO>w^XL#4wkI4nWjD^m#xM3C z?gbn+rakbKv>y%%C};)RTZ7uQcj~av%vJ6rj#okBG#YK^es;Sc6a9TDn=5SriuYME zSNWrhVtRnF?yubv9Rz(;lk5U%Q&q*xR=N+9auh;1G@B%^Oyz@4ZQh)TO-BzX;m{?? z)-<61kYG+aiOB`K`$td=odQ9}xLDuICTg8}D$&sY+(5y{51tPIem$M&#f_#G@Fijo zfd89xklJq^+%y9P5>t0<2_ijp$9cP9fX2$miwLZ)2faShN%n$KwjrhGFcyId{I^r2+hdwG688551of7Z z^K&~dTIN^JM@>0SGzXPnQk+)<*H~_DfkQ=FaMwy>ngSG-kJs&N0`t&6fsy>C%UW|0N;})^+>6_E+6R;QI8vEN|LfhDTT$cc5+b#>5soB4azr zE9HQsIGtK_&zuTe))6KZ8k#j%D&OIIVSKLj?8_*Hs3*e*=ar_FMZwb>y=c-2~^XtVtp^yN~PQR^e*RWRnsA_NeSB){_SB_!~C z2Ex-MRc`Au;$$-kT!&!d$2RqPp-qD6$(Idzr|hi+hk$KIn8U!yuX2C>srhr}2!_dm zoJxF4OBP77Nw+3xAYKa=Oe6T4m+&TvQ*cq{!Fw-;pzjg!;DzPcet>D zL&2~!{m?0i1BQ|)qqv4ElOWZdBlKc?9F}$iZ~!4Jd*lhBB4Qe-w$<#>#A6_j7)lWF8vRvl zv(=RP-5ItNtk|^_vc`G3^)eaGjvPtakyeGB4b-A1L*xWJp(N~U2NvCa=Yi7T?)2c? zW2fyQ-fEl#yPiQ%%Tba5x8RO3yM2fJ+z&Af+I+UG#0`?o)d<{4^gntvuUt$Epa`sl zp2dNbeLRSj0&s`c9d`JTvaH)qhFR)mESQ6d&m zCc1nJdR>a2s-}zGjIC^u($DMs!AKRu+emDa|4Lrj5o6F`%IA7N|u~P=&n_;qmC{UKW#>F#t0e7SHNF z9<0W53}B;7&5SPt0Q}404v9%X99rZwy2k#;gIn}p{9xZ?AYN(5WcTT9(221-J%}j1 zcZXNo^%$hg{KW`^7*F=xfQGG$L@*kzkN$b4QbHDR)9dCZfF<&l6>^U^r`1;{1BOt=)UuW$~y~tJfd2uOKezKx&E+?MRydLg=RW>hSIHMGwNL4zrDqD7G>?{Q65++Pz`=w@d?lTR^xQkN;oQ|ZFBOU7 zgW9M)u7jk?8F2Yu`lL50;8`X1(Jv3)su|M9@5Qj?1j)#@cmPco!iwQHZ9;Qu@U-Ej za}vD`*{3CN_3AF5$uY9v_93i~QnAJ2Et_xc5EIsKOak8Gzh1#Xos*AQd+u#ISh*Vc zdGR1=C(Jo9uunp&rD9&)yw1w9^5k`*$AX3*s$TA3Tkl7f>qD8$81$QLHXY0i<6B1i z#-{((0%(}5K8FDmQSl(*LuA3Vr8<7(`@LJ#MFWzyT`M=9re&2g^geT??Dbdx>ydP$ zOcx(?IqFT7s%BQTqjekR(I3;G$4DRVlM`)*CB`ZCe z=Qm1UK)Xv_S+;31iA>?U*5zE+u1W-JI9`PZWFU8Cfbk`SKzem+U_bxIw)4fgL1dj<*FoUzoJ>FGbg!Q(=JNfcaGb{L=)t)lZ?yF`LQ; zY9p=&C%ky~KA4m`DY1~}h!6prDTJPK^k;2j0-oz4Q@y_qwK__vo zA)IdFEXj*ow7Or?5OMSX225{N1WQg0UUg+87um2iw!8g+zY3VE#;<8Z+yf<;Y&Dw> z+sG#xUzH2`pIDzyxt7vp{w!rOoqV)JY)Q>99RE8K4XWwu@4ar(AvamGuUsv)bXF~` z{C_P^Jd!SIZU{WAX5*j@-Z2KJCwKYqtqAekrHR|h4S97nj*15z8xUF3&qCZ8z`P)Pbn+<*!21;)wv!x*nLP z@M8wqk$xoO(~Yv>E_xT>mbh1k`=mP{{t$AGmZ&+vbM-2&ew1@1z{e@T z&!(gcHRU$C1NfvI9CEx}zFgPwFL&JOZ=Z_#?LWNM z>9VjrPsJ52TMB`)bSWIRUvd9O*l^irM~lo5+LkLCJZ_4^hr%)aTliE%ox>J-kD+7) z@iU7{F~-Om3YnN#;S4mvPvjjz3<^EuT5rQEN^YFg`i%<%9n#s0UMsF!@WsZ))q+4H zOu1&(X*tT~LJZ2Kx3kQ@))u5ff%p#b!q`EhMjKlX6EoJo>jPJ>#{v+=jDMlVI{g(o zO9?UuCV!udJg5a&2xbaMVe0EW*u@P4vreHYGJAHCXJyXWyANH5Z}RnU=O{z0agb|M zCFi)G6ofo7kOgO3Om-64CN+Y>Qz8UrY2KM_xvZmXL##MYl{!sB(Xf|s<=$F2B^|fp zNPzemjbJYD$pLd-^T5vL((h9?HjO zt3eO0^-dJ7g%Jm(^TrFcyL@GhYj8sICTd!9)3sBT1tY({*Hu892PrY|9P-VW{p}27 z7Y@N8JA)H&cH4x8u4`$>{tp2kF(PSRq+escH$3A8Eg8w%OpufqP23rbUTM!bdAKNS zN7UFI0eIm<5MrIZ@X5_Fao+3Z8*mH5M`gb=kbv2vi?6Rj|F+_o9#+k-p^!j5LCe+R z3-V;`8W_gHkK3Ul{yNAk`q8>XQ81tc_{yUO%E}0dAWQiyS6@)Oa~vI46WXT}vw9P@g{SN_-W=)mZ>CJaiEQ{5ZIRpjD9t=>IZ`7umJR!03!scA78oyG4 z8G03WFz7J5`4_6eF7yx+3nE$Yutrkop-QCT#-sb@7M|K20dSGmoUlj!xoE2`n+ek~ zacZ`ry-|yW++V3YvUZo3a;!o*heTn7md_wnF07?OX=DS}py^7bI2+IQW=>X!voDMU z!z!8?AfH~enxhR7y0=Sdp9vOkZH9k|8$BT&sm$Y|{U5hSO&PjOa> zT;m%!0rZ%z4shp&aQJRXYX3dM@R=g6gAjCjQ=WY4Nko@(U8%h=4n68cye=8L{=Fk* z!lqCO9hm1p^sueoi%*O7^Id%eiM_-GJ;h)5i=iz5r2ZtZ2wLVay+h4N_s}*gdd94@ zc4pY3670HKg%CB&RS8fE`+kH@z4^RSV1lTRWiiWVq);FhT` z-W4~ii(PSKBYXHobVO}~LNTc-!?5yAU+f>6vdG;H`^Babe;B^`Xp}hhk6bJvHMh^M z0))7dxK8$l0P5KO!(^}dw$kQgOif7z62D^Xbza%BiIUtYR6m)Gk5qKly9T{hg=fn= z7?;juHn6g!Jm!FL!ZF;dQ9IsH;IM)uCMn4AGGm${TLROq1(Oq90B*fEha&wZW01>- z2>(i@V_uc8rO2cgqVbwiDk}2098bqbf%s^s%MLw_8(76pX>e0J8|Pz{7jyE%cMNJPDN~c{3(d1B`1Sihz)@$m|&aHAz z5mUv-vJH~ZjsFKF=FucvxmC=1<8^cId*590LzNB*f4san^i&w(Wd~P7UyN}A`a%qw zmNM}{@hv1<(B?6|VDYUlJT)=hRe~p_EP0zOGvk^&godBi-B~8{yb8! z(OYrZ-4SwL`wU*ePCQe~qm67+ylIeqqW&y}XM++$msJF>9RJOZ#jRj{-LRn}*LTvQX13^0*n*q4mJB$O6DV=hzW~Zf zJ$}JGna4R83HFYjx{mI=4X1qN<9iG5=X?R9xni~;N#Y-~BXXn9cFHWci;DF&ZQ{7p zm6GILy~KSZYiU@98uBa#bSPB-J5HCGges8u5Er`bkCyAcY>Uq9raQa#3z%HUq)G&`Kcldf6pKFp;mGZ4@NSi!V!NX5L_{)qpm!zo?YD&K3kX-?4yL6T>M0zo+8GeOVZR@@c0C( zWe6zJ#*sQM)HuSw-^D-{^d$X`znVMFR~Xox8jXErS8jI1y!zw%^RBQ<~pevu0lpVLt7Q`~ZvS^A_$DsoH z6@fvTe5g7>HXV|*{GsR{KpVDJ-u=>3;z`NxTkBA?iKUO=1m@`fwM#W~zlQk>4VcZf zAqRemU0Kx^&$asMXyLCSw}p8okY9uRmWN%8^8kFzeLfy(E5dljFfJNcGPELZ<#e5k z@eH$2S8gOrO29CZ=!65i$2X@WeCPoFd^Bbd%*sKsD<9Ioe>>=ORp05oVP^sr(<#oH zptsrRteW_6K7}&MQD77HU|#M04LOtO_u0v7`)Zpv@kOx9FJcDFTf) zTenQb3e97PH1AY&qVQC$fUL-qDScSL^*|Op+bI$-K+HxpSxzn~r#i6Oe}EfS8mIjO zc(JcQ?Sr&r69JYJC6Ul532;c8fj~4&3}%)guur70kU0AP9C&j_cVlan`OL#mk=$^h zWdyy*Nn|8LGP51hBF&)N+7%|2>C?gteUcWXhH>m+iM$p5vW0^nmG8a1_775|Cx0m0 zoUs^9tt8;#Qj@08eO~o8mG00%+@p7KzLrb2WbuBY@ohfvj-&o*x$;hf$-Kc&Hc!ZZA1!$W!wq+3CIVM&a~{ZGh5arw28 z!jb`fC>I>2LJ|gywq=E~$$!MjkMltIi$&#%?63ucfPX&R_3Xs)b+3k7sXYD>$8K>n zw%l$`v@bC1mi@XOv%zYYtgy5NBBldie$eUGBb(?tk*bvyh84k&wle%-mO3_BFt}+y zx!uH=a6e1Ud=>($)5X_MmDDh6wf|r_5FWIccMKH4Xed2xHaLU>8~&0^kE_j${Ye8BO3Xk;__x<=J)SmE*VI zp@eXcwOlFLn&0GtRR4y|Iy!^Ns^};@jS*5QO-Jd)1Qp}X7}8yKBZ819VY&YYw@APm z)z)FN;Om7c-D&jPPFMs$s>cImE9YqXsM>u1QP57S6d4?+el4_bN&b_YRe$uym1@-z zk%;9W;nlk`W-dbe>g>>G@^trT*=2kU&2rFkPt9_Cg@Tb(hCHC)zlm|x_5eiDw~g8_ zBnsZShI(V+LAyC@a?!c9R^Z&W?k^9ny2wuI>)!984$e8{g!#%E&HM=L3u;=Mgrwkf zv%{D(foiANJgScud9Wf_t|_UjQll+M&9I``=tGP#_Mh$q>yQ7pQdKDE7<83I{h%@C zWztJz@Lf^6qwHQ90A)jp)HNia4;q}Pi2#ETfLz*N_x{Tf!sQJ}De6-U7klQdf$)8V zXYW|^GmGbd1sMw|(z7hhp@{qv#w ziAF_JdNqs`Pdr@)=bgP#fk&&pl5(#&@ieGp&SND}?A^-ZJJZi!*wH)ZPomL1@j^fA zilw9Q08HIGT$`f+_#s3N+7kfj780$ZWZ|+72UnNL-doYpvl*q7A?9SR0cjydZYMa* zkb~20moM#$t)A#lW{FW;q?dJbOFr$QGwSgfs}hN{c$|&B;F0I|y-m;9Wj-llOCWmW zfa8%;3BTkjtpqaVr@+oN)F4$woy?D8lMEr>yb4pi!ZKa#Oa|cx$_83MBclOBI2J&b7#c`Oes5mOP; z?3Mn6b@hNrge$8h!2cDBV@^-|py)1EX%g`Q5UTiH zV6`D$8m_+yBGYONeEZ;|cNm-X0Yol{!Jh@XrefX+t#_B|!;r}h&?^9NMT+6Bx7dBY zByF_o9E!3{%Oo|ocuA{y%Anf(69+BqCoJpq)?{kP6QQqaA`t^?RR4hzgYDe-G01!) zNb7dvG!>Ea8Y6+}YG?hfSgAuDb9tbT_Vm6wuA|(}^9{f5vFBX135^A$xn9k*&b7+JJ$>E0tRlqwK(?FjQ z!rD74L*KWlQu?r3b-B<^F#w|jk*(;2I4|<#kXKnIgB!f=Y>3aa?#qkztuM|{U7q!{ zH0w%eUJ!f*#4@KnF3g{dBtIq4(JSyi6UoJ}mAN{3QtL;S;~Xq6mVUrYgF$|Bi=oy$ zUlUrr+l@DD+5ZkT4#8TI1{-q{HBtm)IW~bvp;Jxv?=Kz5ECsgFJzZYe64u zd__I@paEG(d&wy%teG%Q0yDNnjcYwGNM0kf(5LRv#EJZ;-qyfWjGD43-ttL{+gePa zX&nEx-}~QB@;kJOJ(*KQ+c<^ga+fGOk477S`l14seR0g6s&mn@!bFWQt zqKKdl!r0?WWB^Wrj3Plo`i|*By|u*yDGZ{yEu4{@lS^$uD2;FhwkO+^=OA&PDU#=1 zbbq(H0Y3GKsMRUz3^Qji#cRfsCq~uc&xq7-+0yP&U6WOkBN1r#MODWP=#E%W-(c7J z-Nhs>Ot*Gb=}f=Gu_&K>^^j`gP~Q#lgSfjzbll?3nt~C5rWe+J$wPM)@0hK|tI%o> zp|9%U!k5boxC2GyugODNS}%K%7-AxX6uAc1em{@W$8;H4hL5UQ$nc!@YJKGy6tr-~ z#(w;xDDwx4IpOHbvIlB7L~hpi>09sqwpPpy12U&=*tUA-i7*-t^sfoC*+_UV2TW(c z=h2^Io7EgT{$eq@3A5hg+mX)8tDHatT}iS8H=v_v?grrAW01$Gt{Fq* z4J-(r2TbDw)yy-)2M=}LeXzW3cY+k>!NXjV!DgYw7Qapa1w^hf^dv><;Rdl-=#P<5 zcm7hn-9*ag>fxVDY5CbcAZnb_ihkkO!T!IhAVh#7W=saJb>h8O{*O+-CXP05R0f5D zp$}53_&m&bid>>JhIyS=gl)4sGj6#=|7`HUq##?Pxb%YSViLU0c*Z#x6YguzOHPBM zo?Y_d5p?n_IpPyy5+SdRg9SD7IYOQZMMnfRiX(Y-g>ETLpGXEfkZcmKu+M!-4BLSm z2+4Mzv=)o9YlGBq|GmPMVO92EKZ8c>1mS)~)X=Lt-Kkdo7a2#}F2(o_o4j8wi@Pmd z9j+VtK3fk}YNiMsRXXr@(9XR~iLDAwuNxKa@v}{+CdcBYo^q#R`_adDBS2=G7z-yW zEoB!-v^&aozLv6IeE|4@RC9?N%jU-a(g-RM8geo}l>iwG?20rQJWB$h-&Q|yk*v0| z2=uF2LYJb{j&{=C;7f|9ci5~H{j?WrsWkd!GsM!#hYC>gu)O8W)mTDQxf0p=TM^JI z30Tx`>D79xXG1B>w|NW+4MA};Dw@?`KVrxN79D#`0O7OBc=KG%I0WJVYE8+v&Lla> z;UqP}c8IEL#iES$7NeP9&k-zz>8zFD#2&bowPdkg@-7_fx2IR&ei4{#rvcN900a>@ z+`jqHr>Dt2hUs;dRzh z-T8|K62TCK^c`W7i8s?}hot1t**WBx@sMTz+u_R~GvYvy(q>Ikiu{zH0P>>F1}qhH zytnI;%AJIAJ?Rciw^(g+gNhuBuNXO-oq3yB=(_A2g$?I>%$T;7vF0u|pl@D@g z7gdryjr&;HL@#lj2I+#(|Bgz7-b0tnWjGzh20^R`#f{p+VGql6X+rw^udL|cE;`p6 zA*!@AxDqn3!-jkxzTvWHeylOul;ZjCix(MKt~XXs6myw539TEfAa@wERdmXt-qUA-eXP2bKV*$MIR_>3ylfg z{F!#lx*Ms3F0~gHEYWsMMU4{xA?fsT)?V>ry&w$O)z4zY(P(q}l^9s^WRo&Tm|w5y z)|!4|1e&g{)zV(Wm8ETM-htMd5+R{Vu146~>@5%G@!cx7W7BD#`dUw9@>W|&>X>^8 z6iGwbDRV|N`B$dTN0&mBp6|5g3Ke5#&=}KIHgS`MX)&aEXwKDk@3;X)2@^W3>$-j;EAN-ozWah6=-mP0FG`r9x(^tvb*6Xn4v( zDr$`+%r&xd@;fLTP{+5YWl?%YsK=qczaf|0O|}e{kw3tA8uW~fJR~kPyd(Fg?uJ|Q zsnrXY!v+o?RVvoUdre<*&U_q+$(sa;iVT(7Zbvo0GTkzc-?Y$xeH7Bw@v~ht;*a@u zBnTtbLy&OX7QmhC==#3fW3caHPZ}47!8kZdobv3yg#o zCQzU?gV(v6^SGfB_R}+`{v}qMs;I${|BQC|gN^FJq$rSKZ{6_!Bp5=;qh4~s#6zd| zwQ+{~KJg9IEl}>1V@OvoYs&#^X5yZvTk&o+H76N|jir_{B2$tp#;m+#*!4M!mvu6Y zANDG13NwOmt#1#;^+iO}9YXl7&*&I!a;tz?EEMKEfPX&G-GAheH3(p_{_kuDHU_>R zg4Kxmz=kGC5G9!Z{zg~@{-!sTyIG%tDAaoH?)K6sF!+N!xW_2WaIF}MP3)ghypRC4 z?dhEMz*2LYc4*@e0;8Yrt;PbJ4a%*6*6LCB^PquKpgBVHbxlHggf~yhy_?Dglq?7E zp&UonyoQ86MT4ypiCEEud%RnQPIZNx_FoKr=5m?>>W&d%b>Cn$fV}4WEPq9ml90a) zfC?_uZG;#MH^CD~ly;Hl_|xkBNW>7$MKFd`U1J`XNBi}ou7(6-is^(sWx?&hc1J>p zux)0S55mM4AgdA7LhKrF)fotM8e6U%z})enF(nr*!!yf8(DLP}56nnlm7*y#c*|!c z$;X#}hi1RzH-GJKQXub?uIjzF{?ajpYqi*y+we>{OvjA?QZo&^!P8K1isRy*jU=g+ z`!$7?ceHEIB9*ceW31*P(Nql|CZiSP=r+(A8mDT47Fs4JV4a|*fKCN^)fed>?PKQZ~)O10nk>~@?Pjh&@az&i)ucuJ%C^_+QnLEwNolJ zB!6P6u^0o7bVw?N92DUfzz1tN)R-2c*Y$r|XJKO`-jyp44SbAV_9 zem4rhJg;H~P?wjzwV3FUgn@?<4BM;;bBbt@3?QZ*>bZ5BCC+vBLWHT?DO{$X5w%>s z9>NTHP}~DzLz{15zKVK>XT12~TW9qPVC|sg0L=_Cjp9w>b(f-Vb-UI)Mopc}xf?zm zcV$sTMQxLg;VgqV!PgUp&QIS@O;LmAh=zzH=QegaT7O?-sQjJfc?H?Co)Z-G3upKi zIAtm%rhP6>$`}Zfq+(CI!T8SA@*d)G5N35j*jgY94VaxAu(-eyzX9tAW z)jgY*Yc=3$psaB^0nHx2Fr+LfsO$hfC6Z*~QWzYYP|>|Ca!WtO(Q59TcNoKnp6%Ie zSi`V}O6DFPYI)~%AaXq4_Xa+wdmn(EWmPwhz`L#2>0PwCu%_JMQePd4g(mt;f9f2KF>E5#c<=!2_zSK9xH@runeK z8D*;f3plNh)#PL=>aZ%!UN7>Sb+E3&{N`o3$T8-@N_Im0?st^++hQQ1WBp~ZpZ3=mOy03Mx;Hjv0P^kgKTCn>XO22pb5=#{#*Qjz(4=8D zHkY#suXjfzDHa*aUdQ3kO0L=5yR1BLQ!+`p_PWcg{s$(&IkcJ-6OU-~>}pC;)~kazP>Eg)6}VmTmA3at3ZY%`3(z;@N`s?zivtizK{G$2 z$cj~Fe@`rR(m+cgFcENv#&$Hs8I}YvLSjQ7fOW*c9NzQdPd)_qGQQXgk0bWDoWH=_ z;4|QD!lX%Z4BHL--@iDNL^g1)8fPAbIGSWj{`8=7%hsllv^J?wdvo`hq)RQa&5b`)y3h#j<@txLN4mY;{A_NWAsF^e>|er z${4p_&-6UmMa5O7$DyLXeTutYD!rT0WkKIgo-KT+SqxIpy_2(8P;arxF*%?; zjO`vp!b6}zW^~toUDAI8oZNqEv+1A!Ef!vfyH%MK*i%9?)5O_K*YD=xZweYNfcD_{ zs7a4X{A>twW5(<=9c3~y+)-DE`v|`GCk$~f5ed`7#U9tc#|trY~^shj_Hw+&Ide} z)Ib0ZJDEijj`lZQ<;q`u8b@p*CDOT^b>W!-+8L{7?a~X<6l>L*X<*eN&s(8vJlv2h za3=-xvWI1Q_sCR?T2 z#G>GKvAd-RQRJzL*nybTE^w*QLE=SwH9WxEvO>m7>RTJ}6|ZWRUJpOA`H$(TfK)x6 z5(`NUvZ!;rTCh6NJZtPf9ShvIzek!q@pRR~e!IOZE z*-$g?hbjkl)FVv(0Cw>P{R@e13VS$mF|OTMelNp{(4#V!+Di>C2eYWAp-YuNbpK{( z->V7&se;_19u%A?n@SH5%Lv8PFA}O=M);{0NY5_wr1+-5a4ag$=pGj61mbtLK!*wL z|LjPD%cb5DLBk{Rgws=WcZUSKnb3lkLrSW8}74L%w0Lg#h55T1;?yG0F?i+kp z#kX*s&+CLh@PLEGd8( zwiZBFN2`QV;pIlws$JM%dn-*bX%Xuag^E;m0U6CSQ$&!~K%b1~ETq@R{41#Pv+(bUdlYj(bpkm)JaVY0Ue)P&+JzpXgF?)O zs03qqRhFTH&V!qflcpYg_Nu$&3=$n)S4gebHg({$Gw)Z2{I zWluNF>zzMz5VNXgAn>3oUn$xBMh+!GOuvPED_y1AscvA0SUU|YN621yt$VkC3dp~y z%O@S1{^PWM2$5k`4f_ze2TX)&QV8bffRyFMf1HR^^^}JL-bq(F?tA_?tu2_HOjSF+ z9%^YJHUV)VUcc)kOH5U??rcRk;~^Yq!wSTShP&(Pqh2&R`faQTk-bWqgRNaO4BE;= z72z`Y+Z>rWl_omiY+$0aIUl`$;|hUvc#Dd!ie(EF%+h@>_T;CrO6snQ)Mw5=4*eAuBU0eIkWH2Qoxd2s0#pe*|z z&)i88XV=SjnLza!FNHefAjr?xSqtc$9FgJoRIPq%uwh~4n%iGcr!A&DfvG~(NR&af(cF@;1_ zkl{%ag?Iwmy=2`0s|K9Eos=K6S!qo?)@S9Y%M3YclDkc-7c%O-Mu!sX_ky zaW*rBb8@Bo08nC)r%rs_)f#D^BW1_IYaxx^MI+4UTCqxiF5zH9m$-|X-m&ZsbZd_1 za35*9!t)H-SNmbo2hfBx*FfF?lDIaq zNwGF@R&3AL>g)WEt0@$WhtcK%?p5@d)%6=Q>-TLh zsDFGNrNJV}rLV)d6<84a!5-ODoUXpv2R>s!z^A0peyIMzYj}QDb-JcQ)&6`%2>u}{ z?23KDeesvnR}B|S{v_zgRVoX3^;Dj&#l){#Eb|R3j!R|vMo+974@Q-F^nLCnU zV3m}!`d9+--GuGnK6!~YVITUQ2{|shIWak)|G;$w8gizV4)n4HgYynM8>+5>@YF5% zB8L2JWT^!a9?`Mj&5biMn8{NILx{ys`|>AhazaQFp!QUM5FJZ~5k>EAsZ8qQz!FrD zVbfz9RU(M@>{)~+u_qNrI3KW~o!%D2H7_zyYf&g9Yv_}Ne zipW-|+wPM~9@>N-KihXI$OOeDkLVcp>p$6Q@rqOI*R=hZxP`d~53ekO_QlyPtqQlM zY6mp5n9kor5Wt#rb&P;YCuE2(`1qmKoo-yMtp&CUci&?JpXRE4(Rws>up4wrD9Uv! zWdZ>6d5{Zx8tx8QVNkZ>KOuH)tJUNOZ}zfuF)boP;;=jj_VlA%WASN13$zhH zAWE{2y~uXq&RY~~yrjNNLD)%eWN-75PGu1!IsfvH0;N78kZTO$4s z30a~7(#}(`foll`-kl zA6%}P0z`kN;JtP-i}-$;zftFge+QmBBr`JZccC`6V-gxvrVwKQHSN*hAq=7sn zvb2%wF60aCDnvJqzc9K#E*JO<@+RJnjIZ?7u7D3Amv{9_f9Q7S*FyXS^M)mt6uNLp zEi#i2AUhC(JE*0gqcj0i*edW1-Nob}bX#d~pvT1f2T$;+_~%1{FuLc9XLO|7m+kpsNy8_V1dwj+r)6foLiJ||0A&*Kf0PS@5p2`APTf#jCD~zZe zmvHuagsmaHQz7iWRoXUI8QtqDusT>~?m54}(&)&8QP;zr}2GdiFHsg}KI?C~+A z_@AjL%pAL9j&&sE~WZ(YJ%dh5ZY3hPRRzp>eLTj{vX_m^G?CK4mV<)3QiR6xDG z&$~iFnOwGNG|>n-C4k$0QJ3!0yaN|;1L%#%B^JatNwhF-U#+jF_@{R2OFL?GXidAT zHx!eh5IfMExOQcBW`JaGI@7}0-^ku@?R+;48d}BBGF=(2Qu+BG^8H> z!5?@47Hm)T51S&L2e1|tIg6ju1$7`A!z_9l2VG+~i+yO-wHHEh50Q;37e5* z02#Bn8w#+gb#P=Q!^r=Q65pb6e9y{_r&|Lm@97-dA%mP7ApktIp!tAeQZoc%cKDuu z-#H)nm7)mk&`wW`)Bf4NN4EbL9tD6ixvM&K|BgGM;;W`b12*%5*Niz*&gB$n)3(!9 z+>qA)>d2*wE-G6F)*jZA2_gog+o80Xs3t>|X1{A+w~ZdMqWy)}JDC0in;rHA@7Wd1 zabhpla-yuIM?i&wG=87cK+*u%crtlk)i`*g2JgeM5pvEv!(OS`06{64bp~EZpneQr zpt&gW4NJbhC`2|I;MD7TM)W-eVsY|r0%z;af@*SYrpkHOyN}fRfjk6kh)@+7C2ENg zj;jm?#)<;`8wV?etS!&brQQflp3`hFY~lev#1quOOcXOK|8vBzNI{fSFfLh z4Ac(T8bPh7V}KZp$%~rOQfg{ABPr^^2yuETq$|uG^1iHBz0|0hsfv_QMR>MFqR|Gs zYf`CnP{!2b6q@Q)t$?_Io3z{#iHnaH0g%J#nt!s0XQV==5&OW;;CuzVr|k$07E(Yc zKl_m6S}5db+dHHiT*?yZhp?4NgvOGLQN6_x=N4~l_?O!W;r)cnGd`Gvva$4*Y8Y*= z=4-D|O-eptFh>JzWN>Rc4W5W0zMt&U!huSPQ8-)*`lHJVt^GZV@$aUc9vk}bRRx4X z+?vBWrqtM(MzaT+$I7bp&#;{VTt~v)QF29hSTdbK4rUmnjQXg24X>i z0eZ?{o>mkFh0LW*>g$r{^@XSYcywAKeo5gSO~dXDm7i0dGk%CKqE;3!WI|39R>U6WynJO0dg z(pk}x=h394jLn)7j4xrq&LB9*QN7tKReUjqO`^nQAnsev4@>q}5+K(FoaU;xrbBT8`)0e^PXFiGCs}RyqS1x z^b;BGq~3$e$9yi9X6 zf&J~T{a9Ro|pD$6654VI)mu^66k5LD-xo^W$% ziTi+ue5~5cMEvxRj*%_tnP_oL_mN4-bL{XGArd(iv6V7QUYWddzHi&%IF^6d^nZrx zfRPYBab9Blq?!r6j+SBVb8G_edPjg+#Uo!BXg|8$GANJ6DPyP=N_wWSWhPy|CrS=+ zP3{>cNrV554x55Nt*>o+qvS@pv&CU2*se}1#|IuIp@p81U=DHB$NURwcl|c1EQ;%C zU^(;_QxT|_m)=+%5rC=fDj^0sSI|ziWnu_w!vgn`J>f-*rr9vZ96m~`J3(c%QwP{2 zcA;pc{B}@ZYJ|LEKrbKVm@amV7Jpb&P)l&n^oij0+k>KMs$)2>5fO|8bt?Z^TW&~T zQA4xN=f?lAYn^T4OkK%`RuOqc)vUprJTi-vV)oW6an8V?S6Wv@tAKVIP;KCx`xsgc z#TyIn-LZF_70Z;pfW2e5@EcWsMdnqPshsG!+5t*WzTNE+#{V_A#Ll1gY-^{B1XDh1 zu-a+JWX>WzTn=qWN31mqHj|;*u;AIol0_)r_Z7a%=p8A>7yu``T(vthUEI&@7vER| z*RwkZn6)jq1@yQ}W3LEmCd_nOak&jmM|oNwoH?Hq7vY^>8Mk|Gtk2UNIa9~p?-iYR|}^v zZ`QLo%!-bY;`n0m6P%|9kPBGwa=GpfQkbCtUsTAFW1bNzif(dn<-@Y5&sgZh2z!#< zTTM2Vt8!IbRU@v^@1yiiaLV$-w$(TlVQ;`o_v+C40rX0!0vI^Sn1XMM4RB-9-IH4n z=!+W)#0EG7Ky_KpFEie?Jl1RvdGd`%U4@Gtwf-%~d@N*Z#$rMJL^_>C=P372+x(LB zvo8siNoVRBF53GA(`+(>7`numbo>QAED8P;$F6yLlolgyt_wh67O-dg^i14rD-7nf z7*3V!Z&vMD9GNaB#+OX{-8wM?B3H+x7*+|p6#RQU;-YH80SOSi-uVvtzeI8FaCeqd zlq)){r@Bvo+(VPbJp_|Ke$mg8XT;_s8*gz%7gSg`QZY$Kpgg00l zpX~Wl*Ydc+KCn)b49j|TOfoO{f6Rz6=k`)Ro+8ZgWdUUadZsaHK7_6LpG)$xj?8mtS_ z3%MytJIecVxg!*I@NN6%B?s*FI%!Sc7Z@=E>Qq4awHDT<8}}r zN||H~uxgP)#h$82Z(>>tT$aXF*?f)Vzc>rj9j}<)3QA~3-X1$$8e^Lor z;#B2r$iv`}KF_!q0o0|&WuW`6Q&vB!2zFkTQ@kL(J>0;`cVSuVAc`uauy;YLfZl7* zhP{AzQ)hONNP(eW0MB`Hk67)^2Z;+EZOR%JGO2(>>X|{iZaOPCz~d=QHA5bM7b0k# zNGp37MLFX5cr679doLh}oDH}6`Hr*j>=9A0H7*-$I`*GHQzNTkHaLY(D_YgKw+G~s zT*XVon&YfVz#8H0FW2fhorovRj0dhN5c+t8qVSLmv^@bm@G*Td_re zel;k)UL`>=5qIk%5#@f1NG!Xki(md8_j!yZ^d6z%5RFHfN2B%*l8FY+!x%(04byg1 zA1*AcLjLPcqEiUUlv~pX(jPm+KI&Dzwb5toBVS*Ki%d?vJ@pu6}j)*2mu^m^+Rxt0woM zh+;2a5C@*TRika#NAUdztDg~)P`Fm6I#s&x9W<;rU2Do7lt1iOh0lYCfAZgf%_}s2 zMr6pvgGavVhef-%|K1ulbh-2cf6q{M8S-2)T$zhyvB`~rLnGJ*^a}_jYC~Y%23f^j zSe+jADQFiBWCpZq{3AJDFbs`C>7bC9qAXO7zku$FC$m2;r+b2?t@WD}FZ-t)Ph$#SR= z6Vp3h{AA=tLOd8&J{E~D`x@jQ{k}a(tb>er6N!gqL(bw@q_=v&E^2Q6e_jL@5nn7% zGuTD+b1pgNj8#I69Lh-u&2)-!8+t~u_tK*GSy08=mcgIm@&Tudyz+n7>irU*G|>aa zHI_jVgCH{^b8P+^^}#sZp@K_FM6EmotzAqE*gzBHBBHL_i|EP=XYnwOqXT)OZ!K6QJx6=-SYt zg4#e(7gXTKv4Q#l4}`mPdx;s?C0$UeCWkd*!ZR^a9Wnd97)Wigy35g&9>kgJRiXQn zE?Pl`@}8LV0b!wIM?|IZ?~~E{H=Y?F3Rh&dT;HK&}QQi@&1y)en3-d5Wj$gJ7nV zj3s?~cp-SjztHHSfT|4jqLQSUgr9jeuK|-l+LFqSd;bIK$eUu3a;eEs3RvVN2%8DN z5pC3c8m+)olEOfLmebzJ1ECWffaDq0J;l0(ZMQBY-^iUVxu{5&7H%(M`Wfk0I^nmsp4hM{fqV!qkU(t8uEb+qbr0mp_LW1-OK|<)nH>=-0uR z1A9Hb>SRah=C}R|skrb^NQmXN^Vv=R_nSg~U3ZnPr4Gc)M*OHSM7-RypX<12AT0x7 zZJa)qy(N~JAMZI{A@*x{WFk#8X|->a9>SEqKDH7yTRf}vhi`sw~AaQqQJ7v z!t}P^a@FU(PCso_t#wRNqI;7JxQI)*l`fw#&wzu6$hJLaPhk7yqtuOEIN@nTHm-?`a(Pv*)h|4e1(}Q)Du+F=~ zIOvcl5iwEl4ZqB+230p>q%4CA5&~T@;MapeTD47daUVbrC);FdJXafY$ zoyM?Law4KYBbY^CJ9}sx>w6nI0qf{sE`m<(%BOiwRYM}b*;>X0R{dlKDDHxjuroMe z!+1BnJ4~TmfwBChLD4$|>;p1)Msmht%~%scB>ZhfWeeYr;SF+B0U3X2gs@@n1@st( zyt~j3zm=wD!$WohPfhnEw@8@PVF226S2jAE%KI|HQ+KtVG1>95(_kO#0r}$*gz+9Wh+yE|WSaxq?7vi8z(kv(jb-$A^wyw`M>37qcTw z*y}b(!rA7IxSI=0Ox4`;0_g;ONeiVw-2 z)@wE>MBcifV4A((jCZZ)yW}mZojJs;b+O-vqD@o;rk>=`b`#EEB?p;3HZLf5G?UeN zxVct<&b(8u2vzlH>i)g4^Z6eGV&*QSNW*9k;JlSRUN$ggn9*JKq4~vhHg}Gobk6{2 zklCKsHxW_b1-maPS}~4jdVi$-mG`lxNCSvc=Tg2v zcgseZ3UT=M77`pCkNF%`FFf1Klk|S8e_FEwzlur1L8H>0?(@uR&8fs1ZqovZ-#l-- zjJKY0PyfcK=lWZZnQKm@x-Glz-aM&gZs;()Pl?U$R<+! zR_DIRKM=XJ{D?qLfa_`v0d&oGFm^}yd$gUc zHV=-qgiA>imG}9=)22cY_j=R4h=QuVZc4+<(qJ!1xvO@&ppX5ai0AA*Wd2R%=>LUR zUAy$KO5vdqjl=b`1kBUWcQbzo=m?~6Rbb7ce}Dhq>#yxX&20)4*i?#RN(BW(Xy=$1 zi<=&>AT|9iUL%uz__T^PDhV<4-m4_=QZ{(vQju-%JeNGN#z3Li*HybCn2EVNr~3=BjvCg9634ZA{8|`uR585y`*9Riu)7cvO{OKQ4!!YlJGS$ljaP>^nOJ%dbKP(flHq;#FVDfZG6!qENTV@ zW@UDy*1Azm8Savy+|nusU(8NA@tvi6ymn{m<(_bQx;{0bmglHNV0h1RtU@T z9-qA28h)pf08zD)+1>=9K;{Nq^R%Q}aFW@56hLGa-cf>H#vHCk{}FgX0pV#^YffUW zf`D0F?ZnzRVxQ3Qnq`>Uj5o1~WR8Qt3FRF3?^VAS>i?@W*0e{a%uXQ0fEO%ja9uR$ zwccb|yXpL&X8@VulitN*6%X$Tk{o4R^OdZ_44ht%qxNoUbD63qBK59w&t3GUW8>2~ z9-@jjiOJ{Md$l0SG%g352;TObfPi@(DmuOo-5Mg*kg2v<^CqjHqB4DDEQ9wDTo#gQ z>w{d-W@QG4vBK}1e1k247)Zb`8eBnFnS+VW^$^M@4dhyd4DtK2E^eH(DQ-|(Z;CXZ zhw>b!qdih83BF%F%v0L8uc685$WNn&b2}IS->$Cb96p=YrkZC?n_Vh;&1dCo4k*Mn zf!e3_(S=+)psde`s^MZ$(mGwpgBMb%=_oP%Y|Ic zp$cBhs$`9IkqC7Vy{CrBy#k4=K$SV=iXL7xeXqW~hhO!=ZB6$0sWh_5LsV3h{Lm=M z5j9jzS)xEtWr7gR9?w>5*I>{mn=86E5sa`XYJ62vn(M|J$Y!4bqE*+VKkOO_EO~CV z3ffu)g9Ly4Eu0}w;UI!eT3Sx0fAm`JLg1&2UF?So8&AP_Cu{Jcdqscnxrivg-O5^v z=A+DqG{L1VVc&~YFMqub~FDcVbA4eAy3{k!?Dpp(RMf9lN8Uxx4lGDOA5NIU& zM%=}$;Ss)nL##s2+~YEqJXx2kOuH)UmT$u-Ixt2X*?TNH-wA4+FlLELd2U!I9 zB?XM5pRn&D#BnB5n<|ca zk^rp}ITsCtH68mT`75|#|3J1qWaRywg-yz=MkJFQ`&p%NEZz5t0Ig%wJ|@<$DK0RQ zYu^Dd*wcsj?5X~;O?JMJN+2OIVEW4)xV3T%Ept2o;L+-wl(mLJ4)|Ag)6b?2Q$6Dx zB4`gh{L|>K)9HYmJoF_=k5NY}6m!U)6gz$4z;ZL~i0`RUYC5OD*2``NW-f^J0Anfe zK9XuvI9fxsPuQ*w$KB6zJ+eHEV${-vDbBINn(#gK_Ag;k0v!|u;*90YT~|KC8fH&L zlOL#L^%%oB)n6~sE>tT=5NTgsX0yfg-Nx1GB-Eq!3#zOoEXFpa=^-sBb@JR_50-YS zhboPj4cdFxDSrT}gu{v6DS_Abw}1e9yIci^|-r`sM$AdZTPSb*i9z3YbuGHKC;< zui4;R-@iyD_u@$(P8*I3!S~s6mnod+;Xu~qopHtT<{(l4J&Hg2-|7Lp+B1F@x4sL{ ztPpr@>0eU7a$edb6wtcEAk60BwMM`#hU@ZrrE_Ry4N&6z;ix>&sMsQoQF(86%I;0zAOP82`Q zPcl(_mXB#N*W;p%^!{si;~XmwSN(iLTJ}#vYjJ5ew$}SkP4xyg_9X?rQ^IB-^y*xX zcCn6c;dS9f56m!rD(c{5hL)vZzUlp!HJoGj`_Dy13W$*^yIGWL#{jPf9rVW~y&N_! z9SfO_G{?Nq)n23x`g&K4LImlY!j>d*&WSLK3T`%Fxr)R>gZSpF+JbqMkZYkMj|_;~ zN;g@shLGKlyb{LML8E!hv|gtEG=|c3&}Eby`s5Qh#)m6Kd%dnInA~DO453d`r{1 z__l|Oo-9}rrRjOUU3!%3*9mx_$ka_IxfpsW#GGjBoyU_e^LFEo=Zdw2CM;0@Zf#e>LPrbcNTyilVpuuBQF~tQ*Jvvd@T> zqn;K}jL(oJ7k20wB&3Iy9)lhAH<2>TOS*`Wjt;Y063ObCV_hIn_xDBoj z8SAVgnx8dmDIT2_5>=M?ya27`Efd7v2K&d@Omxj0k$j zjr}*+0dv=FJxqG+Hh(vsb5#V>3pdXN1$?XE`uxSO@UxAH=B=-}#_)DwscCJ}9>Ffm zDld#&zpDh$86zwomXK9a1^Z)aH83{)x`G?$8?}_zR62qMq)VajOK+j$a#{em7PrT& zznIEDv={01ypX&sC+NTL7FIZDSO*hk*Ys_k%GJmA(ND0Z8VgRsqxVh ztkz!3`^cOnS(+0;);&CG2pjw{dIthMTZubo&jS5c;{Y&WKk2g+GZIiMg=hEDLg}G; zk}4sj&0L5dZT1Vf340Xr*l1x{Y$1AwE_A7vM7u!Hm0|T;>TO2C|I{&cwN~~64_eUQ z>U>#PulED8B?%fQ7960Za`9;$d2*hWW0mX?l18FY^n-XW>piAkaL~%DTRXbYa*B^e<92|&Y0av$o`qgR%X>UioH5*vo68H) zWs?qm0%@Seayy&gV7hUnw`i}oVkMyPWp@ncr|Jt9LNqJ9|71lQk+5S>NVWi6ODW*?7(NWtEX@d$tXFy(ej1bVs z?U)TMF+kX-SqAs6fK(yu`Z|u*S2vB;j zNRtoR_}9U)soW=;WXbf#Z{=mohJpbF21_D)*t=!xZGekUy2zPINn@50c9;3iKGx+D zvqDtBLN&8g`Y-;z&Xdh+_!80`=M?m0IvgoG{mvD-ciXPSx`aB%O?n8q5^DjY7h-wV z#P3?eNd<>=D7&aPrvyN4NUj&GYszNCvGt53N4GJkBl8E>LlXVd6x1S$< z=bDg{q-8-%`DgIP^IZ_9sY45BU*^PA{85>Mgm;vX;>kk9UbJZs{M-)_4K19HLF?HT zU$7(FKo3bltN&I`TD;3q8yyRSV~uTH3M`{*tw#i{9M9_;Y3hP1Zm ztJ{Y5;>n%iNCZ0`lw?DTbQ8ubR|UFrajPtCgfu$8_q|y}EmMw!R4X1n!|O8_Z`h4} zn%^QLZCg+d{#p7ha9pd*LgH z6w{{2Bi=NX<9NpTyDg#1qgQ$}@Cxp3432UuF|hFEue1zeHd4Yn+?$jU8Ipkj-fkJI z#pkaFL{qy-mLPSUO62)P7Cg!1TT2-V%uBR|@^$ir2Cx98sB8Zqm<(0(VyAk38Oh$C z!&!`5p3LCB#h+qX6Ls#mJWzNBCp`?y_YkLw%#o$7^`pxbc#y|oUV4(HFn;2gYsvsh z8EB5CIgih25Die?V@0wgofARA?UMt3OYXuedRMTGeuF%Z1@1evvSQUKe88CWBTYG<>!NU zKcnMv)+1${n{N5LJShSQE$!=TjM7s8e3yU`6u>4iu*P9IoG4O1ni~Htnk(p7jm&&F z0~0Qy-c3bed-#tP8C{F=nGAj4VXJkXufwXb_6nQqs35MLeAE*pt!hzY7pj!f0c1mn`-A+TIFMy9epX+ zLE;5b6gfNtx&mNhcN5sNK(QQ2KLC4>C)-CB#xrm@U1cStct5c|d|P=JtOpkZU}H zFOC|nzAGkO(A$lPgUAW&Q4z)|s%+!Xx{FjqVP{G|0fKWJckw-!IB&{A{&19gCc7ZM z;Pf_WZz+TG0bi^|*7W7tQ>^fv17{>44Q>QTYwk60bKM_GNnTrE;dY?m$-vFV(x%MKA2+FG1D#SW7`A)J-ze zsH8RK5m_`ueTbR+G*|mgKMEu;ZXUT!u9Wx56#ZyW$0#ybt;k)DGsWxMG3x9rDCNC> zSnzbz$c*|9|LaGeBW8viD7gLor%9y| z+M3X-G1rx~^6WWSmxXeliZXmB8=m(=g0)nwo3{SB5Vy2Dm^mr#J2(3 z;kIOKuCSw|NvO+)UMUT^A;Ye`dCVYQES6NVkekbz+O9@CuFnrFmyS)`&;-fSAb6E&Q9;i6Iq6@yv2Xm`1udOKk%x99~X1uJ)jLq{DzD zL*yH@HN>wCZn`TQ(xhS&?^V@Mq{oVJ`YLCi`$!sHvd?wL_UB8{?oi8org830`kAk9 z%X4Fl>A~cVpBR`eXWC$G#mg6uf&qISITq0r3<2GfOef%{X|(fm!JlW-RZIDR2Pce>y5h2Kmnykm<_uO8En5iH7CeK9iflmFkWWKn z7law63XDmY#f9z?OLL;aMH##&WpFUpK zqGh5o$2BGo4$$L?tk($ty_#P*Y?C*}aoXj_Do2T%c}+g8mK+mGYfJomXy%YFBeHj6 zvP2zuM3rCRw@9G7tZ+BX8x)JOYT&ei(DDyfp$6u;1S5Lv$X~-4aK#No%6auH;@n~; z9R+59r|>*Bo@=uT2;x(+6@?25xA1HG&EQ*;^CZ9_pZ^;f8d_qEdkW9P)De5LAS=ss z?aE2*;;rqL#P|fQpFb}*s{E=r)Iub?X_PaIl#Cy8H1faaHVxkoQORoGFx@cioTS8> zufNj)gLMk*a=)GS95QQ>@!&KHR62X|X3+n|EyQ6>10%X7LMH{7BMZBQUqq2>@Y9r#u`;6!<0f{QoC z#>_a^WxfI|qQ;d0ZmY|3v%Z1X=lC5QLRBIIZ@Gk?-UG-3SW0l2fiG#}Y<_gL?^FXz zdtbI7cizCzm)r00>=z62;o{^@yDdOwI0lwW&O>bRdjvip3XJsscb|xu6G~o3*-HMR zO#{O;*gx} ze|>5RAP{4$n5{LTYG32{3wZ>rBy4%wfB|fTyG@ZUEbgg5F@%=q?!8%d+V_S(>3+2Y zlt5El9wUAJjU|arBTABa4vH;7RJMLp`(lk}vp^06p4Vi^v1q4aWsV<}hO|yptX53z z0ztwQtd8YRQFOS*X^aatbH3vFmG8A>gdAntiJS21$aKw(n-9!xYUtU3VxqYu9N*zm*<)B(EysPAKk zZMvKp70*7IL{U?a9(v|SHSPlxw>|(gttj{t0*C%WHv;1d!c>b?3ba`;jLbobbG08q zb8SmxH7)&=%7irwC0ir|N!>2)_<;T|1#}fSdJOjliRe8`3VTVg<$mL~ ze4PgvPj+OtJ_5C$RG#gaRvlSYo(RjwGJ@^Ix<6VRJtPm@z9x8SG z7cx6`VeYo}GhBVZ%@*E&S!3aUtg%U$w-)i9E7pEYrR_~gV`R8Q)5wJ_f@lfLv%dT6DbsfOg@H& z0AFcKqRVV2XIy-f$|#i#lh{AcEr^BZPNACTQ!#$&(^At-C2(Ql{WaA~AgRei5@Acr z^1{031lH|}Sc1EsF9)?rHeU}(Rk0xwilTv;+gS!9sGT$JLx|r;Gh|11)F5i9&7@_c z`>ze15qp5c=bQx91Gmfr$65GNwyssn{L}xG=^u;0R~E*%aJ=5J6_o-}P%K0pRz5J~Al3fCT49`a905+tH?AsZ4k7vcVEqRZ;`-*2R1Srg

}1Q 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 aQjFb?CF)0t4|69` is required. + +Flashing an application to ART-Pi2 +---------------------------------- + +First, connect the art_pi2 to your host computer using +the USB port to prepare it for flashing. Then build and flash your application. + +Here is an example for the :zephyr:code-sample:`hello_world` application. + +Run a serial host program to connect with your art_pi2 board. + +.. code-block:: console + + $ minicom -b 115200 -D /dev/ttyACM0 + +or use screen: + +.. code-block:: console + + $ screen /dev/ttyACM0 115200 + +Build and flash the application: + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: art_pi2 + :goals: build flash + +You should see the following message on the console: + +.. code-block:: console + + *** Booting Zephyr OS build v4.1.0-1907-g415ab379a8af *** + Hello World! art_pi2/stm32h7r7xx + +Blinky example can also be used: + +.. zephyr-app-commands:: + :zephyr-app: samples/basic/blinky + :board: art_pi2 + :goals: build flash + +Debugging +========= + +You can debug an application in the usual way. Here is an example for the +:zephyr:code-sample:`hello_world` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: art_pi2 + :maybe-skip-config: + :goals: debug + +References +********** +.. target-notes:: + +.. _ART-Pi2 website: + https://github.com/RT-Thread-Studio/sdk-bsp-stm32h7r-realthread-artpi2 + +.. _STM32H7R7L8 on www.st.com: + https://www.st.com/en/microcontrollers-microprocessors/stm32h7r7l8.html + +.. _STM32H7Rx reference manual: + https://www.st.com/resource/en/reference_manual/rm0477-stm32h7rx7sx-armbased-32bit-mcus-stmicroelectronics.pdf + +.. _STM32CubeProgrammer: + https://www.st.com/en/development-tools/stm32cubeprog.html diff --git a/boards/ruiside/index.rst b/boards/ruiside/index.rst new file mode 100644 index 00000000000..0422a90b1f5 --- /dev/null +++ b/boards/ruiside/index.rst @@ -0,0 +1,10 @@ +.. _boards-Ruiside: + +Ruiside +####### + +.. toctree:: + :maxdepth: 1 + :glob: + + **/* diff --git a/dts/bindings/vendor-prefixes.txt b/dts/bindings/vendor-prefixes.txt index 1d07470e1b0..70c43fdc8b7 100644 --- a/dts/bindings/vendor-prefixes.txt +++ b/dts/bindings/vendor-prefixes.txt @@ -582,6 +582,7 @@ ronbo Ronbo Electronics ronoth Ronoth roofull Shenzhen Roofull Technology Co, Ltd roseapplepi RoseapplePi.org +ruiside Shanghai Ruiside Electronic Technology Co., Ltd. ruuvi Ruuvi Innovations Ltd (Oy) samsung Samsung Semiconductor samtec Samtec/Softing company