AnsweredAssumed Answered

Radio tuner Si4741 configuration in imx6dl-sabresd.dts

Question asked by Avinash Tiwaskar on Nov 30, 2018

How to enable Radio tuner Si4741 in device tree (imx6dl-sabresd.dts) on iMX6 custom board? I am looking for the sample device tree which I can use to setup the radio tuner. Radio tuner is connected over I2C. Below is the snapshot of the changes made:

 

pinctrl_si4741: si4741-grp {
// Need to update clock....(MX6QDL_PAD_GPIO_8__SPDIF_SR_CLK).?
// MX6QDL_PAD_GPIO_8__GPIO1_IO08 0xxxxx
// 2 Wire operation (I2C): GPIO1 1 (3.3V), GPIO2 0
// Verify how to set GPIO2 to 0..
// fsl,pins = <MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x00000000>;
fsl,pins = <MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x0f0b0 /* RADIO_RST */
MX6QDL_PAD_EIM_D17__GPIO3_IO17 0x0f0b0 /* RADIO_SEN_N - p2193 */
MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x0f0b0 /* RADIO_GPIO2/INT_N - PULL Down Rst - p2199 */
MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x80000000 /* RADIO_GPIO3/DCLK p2201*/
MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x80000000 /* 0x10011 - CLK_RADIO_RCLK - 32768 Max 40000 KHz : p2477 */
>;
};

 

 

pinctrl_i2c2: i2c2grp {
// MX6QDL_PAD_KEY_COL3__I2C2_SCL -- MX6QDL_PAD_KEY_ROW3__I2C2_SDA
fsl,pins = <0x250 0x638 0x870 0x4 0x1 0x4001b8b1 0x264 0x64c 0x874 0x4 0x1 0x4001b8b1>;
};

 

i2c2: i2c@021a4000 {
   #address-cells = <0x1>;
   #size-cells = <0x0>;
   compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
   reg = <0x21a4000 0x4000>;
   interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>;
   clocks = <&clks IMX6QDL_CLK_I2C2>;
   status = "okay";
   clock-frequency = <0x186a0>;
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_i2c2>;

 

      radio-si4741@11 {
      compatible = "silabs,si4741";
      reg = <0x11>;
      // vio-supply = <&si4741_vio>;
      // vdd-supply = <&si4741_vd>;
      // vddio-supply = <&reg3p3v>;
      // revision-a10; // set to default A10 compatible command set
      // MX6QDL_PAD_EIM_D20__GPIO3_IO20 /* RADIO_GPIO2/INT_N */
      // MX6QDL_PAD_EIM_D16__GPIO3_IO16 /* RADIO_RST */
      interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; /* */
      reset-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; /* RST - Active Low */
      pinctrl-0 = <&pinctrl_si4741>;
      };

 

};

 

I'm not sure if there is any other entry to be made to enable it. Or am I missing any parameter for any of the nodes mentioned above.

 

If someone can provide the sample .dts file which has configuration for any radio tuner, that would help.

 

Thanks,

Avi

Outcomes