ET7303 dts configuration quick guide

ET7303 dts configuration quick guide

ET7303 device tree has 3 parts.

Main body is for ET7303 hardware. "pd-data" for charging power data configuration, inculde source power data and sink power data. "dpm caps" for Device Policy Manager.

Main body

        compatible = "etek,et7303";
        reg = <0x4e>;
        rt-tcpc,name = "type_c_port0"; /* tcpc_device's name */
        et7303,irq_pin = <&gpio1 RK_PB2 IRQ_TYPE_LEVEL_LOW>;
​
        rt-tcpc,role_def = <4>; /* 0: SNK Only, 1: SRC Only, 2: DRP, 3: Try.SRC, 4: Try.SNK */
        rt-tcpc,rp_level = <0>; /* 0: Default, 1: 1.5, 2: 3.0 */
        rt-tcpc,vconn_supply  = <0>;  /* 0: Never, 1: Always, 2: EMarkOnly, 3: StartOnly */
​
        rt-tcpc,notifier_supply_num = <1>; /* the number of notifier supply */
        rt-dual,supported_modes = <0>; /* 0: dfp/ufp, 1: dfp, 2: ufp */

notifier_supply_num: the power drivers can register callback func to PD notifier chain, and this value to told PD probe process to enable et7303 irq after all power drivers initialization.

supported_modes: export properties to tcpc, more details in drivers/usb/pd/tcpci_dual_role.c

pd-data

            pd,charging_policy = <0x31>;
            pd,source-pdo-size = <1>;
            pd,source-pdo-data = <0x00019032>;
​
            pd,sink-pdo-size = <2>;
            pd,sink-pdo-data = <0x001912c 0x0002d0c8>;
​
            pd,id-vdo-size = <3>;
            pd,id-vdo-data = <0xd8006dcf 0x0 0x00010000>;

pd,charging_policy = <0x31>: this value has 2 parts, policy<bit0-3>:sub_policy<bit4-7>, "policy" is 0 for VSAFE5V, no matter pdos, select first safety 5V. 1 for max power, select the pdo can't over max power. Under max power, choose higher voltage as much as possible if sub_policy bit2 is 1, and choose lower voltage as much as possible if sub_policy bit1 is 1. and sub_policy bit0 for IGONRE_CURRENT. The detail can see function dpm_select_pdo_from_max_power. 2 for custom policy, this for custom define, and now, it return with VSAFE5V. We can fill the dpm_select_pdo_from_custom.

dpm caps

            local_dr_power;
            local_dr_data;
​
            pr_check = <0>;
            dr_check = <0>;

local_dr_power/data: local can accept power/data swap cmd. pr/dr_check: local can send pr/dr swap for prefer role. 0: disable, 1: prefer_ufp, 2: prefer_dfp

et charger:

This part show a simple power drivers for PD. custom should re-write it depends on hardware.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值