Skip to content

Instantly share code, notes, and snippets.

@kikuchan
Created May 26, 2024 23:33
Show Gist options
  • Save kikuchan/a3253427adcb55f59211063cc714912a to your computer and use it in GitHub Desktop.
Save kikuchan/a3253427adcb55f59211063cc714912a to your computer and use it in GitHub Desktop.
diff --git arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
index b55869dc7e..82752cddc6 100644
--- arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
+++ arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
@@ -122,6 +122,20 @@ soc {
#size-cells = <1>;
ranges = <0x0 0x0 0x0 0x40000000>;
+ gpu: gpu@1800000 {
+ compatible = "allwinner,sun50i-h616-mali",
+ "arm,mali-bifrost";
+ reg = <0x1800000 0x40000>;
+ interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "job", "mmu", "gpu";
+ clocks = <&ccu CLK_GPU0>, <&ccu CLK_BUS_GPU>;
+ clock-names = "core", "bus";
+ resets = <&ccu RST_BUS_GPU>;
+ status = "disabled";
+ };
+
bus@1000000 {
compatible = "allwinner,sun50i-h616-de33",
"allwinner,sun50i-a64-de2";
@@ -1012,6 +1026,7 @@ r_ccu: clock@7010000 {
clock-names = "hosc", "losc", "iosc", "pll-periph";
#clock-cells = <1>;
#reset-cells = <1>;
+ #power-domain-cells = <1>;
};
nmi_intc: interrupt-controller@7010320 {
diff --git arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
index 3923adc3c2..3d8fd3f3ce 100644
--- arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
+++ arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-2024.dts
@@ -389,3 +389,8 @@ tcon_lcd0_out_lcd: endpoint@1 {
remote-endpoint = <&panel_in_rgb>;
};
};
+&gpu {
+ mali-supply = <&reg_dcdc2>;
+ power-domains = <&r_ccu 0>;
+ status = "okay";
+};
diff --git arch/arm64/configs/defconfig arch/arm64/configs/defconfig
index 57a9abe78e..6913b631ba 100644
--- arch/arm64/configs/defconfig
+++ arch/arm64/configs/defconfig
@@ -539,6 +539,7 @@ CONFIG_SPI_DW_DMA=y
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_FSL_LPSPI=y
CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_GPIO=y
CONFIG_SPI_NXP_FLEXSPI=y
CONFIG_SPI_IMX=m
CONFIG_SPI_FSL_DSPI=y
@@ -874,6 +875,7 @@ CONFIG_DRM_PANEL_EDP=m
CONFIG_DRM_PANEL_ILITEK_ILI9882T=m
CONFIG_DRM_PANEL_KHADAS_TS050=m
CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
+CONFIG_DRM_PANEL_NEWVISION_NV3052C=m
CONFIG_DRM_PANEL_NOVATEK_NT36672E=m
CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
CONFIG_DRM_PANEL_SITRONIX_ST7703=m
@@ -924,6 +926,7 @@ CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_BACKLIGHT_PWM=m
+CONFIG_BACKLIGHT_GPIO=m
CONFIG_BACKLIGHT_LP855X=m
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
diff --git drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
index 991658fe8e..b5af0ba8ae 100644
--- drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
+++ drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
@@ -239,8 +239,6 @@ static int sun50i_h616_ppu_pd_set_power(const struct sun50i_h616_ppu_pd *pd,
{
if (power_on)
writel(0, pd->base + PD_H616_GPU_REG);
- else
- writel(1, pd->base + PD_H616_GPU_REG);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment