【经验】地平线SOC X3M电源域IO-DOMAIN调试使用方法

2022-09-11 世强
SOC,X3M,地平线 SOC,X3M,地平线 SOC,X3M,地平线 SOC,X3M,地平线

地平线SOC X3M各个模块能正常工作,前提是各个模块有稳定的电源,IO-Domain可以对各个模块的电源进线统一管理。以RGMII接口为例,如果电路设计时外接电压域为3.3V,则需要配置RGMII模块的IO-DOMAIN为3.3V,如果电路设计时外接电压域为1.8V,则需要配置为1.8v,需要注意的是:外接电压域为3.3V而对应的IO-DOMAIN配置为1.8V时,可能会对芯片有损伤;外接电压域为1.8V而对应的IO-DOMAIN配置为3.3V时,相应的模块可能无法正常工作。


1.管脚查询

IO管脚的复用和配置可以查阅《PL-2500-3-X3 PIN SW Reg-V1.2.xls》和《RM-2500-5-X3M Register Reference Manual-GPIO&PIN-V1.1.pdf》。


在《PL-2500-3-X3 PIN SW Reg-V1.2.xls》可以比较直观的查询到管脚的上电默认状态、复用、驱动能力、上下拉、施密特触发配置。


在《RM-2500-5-X3M Register Reference Manual-GPIO&PIN-V1.1.pdf》文档中查阅SD_MODE_CTRL和IO_MODE_CTRL两个寄存器来确定电压域配置。


2.驱动代码

代码位置如下:

 drivers/pinctrl/pinctrl-single.c # pinctrl 驱动代码源文件

 include/linux/platform_data/pinctrl-single.h # pinctrl 驱动代码头文件


(1). IO-DOMAIN的DTS

/* arch/arm64/boot/dts/hobot/hobot-pinctrl-xj3.dtsi */
/* pinctrl_voltage used to config X/J3 pin mode, for example,
* when SD2 external power supply is 3.3v, we need config pin-mode to
* 3.3v, otherwise X/J3 chip will be damaged.
* when SD2 external power supply is 1.8v, we need config pin-mode to
* 1.8v, otherwise SD2 will not work.
*/
pinctrl_voltage: pinctrl_voltag@0xA6003000 {
   compatible = "pinctrl-single";
   reg = <0x0 0xA6003170 0x0 0x8>;
   #pinctrl-cells = <2>;
   #gpio-range-cells = <0x3>;
   pinctrl-single,bit-per-mux;
   pinctrl-single,register-width = <32>;
   pinctrl-single,function-mask = <0x1>;
   status = "okay";
   /* rgmii 1.8v func */
       rgmii_1_8v_func: rgmii_1_8v_func {
           pinctrl-single,bits = <
               0x4 MODE_1_8V RGMII_MODE_P1
               0x4 MODE_1_8V RGMII_MODE_P0
               >;
       };
   /*rgmii 3.3v func */
       rgmii_3_3v_func: rgmii_3_3v_func {
           pinctrl-single,bits = <
               0x4 MODE_3_3V RGMII_MODE_P1
               0x4 MODE_3_3V RGMII_MODE_P0
               >;
       };
   ...
};

由于IO-DOMAIN在Pinctrl-single的框架下实现,因此其DTS和Pinctrl的类似,在IO-DOMAIN的DTS里已经列出了所有模块1.8V和3.3V的配置组,客户一般不需要修改,在具体开发时根据实际情况选择使用即可。


(2).驱动调用时DTS配置

和Pinctrl的使用方法类似,驱动在自己的DTS中引用需要配置的IO-DOMAIN,以bt1120驱动为例,配置如下:

xxx: xxx@0xA6000000 {
   ...
   pinctrl-names = "default", "xxx_voltage_func", ;
   pinctrl-0 = <&xxx_func>;
   pinctrl-1 = <&xxx_1_8v_func>; // pinctrl-3为1.8v的IO-DOMAIN配置
   ...
};

(3).驱动调用示例代码

和Pinctrl调用方法一致,驱动先通过Pinctrl-names查找对应的pinctrl state,然后再切换到对应的state。

static int hobot_xxx_probe(struct platform_device *pdev)

{    ...    

        g_xxx_dev->pinctrl = devm_pinctrl_get(&pdev->dev);  

        if (IS_ERR(g_xxx_dev->pinctrl))

       {        

            dev_warn(&pdev->dev, "pinctrl get none\n");      

            g_xxx_dev->pins_voltage = NULL;    }  

              ...      

            /* 按照pinctrl-names lookup state */     

           g_xxx_dev->pins_voltage = pinctrl_lookup_state(g_xxx_dev->pinctrl,  "xxx_voltage_func");              if (IS_ERR(g_xxx_dev->pins_voltage))

           {        

                dev_info(&pdev->dev, "xxx_voltage_func get error %ld\n", PTR_ERR(g_xxx_dev->pins_voltage));     

                g_xxx_dev->pins_voltage = NULL;   

             }   

             ...     

           /* select state */   

             if (g_xxx_dev->pins_voltage)

             {       

                    ret = pinctrl_select_state(g_xxx_dev->pinctrl, g_xxx_dev->pins_voltage);    

                    if (ret) 

                    {                

                        dev_info(&pdev->dev, "xxx_voltage_func set error %d\n", ret);        

                    }       

             }   

             ...

}

