MLK-11429-23: mfd: si476x: Use default configuration when no platform data
authorNicolin Chen <b42378@freescale.com>
Thu, 29 Aug 2013 06:35:44 +0000 (14:35 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:48:13 +0000 (14:48 -0500)
cherry-pick below patch from imx_3.14.y
ENGR00276567-6 mfd: si476x: Use default configuration when no platform data

This would allow the driver to work normally without specific platform data,
when using devicetree for example.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit 23e369b88b546d7b699ca9ec46e195a05c61b717)
(cherry picked from commit a2449e1d303e341f32556fb7f4ebc7dcbdd9ead1)

drivers/mfd/si476x-i2c.c

index 4865bb8..246dcd2 100644 (file)
@@ -740,8 +740,15 @@ static int si476x_core_probe(struct i2c_client *client,
                memcpy(&core->pinmux, &pdata->pinmux,
                       sizeof(struct si476x_pinmux));
        } else {
-               dev_err(&client->dev, "No platform data provided\n");
-               return -EINVAL;
+               dev_warn(&client->dev, "Using default platform data.\n");
+               core->power_up_parameters.xcload = 0x28;
+               core->power_up_parameters.func = SI476X_FUNC_FM_RECEIVER;
+               core->power_up_parameters.freq = SI476X_FREQ_37P209375_MHZ;
+               core->diversity_mode = SI476X_PHDIV_DISABLED;
+               core->pinmux.dclk = SI476X_DCLK_DAUDIO;
+               core->pinmux.dfs  = SI476X_DFS_DAUDIO;
+               core->pinmux.dout = SI476X_DOUT_I2S_OUTPUT;
+               core->pinmux.xout = SI476X_XOUT_TRISTATE;
        }
 
        core->supplies[0].supply = "vd";