From 37cc8084febd20a74e4f2a849a765a0fa596dae1 Mon Sep 17 00:00:00 2001 From: zhangpeng Date: Thu, 9 Oct 2025 13:45:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AEUART=E3=80=81CAN=E5=92=8C?= =?UTF-8?q?=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rk356x/.dr4-rk3568.dtb.cmd | 2 +- rk356x/.dr4-rk3568.dtb.d.pre.tmp | 4 +- rk356x/.dr4-rk3568.dtb.dts.tmp | 109 ++++++++++++++++--------------- rk356x/dr4-rk3568.dtb | Bin 170951 -> 170960 bytes rk356x/dr4-rk3568.dts | 7 +- rk356x/rp-gmac0-pro-rk3568.dtsi | 2 +- rk356x/zkzg-can-rk3568.dtsi | 17 +++++ 7 files changed, 82 insertions(+), 59 deletions(-) create mode 100644 rk356x/zkzg-can-rk3568.dtsi diff --git a/rk356x/.dr4-rk3568.dtb.cmd b/rk356x/.dr4-rk3568.dtb.cmd index 88ee0dd..980308d 100644 --- a/rk356x/.dr4-rk3568.dtb.cmd +++ b/rk356x/.dr4-rk3568.dtb.cmd @@ -27,8 +27,8 @@ deps_arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dtb := \ arch/arm64/boot/dts/rockchip/rk356x/../rk3568-pinctrl.dtsi \ arch/arm64/boot/dts/rockchip/rk356x/../rockchip-pinconf.dtsi \ arch/arm64/boot/dts/rockchip/rk356x/../rk3568-linux.dtsi \ - arch/arm64/boot/dts/rockchip/rk356x/rp-gmac1-m1-pro-rk3568.dtsi \ arch/arm64/boot/dts/rockchip/rk356x/rp-gmac0-pro-rk3568.dtsi \ + arch/arm64/boot/dts/rockchip/rk356x/zkzg-can-rk3568.dtsi \ arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dtb: $(deps_arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dtb) diff --git a/rk356x/.dr4-rk3568.dtb.d.pre.tmp b/rk356x/.dr4-rk3568.dtb.d.pre.tmp index c5d9819..3f91f71 100644 --- a/rk356x/.dr4-rk3568.dtb.d.pre.tmp +++ b/rk356x/.dr4-rk3568.dtb.d.pre.tmp @@ -23,5 +23,5 @@ dr4-rk3568.o: arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts \ arch/arm64/boot/dts/rockchip/rk356x/../rk3568-pinctrl.dtsi \ arch/arm64/boot/dts/rockchip/rk356x/../rockchip-pinconf.dtsi \ arch/arm64/boot/dts/rockchip/rk356x/../rk3568-linux.dtsi \ - arch/arm64/boot/dts/rockchip/rk356x/rp-gmac1-m1-pro-rk3568.dtsi \ - arch/arm64/boot/dts/rockchip/rk356x/rp-gmac0-pro-rk3568.dtsi + arch/arm64/boot/dts/rockchip/rk356x/rp-gmac0-pro-rk3568.dtsi \ + arch/arm64/boot/dts/rockchip/rk356x/zkzg-can-rk3568.dtsi diff --git a/rk356x/.dr4-rk3568.dtb.dts.tmp b/rk356x/.dr4-rk3568.dtb.dts.tmp index 2efe49c..12bfb23 100644 --- a/rk356x/.dr4-rk3568.dtb.dts.tmp +++ b/rk356x/.dr4-rk3568.dtb.dts.tmp @@ -682,6 +682,25 @@ }; + opp-j-408000000 { + opp-supported-hw = <0xfb 0xffff>; + opp-hz = /bits/ 64 <408000000>; + opp-microvolt = <850000 850000 1150000>; + clock-latency-ns = <40000>; + }; + opp-j-600000000 { + opp-supported-hw = <0xfb 0xffff>; + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <850000 850000 1150000>; + clock-latency-ns = <40000>; + }; + opp-j-816000000 { + opp-supported-hw = <0xfb 0xffff>; + opp-hz = /bits/ 64 <816000000>; + opp-microvolt = <850000 850000 1150000>; + clock-latency-ns = <40000>; + opp-suspend; + }; opp-j-1008000000 { opp-supported-hw = <0x04 0xffff>; opp-hz = /bits/ 64 <1008000000>; @@ -4166,7 +4185,7 @@ rockchip,grf = <&grf>; status = "disabled"; }; -# 3726 "arch/arm64/boot/dts/rockchip/rk356x/../rk3568.dtsi" +# 3745 "arch/arm64/boot/dts/rockchip/rk356x/../rk3568.dtsi" csi2_dphy0: csi2-dphy0 { compatible = "rockchip,rk3568-csi2-dphy"; rockchip,hw = <&csi2_dphy_hw>; @@ -7849,7 +7868,7 @@ }; }; }; -# 3872 "arch/arm64/boot/dts/rockchip/rk356x/../rk3568.dtsi" 2 +# 3891 "arch/arm64/boot/dts/rockchip/rk356x/../rk3568.dtsi" 2 # 18 "arch/arm64/boot/dts/rockchip/rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi" 2 / { @@ -8817,53 +8836,14 @@ dsi1_panel: panel@0 { disable-win-move; }; # 13 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" 2 -# 24 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" -# 1 "arch/arm64/boot/dts/rockchip/rk356x/rp-gmac1-m1-pro-rk3568.dtsi" 1 - -&gmac1 { - phy-mode = "rgmii"; - clock_in_out = "input"; - - snps,reset-gpio = <&gpio3 3 1>; - snps,reset-active-low; - - snps,reset-delays-us = <0 20000 100000>; - - assigned-clocks = <&cru 393>, <&cru 390>, <&cru 198>; - assigned-clock-parents = <&cru 391>,<&gmac1_clkin>, <&cru 197>; - assigned-clock-rates = <0>, <125000000>, <25000000>; - - pinctrl-names = "default"; - pinctrl-0 = <&gmac1m1_miim - &gmac1m1_tx_bus2 - &gmac1m1_rx_bus2 - &gmac1m1_rgmii_clk - &gmac1m1_rgmii_bus - ð1m0_pins - &gmac1m1_clkinout>; - - tx_delay = <0x3a>; - rx_delay = <0x29>; - phy-handle = <&rgmii_phy1>; - status = "okay"; -}; - - -&mdio1 { - rgmii_phy1: phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <0x0>; - clocks = <&cru 198>; - }; -}; -# 25 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" 2 +# 25 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" # 1 "arch/arm64/boot/dts/rockchip/rk356x/rp-gmac0-pro-rk3568.dtsi" 1 &gmac0 { phy-mode = "rgmii"; clock_in_out = "input"; - snps,reset-gpio = <&gpio3 4 1>; + snps,reset-gpio = <&gpio2 21 1>; snps,reset-active-low; snps,reset-delays-us = <0 20000 100000>; @@ -8896,7 +8876,32 @@ dsi1_panel: panel@0 { }; }; # 26 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" 2 -# 78 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" + + + + + + +# 1 "arch/arm64/boot/dts/rockchip/rk356x/zkzg-can-rk3568.dtsi" 1 +&can0 { + compatible = "rockchip,rk3568-can-2.0"; + assigned-clocks = <&cru 321>; + assigned-clock-rates = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&can0m1_pins>; + status = "okay"; +}; + +&can1 { + compatible = "rockchip,rk3568-can-2.0"; + assigned-clocks = <&cru 323>; + assigned-clock-rates = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&can1m1_pins>; + status = "okay"; +}; +# 33 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" 2 +# 79 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" /{ model = "dr4-rk3568"; compatible = "rpdzkj,dr4-rk3568", "rockchip,rk3568"; @@ -8917,7 +8922,7 @@ dsi1_panel: panel@0 { pinctrl-name = "default"; pinctrl-0 = <&rp_power>; -# 121 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" +# 122 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" otg_mode { gpio_num = <&gpio1 4 1>; gpio_function = <0>; @@ -8926,13 +8931,13 @@ dsi1_panel: panel@0 { gpio_num = <&gpio0 5 0>; gpio_function = <4>; }; -# 169 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" +# 170 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" }; rp_gpio{ status = "disabled"; compatible = "rp_gpio"; -# 182 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" +# 183 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" gpio0a0 { gpio_num = <&gpio0 0 1>; gpio_function = <0>; @@ -9062,13 +9067,13 @@ dsi1_panel: panel@0 { }; &uart7 { - status = "okay"; + status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&uart7m1_xfer>; }; &uart8 { - status = "okay"; + status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&uart8m0_xfer>; }; @@ -9109,7 +9114,7 @@ dsi1_panel: panel@0 { status = "disabled"; }; -# 417 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" +# 418 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" &rk_headset { pinctrl-0 = <&hp_det>; headset_gpio = <&gpio2 27 0>; @@ -9158,7 +9163,7 @@ dsi1_panel: panel@0 { BT,wake_host_irq = <&gpio0 28 0>; status = "disabled"; }; -# 515 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" +# 516 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" &pinctrl { rp_pins { rp_power: rp-power { @@ -9198,7 +9203,7 @@ dsi1_panel: panel@0 { <3 2 0 &pcfg_pull_none>; }; }; -# 569 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" +# 570 "arch/arm64/boot/dts/rockchip/rk356x/dr4-rk3568.dts" }; diff --git a/rk356x/dr4-rk3568.dtb b/rk356x/dr4-rk3568.dtb index dad98565aeee70b7af7af226705ae4666a61c9c1..44a7af41ed515c9c303c31877bedc8b0df9e0c62 100644 GIT binary patch delta 22683 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 delta 23040 zcmb_^3s_ZU(>Am400@c#0)lcrDBuP`LBRu|c>n_w&y*N=3KSHNNl9sGWl1h|tSl)_ zEh!Hh#gvrN%94~`EiJ7mEq#kOdCSU@^1Em4y|&8@|MmUXfBpM%F*Elw&&)jY9M{@w zTVL(+VYN$Sz1u(kaZq0T(80kW$w8TP88i}CXI$>M@JYP{ymD{kQAgTszUmn7NPEow z?Gqi<FrK*?hUntDVdrhkQ$vYOW0PCb~;K9=@B>)CCbc)aB7m zYDi=S4O5RtZl$}`Sv_~qaMiun4)vDFNj=(Yy;>0KtmZ_mpiyc=)D}ut%c2*nQ{tT0 z#oVIN`+66U>KE^(E-|g5%yqE^l%*ENMzkG+2uaO~?W(>NJCg2IZ^Y)&ST!fEnzGHF zecBU^Q~l%ra6SSxMO1n873!w;OUO}QsCMCbSE#GnukQf0F(Jx%yiMmh3p|}BsGIvP zQ?K=RRs;K$&?I$zzY=w7inHpTSU^+MQvA(Puj220=Io>wiS9Qy^-m=Ar!;4CY_f^e zYeQYtf|N#@W}Y~37tsT1o543JZ{Lt*q@Et(WL}Y)OLV||`7VSx-Q1YwNHoLTG!$f} z`T8)BS?Z0uSI}&8>F}{c532PeE>VG6HL`?!)yPrbP@(FSzKrImbq5O6Yw6kQ;eB0H zx6EL5aYiJ)q*i3CqPf;G7xksleQ2{i=In+}iu2Pp zfAjvpDE#N8FmuGFgKcSzx#6W9?dh3y+r8B-uU({P&86Et9BHju{(1qGtIe-J?fjfx zRei;yDqdv5W<1sbGbuE0(}Ty51M zD+TFt-pY&4&uZYMfVd}t1Y`C*VWAEmST#Hy9NdzuWvf7~dJgZa#g~#tJ_STtxdzuW zxSqwe7FRhgiK~r+gNM)o1{ppbdKzRe@Xx80l{0Cbnsa$VXWcXEDi^e}#$=BS+x#dhX9?Ko6m z*2Q~mvO`~itgOp4b$;HiV2A3nH@@==cIazr&AxbgQEl3nhH0E&&ZCVI5T^MFa~i#@ zx>lvp7B#EtCaqG7i$c`Xqn*u5_Kzj?%#odHNp+;UCBsQQH#(Xs)Y!}jV)aJ#VD(z9 zlX>vLi9|1;sf%IV{m=w76yeeL ztUNC2S2d&5YkL#uHLcnUSbIFxP48Tz?ds|y=?GHHzpQ0&+0jVapt;x~x?He`T-6S> zh0brnu(o_`ctr_TpLjPx{k+x}ZEC75K+rkwE=Eje-z}h5%|qV1;7q$z|GJsv7RqCj1oxf8#dq+1ARVo~Ix9orbb-HTIK`u-AdSfoqqcB*Ds~ zmNs6ts!Kk3nkv;cr)Ic#-i5+STyLriP9?g%WmWZogE8vCQ^AVoH1*=C5L&$MbS8Q% z>-1Q!7aiLCx5BC?frv{|%gVgf)2IFEfZBL^?3m-gaw(RAi?)ff2%^ZmB_lk@9Zv6vPweGP)>ervnqqodi{~AwIo)=B%&Nh<0d+aBT3zn&Q(ilMcxm=PWCMR3PqgtqV5XqMfUE&`kx6?yvP2~i79b4^8-rWWx;^gI!|I6K#4y!5O zhj;ZD1+#_`r|r@;s{32s>e}xEx_accQv42z{ndu=pT@FY_=7C#XMdPL|5Br``1Ld{ z+J?p4)3E${Nj5%Ii?77HodEX{u8(n@T-W5Ip12}Lv#*NLnyZwsPcA5A5y9242H*s40QKe{!L|@#%dY!lGgLsBpdDQjT)#0c2 zcsb$xzq#=y*62qrGOQ|6w|H?EWSQg zjT+;u)?Lq}&Z_@!gUMaZ`Ry82nKOQmqPC~u#zC#W<*llJtl_EkFco>@sI$N_15T?= zH@3LdgZmVh#CryVyoY+|PcLdv>;L>v(?pEWtoUo0+gWg*;gT)toXjQO;zAwN$v5B8 z6lG;Utp+ylc9W)lf$K|L7qo-L(V0$ahrf5yX|?L_L^tX4uW)^h>l?LvhPT@3pFj@y zSXQflD&hO`KQk#&&A7E373yv+qi@9s_1#cRX01_9(kLEGl*PL`kTY*0y5ja7tX;x& z8Q1r`MxkXJipaUz-I2Bs7p#Wb!8Wvle&Ce0G=ZwB*S96yIh>0Qr2Pll>+FH*LMMtK zs^<01bd0X3S#J-ggIwVP;i@LQ&6OP>{96RR<^i*{u5_4w)Z_v$$aQXzf6|m|s_Q$F z2XT}S@WxIsTjWbF)o;2}H}Y*np#Q-oV;3XEEgw{{pShtkCDPGqpDwhVg02B-!u4NV zqUvf@)$w06b-v~Y!+(0faL}*Nx{m8NyBa$FyQPMyJ8CTSk{W+NQ;tu6+SSnUzbrM1 zdXPu;UtP(W_;esevN-_qAheCxBN*}@fsh~b75Q2)dh^^ce@+fYCmif1S-2Hq#nMB7 z-S88vQ6Nd2%7`lz}p0MTL-)5MRfZv<+hBbP-| zBBuw_R$kPLym)Xpjo|8@ygHoB ze5^MBoT^7qJ#UI2GrBJ&f~IhQ3EZAY+C?rFz%L#^ZBMGE4jMpb_-rreyYlKNnnGv! zaug&tP2$5TP;QP!?T!|}G!TGmZ`AH&(LYxmXri&y7JD3Z<|VPTymJ?8pI{=&5W#(T zR#6(K$5C`!Pl#Sz8b|4EyMpzuu8X6=)EQ?|eL>Wgrt{VQ@q|Y=UsNX~U~qT#yW&T=OdJ?U6r0#q+nbN7dHdDXk5h*s|0@vIYE^_QZ z`UCgkVl{mbWe^2u{Ncg0geXwEfjBuAS;0As&Is2o3tY&(;KmDAaxZeWKMOfKCS2Pw;5^2H8z)?zaIXnx7VbCU9J9d< zyBFM8;Wh}jRk-i(MdE(RM$h&g3+}FQ;2sxl-8jtO!~RJB=VK|FKOaZFT$#}XKYXb)0R4$qX;F$?@FCP}}Kf)zW z1~+;lxD}HzwFd?$E_`GnfdHj{iWC1c5r(^P@g(ZOTLc(234n(H>AWQe zx;G|aO*u1({L#RsNf;G3@3Wv@JZ>`bcl3U8;y=XTDL7{Uh?yiJxetY@-1DY9D0aYQbfwveBiLj607Q=^hEpPfSS6vP*o zkPipuP!#xR;dka>b)A<(JpeT3T7W3~`Zy3&Jmkk|?8W#f)a|D2IqJGrBs+}Tc+UDp@@_DRT&7zVug0ql0&bE&ueNK$%m zPA-{RzyZ8Dmj(w(=<=}-Ri6lf+^pAzX9r0!ir}y^9}Xu?qduBt!R100P}ZD}#bN(6 z3fIg--$5eP$}H42&qBC)nl%bhlZ3RU7RosfSlb{`NS-ZGoS07jeDDEkF}aj*zK$w! z(mt^)sYQUK%bg6ebRBfGi66n)c@%FOQZf&W)gay>qwEgZnj@PVF>S0bp%`Tua=L5` zLy2Ukd_x>E#f*9~#f-8{F{3O~%qYtgGs-f>jIvBIqijtF|2zxp^RawNLa&z3#zNpZ z9f!3bt`|Pr!n;36-mFfigcf5ghR;u@0}K`>CO2w z$fWg=s2PW@$i`VFvfKmevqoh5StZMvUM_tgxi-qiwO7imYwzu8Z(Mvu!MON}Y+QUr zHZHy*8y8=Zt&6WMFMwo`kGKd8*&I*x@dyUAJz2CB7Yylf5f#@4gC=eZFGX-wbms#fM5ON#9 zeWT5wu@e$`TOkb|6J)8cCB|sSxblf#NhogLXPRp_G@IFV*#i$A5;`!K|7R;rHxFA>&OU7Oh+1d+QQVan&yvucS zDLyXLT1`3|v6C+A^F+)VtJQLB5yc1T-t_f0%uek+QS;&mp(yHg_57fs!z zeijnh=<*ofD55mYrNA;OK*=sLC7E-I@%Si+T}yCtu&)^R1wou8{O{nk{77|K@r~7G zX*bGQK)9B`wF5 zau??U)^a6ArFZq%M3&uDmnAOU$r{f35F7M`67tsul<4a13bp9zUx3+no5R!W{t=FH zxxJKje0mvuC($0VQf9Ow?pl>D9!9?0O}XOvM#+jO4g z8w)5|8)4AULPe2%s7e}VFKoHPIBesc3tP$MP;Ok<@=)yXDn~DB1>VYqi?GOti+_A% zloI}hbIl^k4ANnJmWnJ5(i?DvqZeZ}(be=#&0g&)uUQP=0;8t3z+0S@E};PaX)(oW zCV*)ltqh#e)4w@oiPeO_;z?2!&e2O@;>9Ia6Jp-h20If!a-(iSI!r&Jh4aOwm@T80 zQk)irn3wiy=Iu=U#G98I8loSc!a4RKjKg1-QVJrv@em@)e27B9Z(dD)yw<{3Jw$1e z*kyRKlv4cZUaH-2*OUUkzf{9>*JF)e zU#gv1n+5;cf~P!;yBFVwDHzqt9>xQjsSi`2mU}}!l`&lYFb0oZPbv5E*@v;fhx3R> zP&48Y3Ix9fgl7Q&U-t++z4eF|f$MVcKU??=;d?LF@HN|qHp0d zgzsHu(Fft#08p*I41RZ)wG#3D+)&m^#8Wx+Q7z(4kD}({N41DAg785Ah}i!zc>3p2 z%~Ou>gC5iP&B8xo;V(W0*Y7;0MeM&q^euRf@Pk%Z^o4%}yluV32+@|r*<86o+ZAJ1 z$|zVtDJ}9^z(ZEzc}h43Za}ZCS&3f5Kv{{1&#jb*H$H(Bcs)+xfE%P^vme(wHdoZw zYrIC;|;3FvU}(u zi)_77x147sE)?1nL>48zg2+}K3bOLjZezJ@kw)2=BdKdV&x$PDG3hsD0@#uWUSxg6 z)g8*&#^^xbKJ;??L!Q2G=;d;#FxJ;@h7y433i{oSF6(zkx~$(F1@YB2l%6WEd_)b& z(9DP|aT;Z*W|YN^CUfmG7%b(_v>eUKBV7NC^^^#0ZDT@8Y%Zj!n#`M?#jqaxEQJQ? zQ5wUMK9qrEao7ATcBBK(T91zeTvDuuCbD#aE=w1H*Vdv(*>!EpbC>cMXRoEX(D)m zkRU#2A)7YI31k!X9utI&%12fhV^7L$r``inEo;rLeECZlqdqUmH!i9x;QW`gFI*yD2D}Gw zi>NyAbxoUVMP+mS&MVwGho8fE>?PV}V=146rt`hkzXN`q5_ zt=07HQ59=a6~2XpB%IihVv$AB*dUnhJBr#uecbz3V>%69RH zZPp0H0|Ju<**xm|tsa5C-->LEppH*$(;}!5PwuZ-A`m_ce2YgpmAv}3mP12%lj~li zv{c==wX!W!O9I!aUVR?>Bm-sYjZpjc81#sBiQT2Z{lmo?hNq3=TT5U+d}nuqypB{Uu1 zqgb9&g)bXY-lKks!>_#HJ*jk^tKP%6(s^&;d*!fW)SKSn>|>~QgtxtgYG;n2+U~dU zEpdnAl&CoT!9$NrwHv(hII6|(LABqGqgpM8zK?3}@`63uBHX+O6YH}*xRtnt}VUmi)1|m8ZM!bL>7mjgXqs!*aF*Ma@lz zv07B@(-yQ`Gj_Kh_EDI9{wan1&FDF)4u`gVJA}8Hu~3wmTkdws39dpF1XWQ56{jj| zb=0< zuDWuDiw_z)SEi`ug`M6;ZZ03xa+C2kOozYSvU8QsIp=L_@8~^Xseb-Nq^ag@ocY9~ z1g{?nLU_a>N&6v7+7C(E54B?Y3*LMP_iB2;`Uygptyw1GCS6T}7f+z}X;QxAp@$9G z)K8Z7))d}(Sj%Q$4dVLia4T`)4XYY!T;fc2o7NnD#VczJiPfKQhH%D9n4(QJ+J2k+ z4!jI_rxhu ziTd&pcW4~xvfQufvLkr-(01aVIrI&zt)gatmCKyp8vH$P1FSib%;_7G)D~IanCz|n zz-@N5;^Yb^)Y4#^H3<nmFc_$NM&T_Q-dB|v>f>au=Q63GqwF?-YBq{x=>ta!7vD31ZP*_8ol zOoSYdG?|AU!;;$fEj&-LkN6trztu{_O^jdPSt6E^<%CN{m(&(nU%3$RA&emZ-B>W~ zE&rFZcei5s7hVroi&-og$D7EK3*-o|iFv+{nA`4YCFbj#u%{Kvzj6NiG&ZiM#e(h8 zvo6~|iGVllHu`tV_ejm}8@}O^NF<6Nt1W$@*KO(FBlYCk53r)Wo~?A@Cq5wGAW@J3 zqmM~lwtaWPLq5dB$M-dHabjF_<;*DEq{}iyMAqwyjwW;Ehj5nrAw_A8lpyuGqARk# z)athMM*bz=V)*id;}kdk?nCm`oLgIYhjV?*=+5;q)srhuU~HzHpbTv>ksxJMNR~o3 zeuOq1IYDu@bw-aPlyg5qHSdooDM(@xm-3PJgj%RzT1WiD#UIgdn+Yq7vrpi8JTAZV z5kl5{_7q?f*Ph0E#clZfX}qhO#JTmvoc=Ey&11z3UWd&7 zl<++opZF9n-nX-O=%W?I^UiU%e_N+EsVrp`X!OM0WNw{0Jb47krMx^UZSzEaw~m7yO_&mZQ&8GWF;B zFK~K#`aIs39KbuzQx6w1!J147QrC3!;j8DV#4FkA02%O$mJC4d$`xPYFtO$foOU%c zy%c1o`3oGuQmpD2CEBao0}a*h(Gr;bCC=xrT=gaG=A##JCNI1|yQvw!!|>*BzNEIC zbdgqZ=2s{=0S?`p^%ad$99Hw@ujnMk&8)BSEE=yze@#CKTKo;}nTPPsZ)mPW;nRQ< zK4_Lu6t8Xo4tm2X$9`+UXIW{*x5&lkeDPcI>;Ii8KYxBgO!2h&)8>>QaQR5zASIqZ zn+l6j8gDGs%bGd%JL;x*xm0I-M-#l`Fj<2;nx-$9HGTfv=?jL;m>wG!i;rne{_G-C z@vNmoVl~s6?J(&2^3FeT#);*Ne_{-!vFl$T<2mIo@}tQ-@h`OZ0j~Iqx@~Y#T$SJ% z!pBpIkkAdqN{6=LFjA(88ym?YuF*u!y@~8Rzp)vweb?NiPPAQPn}jukji;j;FtHgx zoyM*a_6v=zZARrQoclLw`~MC2x`ogBn>s2X4kE<{f+yM9zwct$A8Ed zb5i3U`H8&bW&MzTobwOvY*KmiKhPX0#Hu;Y!rL^bar7-{7IMWce3kxEBe}GVfPp0< zXVOY;xv~yyQf$(lWua}km=r&>a}9`FgszzYD_l=XHzhWS8%e>m zA;p7+aWmBVkJi=tws00Y?sgf5#~p!$-p5%AoIS{eAa09qYxYUvJ&NMv**7WPzRojT zD|I&TMUeil=ym$XwrI+mx64|1ew$+*VdWTSfVh2fTQfeE%N^0o_$01$RDAh$N2Lqy z(`!WShORaZ&D_{V>DI;GXP7Iyw}D-6wb;vhG;$r*!<0W`Hu|9t8e(h;w$89%Q~sPh zOGdOw;tVWYu$UPo#ReP`Gpsk4i{aS99(8_&g}l4n{tyGS&q*)%lA7*Any)G`mhwm2JymGI@ZN(jfd!!IoS+9^I5 zi3#l#{Gy#_wNp&=7HIWs z)7)uu^TkNKEk9xeC)}_GQ{Mcg#S0`}j8l9J84*KQO!Mc?)CyY+y0D+PT)bT4%JxbG z-QctBku6Vlb%GSi2|`Sq(!alHb|0Cp34Lz2R1$%PM%<;B*-~U#uca)V>%~eYH-ZctYbq(upFKnD z^waHF(;0D}Y1+d4;>B~MFi|gr2PsFdN96NRS0$u>5ysy%>5#s+y@?9OV8lXOSznt0 zDMOb>EaM7S1hSlKK)SCq6Q3?P{ZtO4YS1$UZe%$U!wj$Pu+r$Z>UzkdM{Mt~~}s)SE0V>o?sNnAR}y_nDzA z&N_(nSiaHn9tf|k!aO-DKy%IvH} zw&OCf;>w#rmUl5ND4C{Bf<$ctMV_?aF$p4lOeNT+Ero`mp_SuCE;7J0XWHz-2a1*; z*@-Qa9T}l*#51NR87f;F9~o~c<9?kLFB~m0I%_MrY~0Yl-NSk!BPZ&%Y-7t3Cm#Gp z=5a-5tQi+ND;-o957$1C%S?GCv-`y4!(5!+ARMkDpSX?p(Qzz4ki~BDR1d?pv{=Hx>KS=~-8~eXm^l|ex5ALsJz#)GHf{7& zLg*HkcU8PO*;8@Fp5D|QK^F+$Q}7UeQTU<42lL0CiW?q)YW!cqKg6{?pcCZ9{n}L|<{akl(phNGEO*63Kx+AgP=sWHOftDd9ar)^LN6*Vx?` z6CaD$N1?CuXTi--85eJjOE2s3`gMHLqQr0_Ks9>3LcM@a77p?ci{&Fl`yU7FmL zpY5)6mPfSRF+dU|BlxPII}S+0r8ncTYHP_G-UBrr7e1ID>VX>DEc{!-ACr!Zr|&FK z*8s&G!EsiA;%gW)!43|lE&`fxn^Y#`Zr&qg8aD*M_dFr^$x@)=O;1|*EaA6W_%h+& z;Z1>1{fKJ=F@Vnr3E&Pv2<-<8pDg@u!u#>eAf=NM>u3?wAjK0mpIX5&;e$2?;}?Yg z3BqxtH`oYD=13vKIZMb`A>O<;81|-eg+K*-Ldarn60(AQLO|B?5Fyyhh3w$+5KM~Q zTqV+Bz9{4)A$Y73illzd(V>7ExHMGh#&bh4cpHV6O?6wS60F1#p9qBsS8f#I#qMD! z3>MW^@tkf(UP zkPTcTWm~vG$WAVcfOX#pST|ev)Ci?3y(hd67e~PMDdD5&qNVsKr`Cwvql*NT6Y;_(8Z?|Y(;XIc0x;UD61 z5MJIBy|7C7DB8qBdO`JUPaK!GYy8GuU=LU{qk6&G2LfxeP{@y5(F=|Im799O)CDLj z@eU$Haaxq(>z-F=Th{P~L_D79_CiZ0ME{sCe7%mr*$W>8jRvKRvlF4nNL8frD zkeQqW%~c+rH4PYW-BYfyA7pskz|3urg5iG^0FK!=5opbsrjoj_;!qCnqp zbR5igkAwOD2p>T=IXg}XSNgWcudpG?kFlZgj%b8%oj@ib_@1^8>?E^)A3(z`P>w)j zxlo{~LVUPVpaQNDXt4!q7H9>##sk9c7Z3BJ<6(Xa=LocmD+PK|YW*OoVn=pn?Hzk&vP^i_O1&$jG~+P;ow z-~FQ5voG`#IYmes=L^Z?H6VNe75HRdxOD6Xm)H8j<_Y(CklCzSNBKROWe>O%YXy_(O(H{ zlUG;}$9@B_4|N-W$CBv-;CGO4Mc`a)XA>VTAE0=7#Kx55&yLrR6FBiCe$DHp@`V9N z%gF&q&@I%%ao#%_&57e=5FU^Wdj-jOJUa=0@I7{+pyp&v@uct{i^fd={4+TG#J4Dtle2;ZPyXJYoE&PheOcBEnuKa+~#d@5Dx#QRf~ZrCL2MWZ|4fCd8dzYD{$;4bLo z+yx!=E)2}PIr&<)Bw1KA2aMqL(83(8xeIy9W%o4nz^%K`i-~Ed7@3BtxmZxV5h46z zoSO#yXDo_a(l9(<;096sBn|oADSQ;|7t)Qxhhiyy&r@j61sw&=~|b{08i7|J|&$S^Ga>M#u6Sbk#|n)kZkNn8V-()hAK z@pq%0#(QK;?c~Xva5q$@bB>UCyi!OhSAy_ORN$ZPmepjqtS0zFFLUT{XuQE0LhuFy z2p=2Xisd>!E-L4^QB;ygz*f`luapx*g@#Bji95oVE z{YIi{AC4Xgd?05F8O5bSCh)eAX#5`|G5fzCiJ25I3Y^<0w0{`~j)KM$Ts#WBH+2+D zsKQ5J#B0!Qf!^d=fer~l9}Dy$yQc#>%em=tNJ)pSZ-tLQ^n22wwIv-|H-!&Z20B@= zYl3-g%z#!fXJtTZa0U=Of)yym0<9HjBv%MDo|{DL8-enKmq!U2WEu_VVIDFX&{JGK z8d}Q*V&Nm?q$<#9f%bBPKu0+C9zX&206Hmr1P;g=R3y;%Tqe*j0(tQ}_n<+yxLzQf z<)vb$OlbLXU?!k&fxP&>OlZY(u|PwFc=K-28qKu=O%}+D{}!#8?4E_5nv#X|kHjDB zy*XK!Yfo`m7RK@OLVVowO0>}@Qw%R2589!j+?a*wvtRhG++_?-UdJu`pfQ*v|KhAM zFn~LUF)a;T(@?G%0|S2x-<7`;1FjankYLJ*gacG##sp@fD5t}fArOmao~4kD}KrlXNzztTM5MALO~FRjl0=_deH;M>MDShLF$j zA5-9&(^Z~0L5Ujqi)nsw{zC;1PR%QtJ7e}t+scUV6^Hz3DxNlX`t2ho?y6HAEtvj1 zUw`mit?xDNjW}J4YyyZX{O@*IWco)=fzB$KY!X%TN%DVO&!A(6BWN{_gS8E z#S~fpmsF{WSFBTKnifsVk0~iyIQRB)FJ9-F7Uku|FN%*TSz03YL|^by!TT=4=6)NO z5LU7OBs>h+pjRu*%a4nhD>b#M63JE*4g^Ip#f#^cOrNKf+-|{c{BIq2yz>sPnWO}G z)tmBW6_rfas*7WH)W)5lXna+DaguVX3r7_xMb*0sl`^IJ`66YGtF!i>!cN7rlj=65 IN?pMJ00+AOZvX%Q diff --git a/rk356x/dr4-rk3568.dts b/rk356x/dr4-rk3568.dts index 0c6f90e..f8cb2ee 100755 --- a/rk356x/dr4-rk3568.dts +++ b/rk356x/dr4-rk3568.dts @@ -21,7 +21,7 @@ /***************************************************/ /*************************gmac***********************/ -#include "rp-gmac1-m1-pro-rk3568.dtsi" +// #include "rp-gmac1-m1-pro-rk3568.dtsi" #include "rp-gmac0-pro-rk3568.dtsi" /***************************************************/ @@ -29,6 +29,7 @@ // #include "rp-can0-m0-rk3568.dtsi" // #include "rp-can1-m1-rk3568.dtsi" // #include "rp-can2-m0-rk3568.dtsi" +#include "zkzg-can-rk3568.dtsi" /**************************************************/ /*********************PCIE**************************/ @@ -308,13 +309,13 @@ }; &uart7 { - status = "okay"; + status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&uart7m1_xfer>; }; &uart8 { - status = "okay"; + status = "disabled"; pinctrl-names = "default"; pinctrl-0 = <&uart8m0_xfer>; }; diff --git a/rk356x/rp-gmac0-pro-rk3568.dtsi b/rk356x/rp-gmac0-pro-rk3568.dtsi index a26a910..cf4da75 100755 --- a/rk356x/rp-gmac0-pro-rk3568.dtsi +++ b/rk356x/rp-gmac0-pro-rk3568.dtsi @@ -3,7 +3,7 @@ phy-mode = "rgmii"; clock_in_out = "input"; - snps,reset-gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; + snps,reset-gpio = <&gpio2 RK_PC5 GPIO_ACTIVE_LOW>; snps,reset-active-low; /* Reset time is 20ms, 100ms for rtl8211f */ snps,reset-delays-us = <0 20000 100000>; diff --git a/rk356x/zkzg-can-rk3568.dtsi b/rk356x/zkzg-can-rk3568.dtsi new file mode 100644 index 0000000..81e7e78 --- /dev/null +++ b/rk356x/zkzg-can-rk3568.dtsi @@ -0,0 +1,17 @@ +&can0 { + compatible = "rockchip,rk3568-can-2.0"; + assigned-clocks = <&cru CLK_CAN0>; + assigned-clock-rates = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&can0m1_pins>; + status = "okay"; +}; + +&can1 { + compatible = "rockchip,rk3568-can-2.0"; + assigned-clocks = <&cru CLK_CAN1>; + assigned-clock-rates = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&can1m1_pins>; + status = "okay"; +};