rk3288 怎么在4.4以上的内核上把vga 显示打开 ,firefly 下载的4.4.77 内核只有hdmi 有显示 xrandr 也只能找到hdmi , 论坛上下载了个 ubuntu 16.04 vga 和hdmi 都有显示 , 请问下 有没有人知道 怎么配置 内核 和设备数 。老版本内核 移植 这个驱动 是可以的 vga-connector.c vga-encoder.c
我在4.4上移植成功了。
问下 ubuntu 16.04 vga 和hdmi 都有显示的固件还有吗?能否分享下?
linux 内核配置:
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index 5ef6eae..2901659 100644
— a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -103,6 +103,56 @@
};
};
};
+
- vga_regulator: vga-regulator {
-
compatible = "regulator-fixed"; -
enable-active-high; -
gpio = <&gpio7 2 GPIO_ACTIVE_HIGH>; -
pinctrl-names = "default"; -
pinctrl-0 = <&vga_enabled_h>; -
regulator-name = "vga_regulator"; -
regulator-always-on; -
regulator-boot-on; - };
- vga_bridge: vga-bridge {
-
compatible = "adi,adv7123"; -
psave-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>; -
rockchip,output = "rgb"; -
#address-cells = <1>; -
#size-cells = <0>; -
ports { -
#address-cells = <1>; -
#size-cells = <0>; -
port@0 { -
reg = <0>; -
adv7123_in: endpoint { -
remote-endpoint = <&rgb_out>; -
}; -
}; -
port@1 { -
reg = <1>; -
adv7123_out: endpoint { -
remote-endpoint = <&vga_in>; -
}; -
}; -
}; - };
- vga {
-
compatible = "vga-connector"; -
ddc-i2c-bus = <&i2c4>; -
port { -
vga_in: endpoint { -
remote-endpoint = <&adv7123_out>; -
}; -
}; - };
dovdd_1v8: dovdd-1v8-regulator {
compatible = "regulator-fixed";
@@ -175,6 +225,20 @@
*/
reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
};
+
-
es8323-sound {
-
status = "okay"; -
compatible = "simple-audio-card"; -
simple-audio-card,name = "rockchip,es8323-codec"; -
simple-audio-card,format = "i2s"; -
simple-audio-card,mclk-fs = <512>; -
simple-audio-card,cpu { -
sound-dai = <&i2s>; -
}; -
simple-audio-card,codec { -
sound-dai = <&es8323>; -
}; -
};
sound {
compatible = “simple-audio-card”;
@@ -189,7 +253,8 @@
compatible = “linux,spdif-dit”;
#sound-dai-cells = <0>;
};
- vbat_wl: vcc_sys: vsys-regulator {
compatible = “regulator-fixed”;
regulator-name = “vcc_sys”;
@@ -292,6 +357,8 @@
WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>;
status = “okay”;
};
};
&cpu0 {
@@ -302,7 +369,7 @@
vcc-supply = <&vdd_10>;
vccio-supply = <&vcc_18>;
force-hpd;
- status = “okay”;
-
status = “disabled”;
ports {
edp_out: port@1 {
@@ -318,7 +385,30 @@
};
&edp_phy {
- status = “disabled”;
+};
+&lvds {
-
avdd1v0-supply = <&vdd10_lcd>; - avdd1v8-supply = <&vcc18_lcd>;
- avdd3v3-supply = <&vcca_33>;
- rockchip,data-mapping = “jeida”;
- rockchip,data-width = <24>;
- rockchip,output = “rgb”;
status = “okay”; - ports {
-
port@1 { -
reg = <1>; -
#address-cells = <1>; -
#size-cells = <0>; -
rgb_out: endpoint@0 { -
reg = <0>; -
remote-endpoint = <&adv7123_in>; -
}; -
}; - };
};
&emmc {
@@ -529,6 +619,20 @@
&i2c2 {
status = “okay”;
- es8323: es8323@10 {
-
compatible = "everest,es8323"; -
reg = <0x10>; -
spk-con-gpio = <&gpio0 10 GPIO_ACTIVE_HIGH>; -
hp-det-gpio = <&gpio7 15 GPIO_ACTIVE_LOW>; -
clock-names = "mclk"; -
clocks = <&cru SCLK_I2S0_OUT>; -
#sound-dai-cells = <0>; - };
+};
+&i2s {
- status = “okay”;
- #sound-dai-cells = <0>;
};
&i2c4 {
@@ -672,6 +776,12 @@
rockchip,pins = <4 19 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
+
- vga {
-
vga_enabled_h: vgaenabled-h { -
rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>; -
}; - };
};
&saradc {
diff --git a/arch/arm/configs/rockchip_linux_defconfig b/arch/arm/configs/rockchip_linux_defconfig
index a7efa72..b682042 100644
— a/arch/arm/configs/rockchip_linux_defconfig
+++ b/arch/arm/configs/rockchip_linux_defconfig
@@ -303,16 +303,24 @@ CONFIG_VIDEO_TC35874X=y
CONFIG_VIDEO_IMX219=y
CONFIG_VIDEO_OV5647=y
CONFIG_DRM=y
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_ROCKCHIP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_ANALOGIX_DP=y
CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_LVDS=y
+CONFIG_ROCKCHIP_RGB=y
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_DUMB_VGA_DAC=y
+CONFIG_DRM_PANEL=y
+CONFIG_DRM_KMS_HELPERy
+CONFIG_ROCKCHIP_DRM_BACKLIGHT=y
CONFIG_ROCKCHIP_RK3066_HDMI=y
CONFIG_DRM_UDL=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
+#CONFIG_LOGO=y
CONFIG_MALI400=y
# CONFIG_MALI400_PROFILING is not set
CONFIG_MALI_SHARED_INTERRUPTS=y
@@ -330,7 +338,25 @@ CONFIG_BACKLIGHT_PWM=y
CONFIG_RK_VCODEC=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+CONFIG_SND_PCM_TIMER=y
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_RAWMIDI_SEQ=y
+CONFIG_SND_DRIVERS=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_HRTIMER=y
@@ -340,16 +366,24 @@ CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_ROCKCHIP=y
+CONFIG_SND_SOC_ROCKCHIP_I2S=y
CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
+CONFIG_SND_SOC_ROCKCHIP_HDMI_ANALOG=y
+CONFIG_SND_SOC_ROCKCHIP_HDMI_DP=y
CONFIG_SND_SOC_ROCKCHIP_MAX98090=y
CONFIG_SND_SOC_ROCKCHIP_RT5645=y
+CONFIG_SND_SOC_DW_HDMI_AUDIO=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
CONFIG_SND_SOC_CX20810=y
CONFIG_SND_SOC_ES8323=y
+CONFIG_SND_SOC_HDMI_CODEC=y
CONFIG_SND_SOC_RT5616=y
CONFIG_SND_SOC_RT5640=y
CONFIG_SND_SOC_SPDIF=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_SOUND_PRIME=y
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
@@ -450,6 +484,7 @@ CONFIG_PWM_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_USB=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
CONFIG_PHY_ROCKCHIP_DP=y
+CONFIG_PHY_ROCKCHIP_INNO_MIPI_DPHY=y
CONFIG_PHY_ROCKCHIP_INNO_HDMI_PHY=y
CONFIG_ANDROID=y
CONFIG_NVMEM=y