(4).uboot下修改电压域

在uboot源码board/hobot/xj3/xj3.c文件中,根据硬件实际电压情况,调用init_io_vol接口配置电压域,如果硬件上面管脚的电源域是1.8v那么改管脚对应的位是1,如果是3.3v则该管脚对应的bit是0,最后面把拼成的16进制值value写入base+0x170和base+0x174中(base: 0xA6003000),寄存器详细说明可以查阅《RM-2500-5-X3 Register Reference Manual-GPIO&PIN-V1.1.pdf》

int init_io_vol(void)

{   

      uint32_t value = 0;    

      uint32_t base_board_id = 0;  

      struct hb_info_hdr *bootinfo = (struct hb_info_hdr*)HB_BOOTINFO_ADDR;  

      hb_board_id = bootinfo->board_id;  

      /* work around solution for xj3 bring up ethernet,     * all io to v1.8 except bt1120     * BIFSPI and I2C2 is 3.3v in J3DVB, the other is 1.8v     */ 

    /*    

     * 1'b0=3.3v mode;  1'b1=1.8v mode  

     * 0x170 bit[3]       sd2   

     *       bit[2]       sd1  

     *       bit[1:0]     sd0  

     *     * 0x174 bit[11:10]   rgmii   

     *       bit[9]       i2c2 

     *       bit[8]       i2c0 

     *       bit[7]       reserved 

     *       bit[6:4]     bt1120   

     *       bit[3:2]     bifsd   

     *       bit[1]       bifspi  

     *       bit[0]       jtag  

     */    

     value = 0xF0F;  

     base_board_id = hb_base_board_type_get(); 

     if (base_board_id == BASE_BOARD_J3_DVB)

    {       

         value = 0xD0D;   

     }   

      writel(value, GPIO_BASE + 0x174);

     writel(0xF, GPIO_BASE + 0x170);    return 0;

}

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由孟高祥提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

地平线旭日X3系列智能芯片开发经验资料汇总

旭日X3 是地平线针对 AIoT 场景,推出的新一代低功耗、高性能的智能芯片;集成了地平线最先进的伯努利2.0 架构引擎( BPU® )。包含 X3M 和 X3E 两颗芯片,X3M 主要面向 8M 智能前视市场和边缘计算,提供 5TOPS 算力;X3E 主要面向 5M 智能前视市场,提供 3TOPS 算力。

设计经验    发布时间 : 2024-08-16

【经验】地平线ISP工具Control tool的使用方法介绍

Control tool是isp-tuning时tuning ISP参数的图形界面工具,对于刚接触地平线的开发者来说,会比较陌生,下面详细介绍Control tool的使用方法。

设计经验    发布时间 : 2022-09-10

【经验】地平线X3M SDB开发板烧录ubuntu镜像实操和注意事项

地平线X3M SDB开发板,地平线论坛已经支持yocto linux和ubuntu两种SDK包,本文实操烧录ubuntu镜像以及说明注意事项。

设计经验    发布时间 : 2022-06-24

【应用】地平线AI SoC芯片X3ME00IBGTMB-H用于3D相机,集成四核Cortex A53 CPU

3D相机应用领域越来越广泛,除了常见的3D影片之外,还可以应用于物流自动化、机器人视觉、障碍检测等方面。3D相机是有两个镜头的,分别是用于拍摄场景和测量自身与场景内物体之间的距离。镜头获取信息需要一个强大芯片来处理,本文介绍一款SOC可用于3D相机上。

应用方案    发布时间 : 2022-01-07

AI加速边缘计算,聚焦AIOT芯片,NPU SOC,离线语音MCU,高算力智能模组等

世强硬创联合地平线,阿普奇,启英泰伦,美格智能,普林芯驰,唯创知音,九芯电子,芯闻,VINKO,MERRY带来AI新产品,聚焦AIOT芯片,NPU SOC,离线语音MCU,高算力智能模组等,加速边缘计算。

活动    发布时间 : 2023-06-08

【应用】地平线新一代AIoT AI SOC X3ME00IBGTMB-H成功用于AI分析盒子,提供5TOPS的算力

在盒子的主控方面,客户采用的是地平线的新一代AIoT AI SOC 旭日3系列X3ME00IBGTMB-H,这是地平线针对 AIoT 场景,推出的新一代低功耗、高性能的智能芯片,集成了地平线最先进的伯努利2.0 架构引擎( BPU® ),可提供5TOPS的算力。

