From e8aeea6d5d380fa7511beb5719fa0a25e1e8cffc Mon Sep 17 00:00:00 2001 From: Peter Johanson Date: Tue, 19 Apr 2022 02:36:06 -0400 Subject: [PATCH] boards: arm: Add sparkfun_pro_micro_rp2040 board Add `sparkfun_pro_micro_rp2040` board with `sparkfun,pro-micro` header. Signed-off-by: Peter Johanson --- .../sparkfun_pro_mirco_rp2040/Kconfig.board | 6 + .../Kconfig.defconfig | 12 ++ .../arm/sparkfun_pro_mirco_rp2040/board.cmake | 0 .../doc/img/sparkfun_pro_micro_rp2040.jpg | Bin 0 -> 78729 bytes .../sparkfun_pro_mirco_rp2040/doc/index.rst | 125 ++++++++++++++++++ .../sparkfun_pro_micro_connector.dtsi | 39 ++++++ .../sparkfun_pro_micro_rp2040-pinctrl.dtsi | 49 +++++++ .../sparkfun_pro_micro_rp2040.dts | 104 +++++++++++++++ .../sparkfun_pro_micro_rp2040.yaml | 20 +++ .../sparkfun_pro_micro_rp2040_defconfig | 22 +++ 10 files changed, 377 insertions(+) create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.board create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.defconfig create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/board.cmake create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/doc/img/sparkfun_pro_micro_rp2040.jpg create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/doc/index.rst create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_connector.dtsi create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040-pinctrl.dtsi create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.dts create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.yaml create mode 100644 boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040_defconfig diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.board b/boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.board new file mode 100644 index 00000000000..c27c19c2812 --- /dev/null +++ b/boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.board @@ -0,0 +1,6 @@ +# Copyright (c) 2021 Pete Johanson +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_SPARKFUN_PRO_MICRO_RP2040 + bool "Sparkfun Pro-Micro RP2040 Board" + depends on SOC_RP2040 diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.defconfig b/boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.defconfig new file mode 100644 index 00000000000..f5c8c2a69c1 --- /dev/null +++ b/boards/arm/sparkfun_pro_mirco_rp2040/Kconfig.defconfig @@ -0,0 +1,12 @@ +# Copyright (c) 2021 Pete Johanson +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_SPARKFUN_PRO_MICRO_RP2040 + +config BOARD + default "sparkfun_pro_micro_rp2040" + +config RP2_FLASH_W25Q080 + default y + +endif # BOARD_SPARKFUN_PRO_MICRO_RP2040 diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/board.cmake b/boards/arm/sparkfun_pro_mirco_rp2040/board.cmake new file mode 100644 index 00000000000..e69de29bb2d diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/doc/img/sparkfun_pro_micro_rp2040.jpg b/boards/arm/sparkfun_pro_mirco_rp2040/doc/img/sparkfun_pro_micro_rp2040.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09cf10c20fdce290dac51065a92eb41c4f554df5 GIT binary patch literal 78729 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%0DAGM!tN^+f8q6+OMsYTMy~H{9{I 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%0D7zu5u6RigACWn+nE4=II-NrIE?#h; zm5wJI9PFy_KzWhTlEWvDC%L62D2xM*CTaDYOj`fdfRQQg(ZJJP=QJHM6DENmoGSh2vM_|&>gfqK;s}kT4J?b4BQTY!bi}{0@ z@Z&;l21;A0f4(EH;p}|+U)dn(KFMdFz*$p|R7U#_Rdl-*bwCfO+=wxN@*~tr`oR=L zE>AEvBGz{$R`9zF@t&Xt@m;RBHmiW_Rj$NSL_iC+g&Uv5y=|+6uVn5>U&c9V-iB)L zxFu;wqQKzL-jqAiYzFh|KM-6R)uda@cJ@e=)ll|ule^B@bRv23ZF`-dz?sOuMAb9; zhBd&0FwU_$s=i2xYZ^{R*mm{p4 z1%oSQFFd|hpDtt4nTphTbh)bvbpGI1UL#j$;+TA4i5&M{T?qZe9^&RL=RXH-@w z2sfy?d)3mnX}1F@h$o`-vo6$}HMfqg@&9aDy^QL2`oL;W@?Y{bRZf|;+-Pic}qu$iE#c_|z`HW9D z{~)Pt_fXVnCv9`vj*f-{F4p{KQ9sA|mK9iHqXvS9ejgNfzJ&{aeqOpjg2`Ruy3z@okof+{ZB|B5xjug^Qa!K}x zoo#gm9o)f^gA3|0M2@7aN5WQlS(fU$*^P{d% z9fgjRdE0K#o7e4U4L5iA6;!$#(D*ZFMC?PWhp1M{opC=RDB3)i?-|8T7O+lop<0m*#%h=7PGx%<5O(tiN>$r&Y@6wGZe zv)uhV(r*#u2VLrJ9mlY@ui%QH=xH&p_kU<{M>&e`kDu{+dV@CTBZF2`znO)2 z8+{fqlNadcADuCVO;r3Ax!d?!F5LK`_2DWhcty2vc44eFy|X@&s6P6rqj7QOna2K? zjMtv6K-ZkpS=P@R9B&ZOte@U^*q`A3D}{N2_*$~ulX&^>RI`rlU9o0qX1-<7Z`_$+ zGoRp3N3#KoL9ySzQF!KB9*7(jz6HZCS4!7r%Q1~<`ON+L^lO2zOCtAXbXJUiEz%BL zOo(?T8ZeuT(Rb09j@NuCU9mQDxj~)tLj!8@2o^thfWV8Xiv$#HOm8u>h7>RbyKyY3 z^svR8-`auN&qf8iqD6dRP0L%hb#2A;sz=}jfaXZs#)}(*o!$)zXZjir*=qxyAs@Hg zz^|&}?dc+aE0_gwE8Xq6HH{31ZrPaSzm;Qd{&a8?$@x7jaYe8pitO~qc?#VAGso5I z#5ex;rLiQDe>xfGwmwBZLku?;J#rO+blge7CWy-GcdM$goFOYCi8ZctG^Z1D%~8Il zoK^9vv7Tak9<8_qKr#+Iok1Nn5G7?Hwo1|B?5LIch;pCtsI@&Qk-po>0YvJAg^!5? zz;}?qt^gkkteu^itS*A_?2p}r1!cnk?d=NI_6K@@xhhh0X||$$gbSJwAT>pPzg1Fl z{xF=pC2cgGXzx&0>J zoe7)!51_m}Z^G?w zxty=_k4cEF)_TIg-<}wk8*&pe{>tHT&D~_jI>d?nIh*b+YGEjumO8Ap3?>&;K)%& zt&zt&-b19~@MAo`aw0@ z={8gEdJ&BN>~j9d+eN(O@P1$ii#jR&lc#KBrb1L;CL6_lUxy^S9w*da<%Aa^v&iQB2C|R*@)05Ik&D2?kzq^{hkeekj z)dYD(^JtegEe>aqo@x~#wh7uaSqH+?)<}wUyDs!FGOefPT?Taa4yJ_FwOV9p+v=O|7pCa`8kGJW}s$o6ic)cKoIpM}_~+KK!^G zz25kpGT2_#zQBd|hbiPfjZ~p=_GX2KOm}walecE_R)=!=-&4<8fCVb96=}<9C#``KtYWEw}jj!jERz>f_ z!hKHg0LgpINowt46)cQ9&HTrC$ipfleS8D9ne}P{&++jaY^sEAN4sx+4-OGo)~wv( z0I9Hc;dkpm)@)nd$pzc+z`e4_n^kA*rx`O-5+&5(O9zU4%sZNSNL_h*&Gz>EyKOt? zPpaJ%{SYTA54LY|#h*wM!AW$GaG__X+3HIl-s%&>EhY0me!Yf^lWaU+HWKcPc<%}SJo})R@Sw30SJRe6!|Hwu zQmDQf${cLmFuY6t!zljSICk<%G$muNQ^d7UL>KOI#wfeQK74xkt zvKkvh`MO(`np3={u~6?Y0e`W><5re)6RvSNkFEqR$X4qm56X^%Kc7_8AEMG*&Ni+zwa~@dkEWuUGxR=1MlEGrL)7m`{@f|7 zglipyYsw>e?etay&0LMQcSUCthTr(BLPX}kdi{m=X-v%ij6;U_dL$__nt;+ZGFQ=v z2{%O`No9pR&BlaN5HBf2>=|+2xa^f+B}cSvMO!u_?~G}bzHIW?2T9gV0RUGVuA0_?Bjs#|q{M5II# zlcS$Aq^@_CwM}+zNt z^766O5$n=cw*Z4#TPPpY{u#Jf<^hUw${humG$xN?8FTHz$G3Go#%9k%7BpQNYK5zK zg4qswTJjl4N8IG#e)!iU;B-g&y1`hK0>h!n5=o)VpSzYq{~cO@&gcI*b z^__ahd&a;29><1NA(>+`{VaFJ&YAWDt+kJ`Hr1l{z}P-=HF5e6dwX_?^td^42`*+* zNlmZ5B%;~Vad`jvPK&k)x+thAl)!@R_i%-z(;8K;zvk;iQa+uUT$-h$gj+kQIl8cL z+U*;MwW!~oa9!DEfBo%jUzL;FJ1{^XTjH6p$1_y`OfT)JBJOuJaDO!B>9ov$3j5-I8i z;S8Im(ek_vbz{7B+s=K?zF0ZdvFRC+AtqAM3ulqkQ^~{;1|OZ_VpD(bG`cZZa&1?IZv0o z*ZwE1_%CqUQWm4Ict;ZsM!XtO=H3+a^umT+qxvqNC4h%xs@0o&l z3XX5E(83ak!L)#ewv@|~+&hsRRm4BzatdpfN#R5n6^87r>V383qW>B}+#@mKJ}deU zE3Uw$i|0$0rR*4iup1(5%@LJY^4mKn(`Qrd&3}$M6N3)2kVdvziP4OCaYRlS>+}{HW!kL z`?jI7apfVV(+e-ITXoD^Zw8v+zjRaWOmLjM62x+Fb&f{6rQv%Tn;QBmEUmRI0gSmN zRX@hf6LjQv(74d25#TZh%=|Hq9i8l7vCbdsE+<&9+#J?>tHHIW=QB@V=V1W$g8i9gRfwBPN-({lKFoC%$ot{8+gdCxvW}>_kBwGptkq} zxO9XX$0MyxQsYGkn)VNp@0+_9cDUwQOH0`ay&z+ymbMJ1jo%^Br_$W|*1bubVjHJo zX$He+BeYy;sm88;uJ=QWUWVLRd2ioR62_A*MPCaM&+a%MA~cy$n^#S(R4kn@dpw=5 zf<2BDW(&hw5v^l(r5Wh$cBzB7In#3!1QG-kbDQZV9jlmJY7?!uar1q(AfzijRu4Z` z->D2WWcYACcVW#re*M+Z>uhO2;MeiWFgMDXPK9(RVL3X6o+(kgyls{K_8*`PH|b=G zkV>|4Y%*$wVt^e_{j0~p&w~Otm>MOmdDnBF!wkB$@7|`4IX?bZx*CB$+uQW&lbwDc zWB}!9J;<4cm!TMweSroXyI^Wz<*P42QDK`ccl*z9AH(B6>uIzPzLT*!@XqBcO!zzN zkvV0dE%7c&qE)0b`v4L!!ogIuQ@kKKO#NM2?VO)HT{dINy@)h;eav!~s7lrz4!k~O z4oVXfhQTfmvI#C;yMe@b2F!@eA)(j@sFwMb{gc)l#kN#Gr#0)LiB45=t0YulR4l~m zRyMQY_7i^nm#-SSm}nM8tA`ukd~~V!#O(Qf@S-hUqNH0C)%)4=Q&7RhdM_-RBT7A8 zl;OS|*(c<{sC@DM1;zD- zof*+)%A25MsGg>j8PV)YAU-x(O3b;+egF9M6QM(nc15WQkokXaN(tJtsqp^5PJ*`-j zC8;bul2s_zXDDafZAMd+n+(U}sNV10)ROb!_xhrPpZ9*+dWHDXta)$2D9lA%{IoPv zN=&;9nIE{cG`w)S@wlKwFU2aJ#M+xN3z?S5Bd2R|#*cfvK>5{W=wiCohR3lzVO~mU zvMGH<)BPCBZ6hl=6fFqUO>-ko5u%892d!(OJbfU_)n5e)#gnwtK6Q4@-ES;?Gd(dN zPS=$kpWh!8ke0BwHWc_8M9x?oDH(fp4lP@MZiQjhIJyOkt@`-F-4d0*@@ZLzE_*gQ zfo8og4^wT;#DK!(_CBmXQ3ttoq~yeP$Nb4yf~Sbu?tM5YH%HI&9W4_Or(v1QV*&76 zB32(FHog7?Hnco2-6f-9sski2XQycGej|=Hb)6S=e=ZdXRgMhoPk8+{p2+j$N{X@t zl4>ZkaCEoh@2MFq=(^=%DZ*3n2mMqjlIt7-G)vNrh~E*!=1b8f7$x8W(d8a0okei4 z79dAm5h4GpJR!b)?m`V!QkU&97RggKfo^Cf?*?hK3LNl)QsK)HJn?b*AAqkaz(W}< zgY|l(!I2NQ=B3)saKouG{R1u_sMPu#t4+SHpSrF`q+KN)HHhD zG3wZg{0#zYqx^yzHC|xDPx%MhsqveD1kXZ3ewLmRIvMEH!bz}ZwV1~6;URJGjCSai z9yYb1;nL6Dm+|0Fi<;xUjE)PQ9b~F0AT38uYlbqbr&#?AiWw;{wg7RETz*(fuoXc= zJQt0egEw4}o7ISF#`OOD`Kncc;mSbsF8pEB2SGRauH?1|D2%U zqGtq?OE>J=67p}A=t^T9lFd?Aj*{9R%ba42$3o39{`S_HhN$b&Eenrc8toz9B_bMt zmZRT?{lf7f<(=jfCnxL6+i(>7?JUcXv9gD&s`6yhM+ef@r9|8OP^0P*{5p6a$=L4xl8KPv1!EgqnMceEl2~-ujPEL-M`zYO#2~I@1{) zoC#%b05fJoiZQpcHia4TgiPg(%PR;#}O1@pH zoH=uSIRt;&cXws+4{G!8yLCXVKJoo=+OG#x-Le*9+@teEV$Z&iA@!KBc3$<5o6JxO zk4K?NOG|riv1dnJ^gP}`-l5tKCn->$V`Jskuf?5-KR;Ehv>W>?G~VdJf4cnTbUe=Nx@dLvCCm^(b} z)&p;y=3**8&y}QukGEO!7S&G77i$+4)(c1AGe6uu1VmfeM*BMF1KHalEPX$dvah%A z>S=98C~?u;P8siE5bF-1$?7r!Yz8B5?e}E`)BFcG6#?4@99$F+ogibsszfYLFci4| zp8jB9IV<(CYz9}wc<8O4z{%>PBp0w!XWNELrRa$eoI!8LC7aiuSUpZBQn?J|0_KE{ z<1ggI5#Sz6KpNEGcR_MgY_|bF6xdrr|NMf^i>Lv5;Q7Xhh4^(#6NHG`8) zg<-ug=a&1y&vYhJt%YAtEIyV3D&Zk_VqLA%nzkogy6Vk~!S+Jc9;r241@3Z{v8-)l zt)V6IQOliCl(-z}T_lXh4yG8cHiN=3K)aNzl%cmH$OqDD<^Rw z8+Afg3n3BpmM9TUUe0{6Ite=LC#=ZYyH`+w4);@Xy|U6@ZqTt$)if&*APP zPioG+LHg~%I)PIWO^<^3H-^Ax>_82n50?2xI^a=s>>YV8>u;iHa#j z&uz07lwiwGmZAzF?9^X);d?!aWps**3o(o!<@MDYXBXWJTLZ>9I_-@4ec*%Rz}wL` zP6x~2&bKdcj2A4%&t77Wyt#;?{b*4l%O|EvtVQRnrN{1K?ip=EMvyNFv?HvXCy}xK z67rqnRjYlqi)rY;+OX6Jjbn?lYLaO68=F317DwhtS=eP{)8={N+j@~r2}ss`lL#<3TY{1aC|@V# zP-hw@g}s4TBB29f6Iok!>xchq!(=68bcQI0=1Y;bsR!12txM zDbP52($%#GGd`P~?>ksuZai9-ZgE_F$EH1Vwmi2o9kXDvG*4AOmnsufEJ0f&(r)?> z@JFu7@5!IqqM@0osewiTu5w^6zd->uvAlz{Tr{o_BdedBGuKk&hyb?x;p}XsU9$Dx z%e>IZ6@2lFd%#zT=(PPGb@TQUhCf>-^z?^L(kj}Ok}l*@gu=&N!L-(hs;NfJ+WYCp zq389P-R&wC5D1@Iy0l;EK2govPdJ7vfwOcWxbFo{KV3}-+Htq>KNs~iG3pAy8I1(E zIwjoXCm_I*jFLPq8Qae{d*}t$O4SN}WRwL=gF$Ky5gH1Ps9k$lm>0{O7xcKT{brLk z#RxMBjPSyA41`BjiyMekG59!%t@EJ)lpZ3{|8uL}Ia{p=9y6o0H80$cQdo%}I zi_;NtVFpUk1mPJI?kLBI{4d$9pCD*akLj$_^Ck!2(xm0KrfCqCWg?Iy3aCI?F58Ns zZ%Uj3mtd|VulH~dNxNWLYMx(|hO5Sup`UR~F#ZrNf69FUHYru^lWNUSCnE!DCbiLi z8{HTM0sy2-aeYP3})*ftIT~>%n<7h=i zfKe;U))0{?z6;seN^v~Q$h6^A^X`tdo?Cphq|>Kt_C^0#$pudB&qXyETI_n%-J#cW5a zCKBM4rBqRT2UE>wL@O1zV|_u{9#r4>x*s#`mcU_8uprz&k4OFi(LAgIad`dvcL#g{ z>LY5j2eGr%7p>5BS;0v=5sWxD;H@qjT5as(&-0@t z@q>x9_!{8##Z8DjaC!c@2Q6OD4|%|DU(5cVxAaDLq^xRs!=tZGGM8zfoW8B&S3bN2 zC9fo^s5<)}$6+b93Xuqj_@r#s)ZR!lqoM*qn^Fa)nG9FGg8*^Sks47~JWg_sv>9R_ z_0ToT)n~WvCRCAk8Ko`D-#2tEZNJ2$QQJt~x%YDTFTP01iaK{!Rvj1WaUmj8G~2^a z$odUw@v8UlYZL=#_B*Wid<36u((QEp)x*=ds#Tsk0 zH=}!UX&<-il-89==^%3# zIH2{7*hBMEgcv(H>3@K6_)2P|6~v0hUA%1%g@YX$evuS8X-rhEHOK=`vy=Y4jxF(c zk#uH?IAVAn#$RUpIUB?#%E@?g#hMKKZ&V1JjYfm)@t#Jt+9oJA1B!+xz^I?!CeM<2w^T>O}9E`nUY5& zc)Vgq=HXtS4|Q&ssp!^9j@(itf*Lt+f3I*&M7Lu}f0kn~1?F8I{y7xsBXCDE_|XlL zkxck%vS6K`65@Jsx7Kt5OFmNx;)v&=wrjQG-#aRn$1X{_Mq&mESig^DYGEKf@k(s$m>-4{xD=w5eJ$M0?k$Nssq*kA> z+~M)}L@2;-BSe!<57B2xuk={TdRbLZL$V^{;+hdLSF%-sON44Wa|CB+XQ%P5^?P#y zp~j}B>2yk2w)CgKPKmIgd(YR#u*8r?oz6D32p`>~nbI};qRVY*JLQ0H$v;L1is<`r z-!j>aP+3Ozs#dv9liehIZ6%sz(3?3=z8%{OI>f>-{9B)iU+}R#k!CrA;rSl~kiPepbS$SMNs{@A?A5wn!EsLBzWRVSGd-enKRS+HtLo z1Zs&4+22v-|M?J84WqWbeyl#o9o#bO^rmB6gU~Up+>rLwif74dF%^5~Db^1NIuXX? z=(Bvh@YO^kU_}h49)sTGX{pjGkB{OBE+9-9Y1gm^L-789P{DSijufyz08A1M`}zSj zZi9af(BuvQ60Td(us=~{mIdi3YDiOJ81Q!22Dx`sP!omzs(lpben?JDxLKJmc?~$i zuj_!DQ;LND4i@I*p3m+M4yKEv}rUe)jE3JDEIZi6=~X)SYKVLa?ENPMWJvh z-9#WGa8n(Fu($V`G_y(nSuzaAXplz)lb5+nRx}Q;es67N?_|aA?KI^eKwXgF>JB7z zGjJYC_-9jtCAKia!atH~s0mCiy4EioS%ZmGBrM0ZUe>}hS5yKdnk`AaeiH?u%`ufD z9>`mp4`?4mP=*`!@nC&kCH#_MU8-WFF#Kg6c}I71jsJPs9fw#cg=- z!Gj-EUlwp)7J7;tvv>5XVtTK%wV!gUpJj|SIyOuc?(0`c&ARmJf(Gz4#aUpk#1f!* z&>mf<_Z+MN-Hi}(ws=!GZrAkyiI%68PVKu7EOpb=-BIf2pf1;pWB&m2K>Cj)r_qa7 zgB4}>$Qn8Ex1>5Xi-1Zh%D^qC2d7H5_>wluNPmn$R*R)t2?F1pMB(Qc@G||2?4E#VqgS)lb`FLT{7;ht$!tQ}wR%>-@`>WKG zAU~vYi72RoBev=dyJ}SFnTrVW&Qo#L*F>j@Y)_C>gyE*gbhn{`kA8 zSa+Z)%0lpTKAwy->Bhfvl)_&d>0Dz6{uWLR@BPt<&;A@#+s&FZKnuq5qWY_kUMLck z)n=)bDK+MQgC*Mi(6X{Lz9YD_N$YiJ5c3}@X zD!_jWI<5P6{QlicZ3nVh_lFn$At!61u`Dd7tNA^k!?#I|-QyHR8)G$q=zJ6f&NXzH zA13v{t# zwg(p?FazZAr|LegJD!u<+^!f~x)o%rfTr_qBy=INsAWup%2M5tI<#hJWsJrjSAy6C zk?b-lpyTk4V-mXFE*IvXuzJQNAXvFSL9 zJ!f}3xCwiPf%*}3s#suDG?U+0Pq?7^`o30mG^Q(mrOa!!O3+DxX{egwFnn(3C~u%> z*Vvwei|a*8mvW6Feb&o;gV!^&mX>5iJZ9%KG>D+>vElm{DoHR7m^~T&JEZFu27*u0 z^$2{(cKOOqVPbs`kg;{JX{a=&nonv2fEkkCd0EJ?){ij;gD+IK~oCc)W} zE|Zk*1`>FfS%Kz6j#o7QO{K)vs~E#{5kZH8t`1do*u~f#$K3@c6RgcfY9H)PtfU`1 zaSU=HsO<7HAEuz@w@{>8q6Aez?s)W)`c|jWL}Y&UF@~ENgnDY(>{*_L%+Hb(B=jC% zKqA$rAOXVa^QWE5DDtCg0-n9XxIn0t$b_`4OGUa9xI;xkN$ofFOV9DTaW9#qK0qW& z+8qf*WmMI>#P;V|YfrYi2#R)d2ua(Wmq|DovR@pw2l)Q7C9Cg@hww84ZL70QlL_Mk znAGhKi;B3mD~Vt8Pem|R>L059HoRyxjIDG`uhk75pLb=vDrBsH)>p&}sCcJGh%t`8 zCNKaiWVina(Nh0w1y;%5ilr%BXghzN8e*bLF~v0Zoa^6TH5nc8+~&&ljSE;dG@PKL zli4q%;V12g7Z3o|0Ur3@L?mkddf_^j`ru$ggcy;=TC)vKt>e)ouxIJQ55=uv;*tUm zo==^YiqKaVgRGcK<-wfYqkk2EU@3T{akXNzSG0;VvY(dSgpi@!`Y(*DVqW?0VfZ4i zfrNdkeN#^Z%Z7~lvwO0oOUe!2J|@8rkQ~+ZzrqSvB1*QX+6K~=Y0@c^hjE`$Xj_gg zImUA)vpDZOwXcv*@#;gO4iZ89uR||{G1Za>%3t_gy5vy4ulN%Xfcze=KJ{F22f`Kx z&iLM6oP3OIq%thAzY?kFul2+m28w5O#mU)1LTIakj=RwH6r9bLQ5+;wS=EOaA5BmP z66lLCF50?v(H+ti@FtjNjnUoEh{s$a8WbkzCjfF-vsaD!wT*Jud+ur!<8`ei^~CZe zH;s!0!X4M(;c#=kjsfOEMJ(Uo=6_@hp-gM<`ly*bzVV}L&n$CK0QK6~)2-&pp7U&^ zXMLY8=T5|uL`sTr&S~AeDcC9MVcBHGG*dL+=@VSvl+Q*2G)=#oDur|A8VvCt$6#yX zsEr2a29+IXsGI&FV`4Xa)?HG76}ZPIxNIw_pSEQrrN2+MkV=FTk09;Bg2M+Un0y0(&-yCo^;WG|?TgF&c6p7%O@auo`=t~rb?v_)Bzw&BR;&SByjRPE ze0}k55jq|NE*+5&Z)7rJptq=pyxL{l3WwzYr{#Vuj@*+e0q;{ z;2E(`^JVcHL=#(v|0J8kM3F1T9=+L^q-R%0by|mHdG?5U68sjTeV6xoTeHWV;c7IQ z3WvB@1>!I}j|&Q~Zfde;2FYOVRg~10YJ-fPvTAI@ceS_d&uh%mtblG61i+YYs}$d+ zQJ@6-;Wt-ruL7+HA3CXBE0eLV!S%_W)UtU{dtGljK}K8p&~NIF=d4)92H0%=Mw}tF zZ}3StUpH^~J-veUFSw5{>RMvgj{GKr21T_o-&FMtKTF_~*8xCHdnQk>K~7eDZAd5();DsMOl0klQ^O_Ak%6ciDqeE==Fd z(!thQ1pfg7k-{+9<5eVIcFOpYczAn&RVUL48@4_omfqGOQ|dM*eEQy2@6^sZQcA&v zNj@m+iijHXG+v_|ML3r9rW8Nev4`?P>rPo%x*=WOi}Bbo2Ua@dyYeK+?r<+*bL3-APw$gkkk>^{ygwFZpHqLwb1YjF|;RiZMh9D z%={8-iH9-3_vOF`vFS3CC*583ziKmlcn9}itH|w z3sir;)YHv%y>Li1Ji0#;a#15Cmc$hvYH+h~;(mBPKdy2AW$iEnU;U8esE%>WZV88o zCAfm`b?M_M-e6Iet=b?#_XWE0a^fNWXUB;tSEl#!0njdZ^xiGHA-hs01MOOnL96X& z2-Cf(f-C2^Z1x_gZnPbplo#E#w=$egBx>=EA4kozU>drn^qtv~a+vC;wclcBL7g^WfA5DF~`UABT+}n0^5B2L-tJ5jXumliL1?H z{LB-qA!Z=_@vu>Vta}n_;2BQYMN6Krqx&BhCh2fmS*Nkr44{j0H7$Y-qr4c~xUAp+ z&+gOiUU^c_=it?@^#W8z&)S{iJKpOm`g$Kt8k^#M`UrJ;;LB^}EpzR^^szhU%^whI zfjc9;(HaSEZbI5>@6tB~W2D_8h66_KTDJ63t&Ay3i2h=qBL6C%>1$8jzQC+ zGhb=mW+hTiY?ejBv{FtO_tc@n=PraW4Ef|+Rf<7erqM=6yIZA`m3?S*nNPX()xvKz zW8Do-hnhMr;2fE$h88X0colzwYRv|z=0C-S3Zfd zpZt^bD2NgSKv$q^@O+?aa^&6Mcv1`9T{Pqha+NPkC(%?9=gDotbsC|H<1RoUhyDCq zsF8vP4~rvvB$^bWFp-ADQ!l?W3a2Z_%&XM7B;Ytg$+4@bIg-Cv;fcgc|FKl8L$7zp zgi)h2mFj)fiM2nUS#{5aMsZI^oDgtqD^MBR7&6{i=+8HG)=cbf7^%ZA+R5tx5PcT@ zIp3~*ogdrbxrMR(V7z8u{O7z-NAZK9VPPuS+G{5!D9S6jTu;#f*B)L1vys&Ebw9VB zI$B0J{MXP7@5Oexf0^Ot8OAf;?cIK^9{^{(d|Z$?=?njHGgeskVf?dotJnKd^}16| zCtF)L8h&fK%@I|#bRr!sjK6zU9`+44v7J5j?+nkZK3-0;UA`-at>;EYx3$S{tcad;2cmlx6E*+Bcq6rDea1 z(SKn7-={cW*yX{&WcGTve}MdO21>st1BqTkc0L41zy1gKe~zkCl#j`e#;1=d_$A(a z9aGiY8?|%uAK>DhAKdeBratzvl6y*j8WV$F#I`r5w+OWwuMyV1g{nPYW22eBaVQs5 z)-TV3T+1tDD+>CmiH-}p*zVsxL_&`S)Po~9L&|#p14zci%U0mWL%HK$W^Av{p4HSg z?mlu8G49K0Ul#7=qoS4)*c<}N+xKjX%AwY1wp|geByjP1ZqBLW2?NCo-K!8z-yF8H zw%W{rnCr$;DB^#BXVB*ngekdHTk^fzx(x?P%JK@h-st1}V#3!@(Y}e(g0uesqWtyc z7>VP*34Run?HSK44aqzPcK~(op0R+zp`-; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map + = <0 0 &gpio0 0 0> /* D0 */ + , <1 0 &gpio0 1 0> /* D1 */ + , <2 0 &gpio0 2 0> /* D2 */ + , <3 0 &gpio0 3 0> /* D3 */ + , <4 0 &gpio0 4 0> /* D4/A6 */ + , <5 0 &gpio0 5 0> /* D5 */ + , <6 0 &gpio0 6 0> /* D6/A7 */ + , <7 0 &gpio0 7 0> /* D7 */ + , <8 0 &gpio0 8 0> /* D8/A8 */ + , <9 0 &gpio0 9 0> /* D9/A9 */ + , <10 0 &gpio0 21 0> /* D10/A10 */ + , <16 0 &gpio0 23 0> /* D16 */ + , <14 0 &gpio0 20 0> /* D14 */ + , <15 0 &gpio0 22 0> /* D15 */ + , <18 0 &gpio0 26 0> /* D18/A0 */ + , <19 0 &gpio0 27 0> /* D19/A1 */ + , <20 0 &gpio0 28 0> /* D20/A2 */ + , <21 0 &gpio0 29 0> /* D21/A3 */ + ; + }; + +}; + +pro_micro_i2c: &i2c1 {}; +pro_micro_spi: &spi0 {}; +pro_micro_serial: &uart0 {}; diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040-pinctrl.dtsi b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040-pinctrl.dtsi new file mode 100644 index 00000000000..64f3ab61e5f --- /dev/null +++ b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040-pinctrl.dtsi @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021, Yonatan Schachter + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +&pinctrl { + uart0_default: uart0_default { + group1 { + pinmux = ; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + i2c1_default: i2c1_default { + group1 { + pinmux = ; + input-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + spi0_default: spi0_default { + group1 { + pinmux = ; + }; + group2 { + pinmux = ; + input-enable; + }; + group3 { + pinmux = ; + }; + }; + + adc_default: adc_default { + group1 { + pinmux = , , , ; + input-enable; + }; + }; +}; diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.dts b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.dts new file mode 100644 index 00000000000..87fc157f1c7 --- /dev/null +++ b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.dts @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2021 Yonatan Schachter + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; + +#include +#include "sparkfun_pro_micro_rp2040-pinctrl.dtsi" +#include "sparkfun_pro_micro_connector.dtsi" +#include + +/ { + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,flash-controller = &ssi; + zephyr,console = &uart0; + zephyr,code-partition = &code_partition; + }; + + aliases { + watchdog0 = &wdt0; + }; + + xtal_clk: xtal-clk { + compatible = "fixed-clock"; + clock-frequency = <12000000>; + #clock-cells = <0>; + }; +}; + +&flash0 { + /* 16MB of flash minus the 0x100 used for + * the second stage bootloader + */ + reg = <0x10000000 DT_SIZE_M(16)>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + /* Reserved memory for the second stage bootloader */ + second_stage_bootloader: partition@0 { + label = "second_stage_bootloader"; + reg = <0x00000000 0x100>; + read-only; + }; + + + /* + * Usable flash. Starts at 0x100, after the bootloader. The partition + * size is 16MB minus the 0x100 bytes taken by the bootloader. + */ + code_partition: partition@100 { + label = "code-partition"; + reg = <0x100 (DT_SIZE_M(16) - 0x100)>; + read-only; + }; + }; +}; + + +&uart0 { + current-speed = <115200>; + status = "okay"; + pinctrl-0 = <&uart0_default>; + pinctrl-names = "default"; +}; + +&i2c1 { + status = "okay"; + pinctrl-0 = <&i2c1_default>; + pinctrl-names = "default"; + clock-frequency = ; +}; + +&spi0 { + status = "okay"; + pinctrl-0 = <&spi0_default>; + pinctrl-names = "default"; + clock-frequency = ; +}; + +&gpio0 { + status = "okay"; +}; + +&wdt0 { + status = "okay"; +}; + +&adc { + status = "okay"; + pinctrl-0 = <&adc_default>; + pinctrl-names = "default"; +}; + + +zephyr_udc0: &usbd { + status = "okay"; +}; diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.yaml b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.yaml new file mode 100644 index 00000000000..c898e1b5d53 --- /dev/null +++ b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040.yaml @@ -0,0 +1,20 @@ +identifier: sparkfun_pro_micro_rp2040 +name: Sparkfun Pro Micro RP2040 +type: mcu +arch: arm +flash: 16384 +ram: 264 +toolchain: + - zephyr + - gnuarmemb + - xtools +supported: + - uart + - gpio + - adc + - i2c + - spi + - hwinfo + - watchdog + - pwm + - flash diff --git a/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040_defconfig b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040_defconfig new file mode 100644 index 00000000000..4ec1c6cad43 --- /dev/null +++ b/boards/arm/sparkfun_pro_mirco_rp2040/sparkfun_pro_micro_rp2040_defconfig @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_SOC_SERIES_RP2XXX=y +CONFIG_SOC_RP2040=y +CONFIG_BOARD_SPARKFUN_PRO_MICRO_RP2040=y + +CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=125000000 +CONFIG_RESET=y + +# enable uart driver +CONFIG_SERIAL=y +CONFIG_UART_INTERRUPT_DRIVEN=y + +# enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Code partition needed to target the correct flash range +CONFIG_USE_DT_CODE_PARTITION=y + +# Output UF2 by default, native bootloader supports it. +CONFIG_BUILD_OUTPUT_UF2=y