chalesY

  • Posts

    12
  • Joined

  • Last visited

Posts posted by chalesY

  1. maybe the reason is some compiler only see /hal/rtl8822b/hal8822b_fw.h but didn't see hal/rtl8822b/hal8822b_fw.c

    so , the code like this in hal8822b_fw.h will become empty, that's why firmware load failed

    extern u8 array_mp_8822b_fw_ap[106848];
    extern u32 array_length_mp_8822b_fw_ap;
    extern u8 array_mp_8822b_fw_nic[161240];
    extern u32 array_length_mp_8822b_fw_nic;
    extern u8 array_mp_8822b_fw_wowlan[103328];
    extern u32 array_length_mp_8822b_fw_wowlan;

     

    to slove this ,  just copy hex fiirmware part from hal8822b_fw.c to  hal8822b_fw.h, detail in this commit.

    https://github.com/ChalesYu/rtl8822bs-aml/commit/27fef585225a52913b2936f91abf36859ec20a43

  2. found a H6 board , it using axp2402 pmic to control battery  , and use RGB port to connect a LCD like screen ,didn't have HDMI port

     

    EDIT:

    extract dtb from that board flash firmware img, android default host name is "petrel_ai_p1"

    here is the RGB LCD display part from dtb , so a question is , how hard to support this type LCD (not hdmi) ?

     

    Spoiler


                lcd0@0 {
                    linux,phandle = <0x100>;
                    phandle = <0x100>;
                    allwinner,pins = "PD0\0PD1\0PD2\0PD3\0PD4\0PD5\0PD6\0PD7\0PD8\0PD9\0PD10\0PD11\0PD12\0PD13\0PD14\0PD15\0PD16\0PD17\0PD19\0PD20\0PD21";
                    allwinner,function = "lcd0";
                    allwinner,pname = "lcdd0\0lcdd1\0lcdd2\0lcdd3\0lcdd4\0lcdd5\0lcdd6\0lcdd7\0lcdd8\0lcdd9\0lcdd10\0lcdd11\0lcdd12\0lcdd13\0lcdd14\0lcdd15\0lcdd16\0lcdd17\0lcdd19\0lcdd20\0lcdd21";
                    allwinner,muxsel = <0x02>;
                    allwinner,pull = <0x00>;
                    allwinner,drive = <0x01>;
                    allwinner,data = <0xffffffff>;
                };

                lcd0@1 {
                    linux,phandle = <0x101>;
                    phandle = <0x101>;
                    allwinner,pins = "PD18";
                    allwinner,function = "lcd0";
                    allwinner,pname = "lcdd18";
                    allwinner,muxsel = <0x02>;
                    allwinner,pull = <0x00>;
                    allwinner,drive = <0x03>;
                    allwinner,data = <0xffffffff>;
                };

                lcd0@2 {
                    linux,phandle = <0x102>;
                    phandle = <0x102>;
                    allwinner,pins = "PD0\0PD1\0PD2\0PD3\0PD4\0PD5\0PD6\0PD7\0PD8\0PD9\0PD10\0PD11\0PD12\0PD13\0PD14\0PD15\0PD16\0PD17\0PD18\0PD19\0PD20\0PD21";
                    allwinner,function = "lcd0";
                    allwinner,pname = "lcdd0\0lcdd1\0lcdd2\0lcdd3\0lcdd4\0lcdd5\0lcdd6\0lcdd7\0lcdd8\0lcdd9\0lcdd10\0lcdd11\0lcdd12\0lcdd13\0lcdd14\0lcdd15\0lcdd16\0lcdd17\0lcdd18\0lcdd19\0lcdd20\0lcdd21";
                    allwinner,muxsel = <0x07>;
                    allwinner,pull = <0x00>;
                    allwinner,drive = <0xffffffff>;
                    allwinner,data = <0xffffffff>;
                };


                hdmi@0 {
                    linux,phandle = <0x103>;
                    phandle = <0x103>;
                    allwinner,pins = "PH8\0PH9\0PH10";
                    allwinner,function = "hdmi";
                    allwinner,pname = "ddc_scl\0ddc_sda\0cec_io";
                    allwinner,muxsel = <0x02>;
                    allwinner,pull = <0xffffffff>;
                    allwinner,drive = <0x01>;
                    allwinner,data = <0xffffffff>;
                };

     

     

            disp@01000000 {
                compatible = "allwinner,sunxi-disp";
                reg = <0x00 0x1000000 0x00 0x1400000 0x00 0x6510000 0x00 0x100 0x00 0x6511000 0x00 0x800 0x00 0x6515000 0x00 0x800>;
                interrupts = <0x00 0x41 0x104 0x00 0x42 0x104>;
                clocks = <0x89 0x8a 0x8b 0x8c>;
                boot_disp = <0x00>;
                fb_base = <0x00>;
                iommus = <0x18 0x00 0x00>;
                status = "okay";
                device_type = "disp";
                disp_init_enable = <0x01>;
                disp_mode = <0x00>;
                screen0_output_type = <0x01>;
                screen0_output_mode = <0x05>;
                screen0_output_format = <0x01>;
                screen0_output_bits = <0x00>;
                screen0_output_eotf = <0x04>;
                screen0_output_cs = <0x101>;
                screen0_output_dvi_hdmi = <0x02>;
                screen0_output_range = <0x02>;
                screen0_output_scan = <0x00>;
                screen0_output_aspect_ratio = <0x08>;
                screen1_output_type = <0x03>;
                screen1_output_mode = <0x02>;
                screen1_output_format = <0x01>;
                screen1_output_bits = <0x00>;
                screen1_output_eotf = <0x04>;
                screen1_output_cs = <0x104>;
                screen1_output_dvi_hdmi = <0x02>;
                screen1_output_range = <0x02>;
                screen1_output_scan = <0x00>;
                screen1_output_aspect_ratio = <0x08>;
                dev0_output_type = <0x01>;
                dev0_output_mode = <0x05>;
                dev0_screen_id = <0x00>;
                dev0_do_hpd = <0x01>;
                dev1_output_type = <0x02>;
                dev1_output_mode = <0x0b>;
                dev1_screen_id = <0x01>;
                dev1_do_hpd = <0x01>;
                dev2_output_type = <0x00>;
                def_output_dev = <0x00>;
                hdmi_mode_check = <0x01>;
                fb0_format = <0x00>;
                fb0_width = <0x500>;
                fb0_height = <0x2d0>;
                fb1_format = <0x00>;
                fb1_width = <0x00>;
                fb1_height = <0x00>;
                disp_para_zone = <0x01>;
            };

            lcd0@01c0c000 {
                compatible = "allwinner,sunxi-lcd0";
                pinctrl-names = "active\0sleep";
                status = "okay";
                device_type = "lcd0";
                lcd_used = <0x01>;
                lcd_driver_name = "default_lcd";
                lcd_backlight = <0x32>;
                lcd_if = <0x00>;
                lcd_x = <0x500>;
                lcd_y = <0x2d0>;
                lcd_width = <0x00>;
                lcd_height = <0x00>;
                lcd_dclk_freq = <0x94>;
                lcd_pwm_used = <0x00>;
                lcd_pwm_ch = <0x00>;
                lcd_pwm_freq = <0xc350>;
                lcd_pwm_pol = <0x01>;
                lcd_pwm_max_limit = <0xff>;
                lcd_hbp = <0x104>;
                lcd_ht = <0x64a>;
                lcd_hspw = <0x28>;
                lcd_vbp = <0x19>;
                lcd_vt = <0x2fe>;
                lcd_vspw = <0x05>;
                lcd_lvds_if = <0x00>;
                lcd_lvds_colordepth = <0x01>;
                lcd_lvds_mode = <0x00>;
                lcd_frm = <0x01>;
                lcd_hv_clk_phase = <0x02>;
                lcd_hv_sync_polarity = <0x00>;
                lcd_gamma_en = <0x00>;
                lcd_bright_curve_en = <0x00>;
                lcd_cmap_en = <0x00>;
                lcd_bl_en;
                lcd_bl_en_power = "none";
                lcd_power = "vcc-lcd-0";
                lcd_fix_power = "vcc-dsi-33";
                pinctrl-0 = <0x100 0x101>;
                lcd_pin_power = "vcc-pd";
                pinctrl-1 = <0x102>;
            };

            lcd1@01c0c001 {
                compatible = "allwinner,sunxi-lcd1";
                pinctrl-names = "active\0sleep";
                status = "okay";
            };

            hdmi@06000000 {
                compatible = "allwinner,sunxi-hdmi";
                reg = <0x00 0x6000000 0x00 0x100000>;
                interrupts = <0x00 0x40 0x00>;
                clocks = <0x8d 0x8e 0x8f 0x90>;
                pinctrl-names = "ddc_active\0ddc_sleep\0cec_active\0cec_sleep";
                pinctrl-1 = <0x92>;
                pinctrl-2 = <0x93>;
                pinctrl-3 = <0x94>;
                status = "okay";
                device_type = "hdmi";
                hdmi_hdcp_enable = <0x00>;
                hdmi_hdcp22_enable = <0x00>;
                hdmi_cts_compatibility = <0x00>;
                hdmi_cec_support = <0x01>;
                hdmi_cec_super_standby = <0x01>;
                hdmi_skip_bootedid = <0x01>;
                pinctrl-0 = <0x103>;
                ddc_en_io_ctrl = <0x00>;
                ddc_io_ctrl = <0x83 0x07 0x02 0x01 0xffffffff 0xffffffff 0x00>;
                power_io_ctrl = <0x00>;
            };

            tv0@01c94000 {
                compatible = "allwinner,sunxi-tv";
                reg = <0x00 0x1e40000 0x00 0x1000>;
                status = "disabled";
                device_type = "tv0";
                dac_src0 = <0x00>;
                dac_type0 = <0x00>;
                interface = <0x01>;
            };

     

  3. 4 hours ago, B1oHazard said:

    u need reduce ur emmc speed in dtb file,  i got same errors in my s905w box. in pure kernel speed is 2000000, in balbes150 it reduced to 1000000, but i reduce it to 500000 and installed armbian to emmc successfully.

    Thanks a lot!

    I change it into 50000000. Now ,I can install armbian into emmc successfully.

  4. On 10/12/2018 at 4:26 PM, balbes150 said:

    I do not understand the question, specify what you mean.

    ok...  My box has a AV port ,  but no AV port audio output (I have test with a 3.5mm jack earphone, and use meson-gxl-s805x-p241.dts to boot)

    Unfortunately , I didn't found any DAC chip on board. But only found a amplifier chip (TPF605) on board.

    By the way , Box is mgv2000 ,  board id is gxlx_p261_1g, I'm  use DTC convert dtb to dts.

    So , I guess it need these driver , and maybe my guess is wrong . Could you give me some suggestion about how to make audio output work on AV port?

  5. Hi  balbes150

    I have a amlogic TV box , and find it use rtl8822bs.  

    this module has a UART Bluetooth ,  the config needs 

    CONFIG_BT_HCIUART_3WIRE

    (use uart_A  ,almost all realtek UART Bluetooth module need it)

    and

    CONFIG_GPIO_SYSFS

    (to pull up GPIOX_17 pin in terminal, it's a BT_EN pin).

     

    has been tested on a recompile kernel ,  bluetooth can work , hope you can add it

    Thanks

     

    EDIT:   CONFIG_GPIO_SYSFS  is don't need to add , I write a C program to do this.  So only need to add CONFIG_BT_HCIUART_3WIRE .

    I'm using meson-gxl-s805x-p241.dts