# rk3568_sunniwell_Z96A **Repository Path**: bingo1991/rk3568_sunniwell_Z96A ## Basic Information - **Project Name**: rk3568_sunniwell_Z96A - **Description**: No description available - **Primary Language**: 其他 - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2024-01-14 - **Last Updated**: 2026-01-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rk3568_sunniwell_Z96A 从原机自带的Android 11固件提取了 dtb,反编译出来,并对照其他设备的dts,逐步还原成原始的设备树。 中间耗费的时间、精力比想象的多,但如今看来还是值得的。 该dts目前在4.19、5.10内核中均可正常编译,linux下eDP显示屏、键盘、触摸板、声卡、WiFi/BT已正常工作。 【尚存在的问题】 SHT 3585130-2S 这块 5000mAh/37Wh 电池的电压有 8.4V,硬件上未使用RK817进行充电管理,而是用CN3705芯片; CN3705是免管理的,对外仅提供充电中(charging)、已充满(charger-done)两个GPIO信号; 所以,你会发现设备树的rk817下没有charger的部分,这是与一众 rk3566 + rk817 方案的平板电脑不同的地方。 至于电池信息获取的部分,硬件上同样没有使用RK817,而是使用ADC的channel 1采集电池电压信息; 而在电量显示上,Sunniwell厂家貌似魔改了RK817的驱动代码,直接使用RK817的battery机制来呈现信息。 由于我们没有厂家魔改后的代码,原生rk817的驱动代码会采集到异常的电池电量信息,误触发低电量自动关机; 所以我们临时修改了 power_off_thresd 为较小的值暂时规避这个问题。 同时,为了便于我们开发调试,将 virtual_power 设置成了 1 ,以允许不带电池上电。 battery { compatible = "rk817,battery"; ocv_table = <6600 6840 6922 7000 7064 7122 7162 7190 7218 7250 7292 7364 7448 7532 7618 7714 7812 7918 8030 8158 8362>; design_capacity = <5125>; design_qmax = <5500>; bat_res = <150>; sleep_enter_current = <300>; sleep_exit_current = <300>; sleep_filter_current = <100>; //power_off_thresd = <6600>; power_off_thresd = <3500>; zero_algorithm_vol = <7700>; max_soc_offset = <60>; monitor_sec = <5>; sample_res = <10>; // Permit boot without battery virtual_power = <1>; bat_res_up = <110>; bat_res_down = <27>; bat_res_up_old = <232>; bat_res_down_old = <50>; design_max_voltage = <8350>; charging-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; charger-done-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; io-channels = <&saradc 1>; io-channel-names = "capacity-chan-1"; battery-use-adc; };