应用方案    发布时间 : 2023-04-22

CAD模型库  -  地平线  - 2024-06-03 RAR 英文 下载

数据手册  -  地平线  - Rev. 1.0  - February 2021 PDF 英文 下载

地平线(Horizon Robotics)新一代AIoT智能芯片选型表

描述- 旭日®3 是地平线针对 AIoT 场景,推出的新一代低功耗、高性能的智能芯片;集成了地平线最先进的伯努利2.0 架构引擎( BPU® ),可提供 5TOPS 的算力。新的 BPU 架构极大提升了对先进 CNN 网络架构的支持效果,并极大降低了运算对 DDR 带宽的占用率。辅以地平线天工开物® 软件开发平台,大幅简化算法开发与部署过程,降低产品的落地成本。

型号- X3M,X3E

选型指南  -  地平线  - 2022/10/25 PDF 中文 下载

原厂动态    发布时间 : 2024-04-16

【应用】地平线推出基于AI SoC X3M的扫地机方案,提供配套TROS操作系统和AI算法

地平线推出基于Sunrise®旭日芯片的扫地机方案,提供芯片+操作系统+算法的完整解决方案,实现更智能、更稳定、更主动的智能扫地机应用。

应用方案    发布时间 : 2022-07-05

【应用】算力高达5TOPS的SOC X3ME00IBGTMB-H用于双目AI相机设计,满足输入图像的图像信号处理要求

某客户做一款双目AI相机,需要跑自己的识别算法,用于识别一些物体,算法是自研的,视频输出部分要求分辨率达到4K级别。在相机处理器上需要一款有一定算力和多路视频处理能力的芯片,客户采用地平线的旭日3系列AI SOC X3ME00IBGTMB-H,该款芯片性能强大,算力和视频处理能力均能满足需求。

应用方案    发布时间 : 2023-03-26

基于单颗地平线征程3,宏景智驾首发单SoC行泊一体解决方案

近日,福瑞泰克宣布推出基于单颗地平线征程®3芯片开发的、面向量产的轻量级行泊一体解决方案,为车企智能化系统进阶提供了更高适配版本的智能驾驶产品,以高性价比助力行泊一体快速落地。基于该方案,更多车型得以实现更复杂、可靠度更高的行泊一体功能,支持如主动安全、HWA高速公路辅助驾驶、智能泊车辅助APA等功能。该方案预计将于2023年下半年实现量产上车。

原厂动态    发布时间 : 2024-04-16

【应用】地平线AI SoC芯片X3M助力智能停车场系统设计,可实现车牌识别、车流量检测等功能,算力可达5Tops

现在,随着智能芯片、算法的技术发展,方便快捷、稳定可靠的非接触式智能停车设备已走进大大小小的城市,成为当今停车场设备的主流。地平线推出的X3M系列AI SoC芯片,可应用于停车场的智能识别设备,用来检测施工车辆的车牌、类别,并可实现计算车流量的功能。

应用方案    发布时间 : 2023-02-26

展开更多

电子商城

查看更多

品牌:地平线

品类:SOC

价格:¥144.8208

现货: 673

品牌:地平线

品类:SOC

价格:¥128.7296

现货: 409

品牌:地平线

品类:无线及智能模块模组

价格:¥690.0000

现货: 56

品牌:地平线

品类:无线及智能模块模组

价格:¥1,299.0000

现货: 2

品牌:地平线

品类:无线及智能模块模组

价格:

现货: 0

品牌:地平线

品类:SOC开发套件

价格:

现货: 0

品牌:地平线

品类:SOC开发套件

价格:¥1,299.0000

现货: 0

品牌:地平线

品类:SOC

价格:

现货: 0

品牌:地平线

品类:开发板底板

价格:¥500.0000

现货: 0

品牌:地平线

品类:PMIC

价格:

现货: 0

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:地平线

品类:SOC

价格:¥40.9328

现货:1,804

品牌:紫光展锐

品类:蜂窝通信芯片

价格:¥5.9241

现货:81,000

品牌:海思

品类:IC

价格:¥61.6424

现货:39,900

品牌:海思

品类:IC

价格:¥60.3549

现货:6,500

品牌:海思

品类:IC

价格:¥63.7125

现货:3,425

品牌:汇顶科技

品类:NB-IoT系列芯片(SoC)

价格:¥9.4889

现货:2,800

品牌:汇顶科技

品类:蓝牙系统级芯片

价格:¥4.5889

现货:2,190

品牌:SILICON LABS

品类:Wireless SoC

价格:¥15.1400

现货:1,455

品牌:汇顶科技

品类:NB-IoT系列芯片(SoC)

价格:¥10.0778

现货:1,312

品牌:君正

品类:SOC

价格:¥23.3900

现货:1,268

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面