On Fri, Nov 10, 2023 at 02:14:23PM +0100, Krzysztof Kozlowski wrote: > On 09/11/2023 22:50, Chris Morgan wrote: > > From: Chris Morgan <macromorgan@xxxxxxxxxxx> > > > > Add support for the Powkiddy RK2023. The Powkiddy RK2023 is a handheld > > gaming device with a 3.5 inch screen powered by the Rockchip RK3566 > > SoC. The device is almost identical to the Anbernic RG353P except it > > lacks eMMC, a function button, a touch screen, no UART headers on the > > board, and the panel has slightly different timings. > > > > Signed-off-by: Chris Morgan <macromorgan@xxxxxxxxxxx> > > --- > > arch/arm64/boot/dts/rockchip/Makefile | 1 + > > .../dts/rockchip/rk3566-powkiddy-rk2023.dts | 161 ++++++++++++++++++ > > 2 files changed, 162 insertions(+) > > create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts > > > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > > index a18f33bf0c0e..f969618da352 100644 > > --- a/arch/arm64/boot/dts/rockchip/Makefile > > +++ b/arch/arm64/boot/dts/rockchip/Makefile > > @@ -78,6 +78,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rgb30.dtb > > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rk2023.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb > > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-cm3-io.dtb > > diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts > > new file mode 100644 > > index 000000000000..5740412f6b2b > > --- /dev/null > > +++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts > > @@ -0,0 +1,161 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > + > > +/dts-v1/; > > + > > +#include <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/input/linux-event-codes.h> > > +#include <dt-bindings/pinctrl/rockchip.h> > > +#include "rk3566-anbernic-rg353x.dtsi" > > + > > +/ { > > + model = "RK2023"; > > + compatible = "powkiddy,rk2023", "rockchip,rk3566"; > > + > > + aliases { > > + mmc1 = &sdmmc0; > > + mmc2 = &sdmmc1; > > + mmc3 = &sdmmc2; > > + }; > > + > > + battery: battery { > > + compatible = "simple-battery"; > > + charge-full-design-microamp-hours = <3151000>; > > + charge-term-current-microamp = <300000>; > > + constant-charge-current-max-microamp = <2000000>; > > + constant-charge-voltage-max-microvolt = <4250000>; > > + factory-internal-resistance-micro-ohms = <117000>; > > + voltage-max-design-microvolt = <4172000>; > > + voltage-min-design-microvolt = <3400000>; > > + > > + ocv-capacity-celsius = <20>; > > + ocv-capacity-table-0 = <4172000 100>, <4092000 95>, <4035000 90>, <3990000 85>, > > + <3939000 80>, <3895000 75>, <3852000 70>, <3807000 65>, > > + <3762000 60>, <3713000 55>, <3672000 50>, <3647000 45>, > > + <3629000 40>, <3613000 35>, <3598000 30>, <3578000 25>, > > + <3550000 20>, <3519000 15>, <3479000 10>, <3438000 5>, > > + <3400000 0>; > > + }; > > + > > + /* Channels reversed for headphones. */ > > + sound { > > + compatible = "simple-audio-card"; > > + simple-audio-card,name = "rk817_int"; > > + simple-audio-card,format = "i2s"; > > + simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; > > + simple-audio-card,mclk-fs = <256>; > > + simple-audio-card,widgets = > > + "Microphone", "Mic Jack", > > + "Headphone", "Headphones", > > + "Speaker", "Internal Speakers"; > > + simple-audio-card,routing = > > + "MICL", "Mic Jack", > > + "Headphones", "HPOL", > > + "Headphones", "HPOR", > > + "Internal Speakers", "SPKO"; > > + > > + simple-audio-card,codec { > > + sound-dai = <&rk817>; > > + }; > > + > > + simple-audio-card,cpu { > > + sound-dai = <&i2s1_8ch>; > > + }; > > + }; > > + > > +}; > > + > > +/delete-node/ &adc_keys; > > + > > +&chosen { > > + /delete-property/ stdout-path; > > +}; > > If you have to delete so many nodes and properties, this means your > common DTSI is not that common. > > Common DTSI means there is shared hardware. If you take shared hardware > and put it into another board, pieces of the shared hardware do not > disappear. > > > Best regards, > Krzysztof > I can redo this with a different top-level dtsi so I won't have to delete so much if that helps. I'll redo both the RGB30 and RK2023 so that they use a common dtsi and no longer rely on the Anberic one. I'll do that and submit a V3. Thank you.