From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 19/50] rockchip: i2c: Update the driver to use the new clock ID
Date: Thu, 14 Jan 2016 06:54:50 +0100 [thread overview]
Message-ID: <5697382A.9050004@denx.de> (raw)
In-Reply-To: <1452727540-3249-20-git-send-email-sjg@chromium.org>
Hello Simon,
Am 14.01.2016 um 00:25 schrieb Simon Glass:
> We can use the new clk_get_by_index() function to get the correct clock.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> drivers/i2c/rk_i2c.c | 37 +++++++++++++++++++++----------------
> 1 file changed, 21 insertions(+), 16 deletions(-)
Thanks!
Acked-by: Heiko Schocher <hs@denx.de>
bye,
Heiko
>
> diff --git a/drivers/i2c/rk_i2c.c b/drivers/i2c/rk_i2c.c
> index ebdba35..4030330 100644
> --- a/drivers/i2c/rk_i2c.c
> +++ b/drivers/i2c/rk_i2c.c
> @@ -30,10 +30,9 @@ DECLARE_GLOBAL_DATA_PTR;
>
> struct rk_i2c {
> struct udevice *clk;
> - struct udevice *pinctrl;
> struct i2c_regs *regs;
> unsigned int speed;
> - enum periph_id id;
> + int clk_id;
> };
>
> static inline void rk_i2c_get_div(int div, int *divh, int *divl)
> @@ -56,7 +55,7 @@ static void rk_i2c_set_clk(struct rk_i2c *i2c, uint32_t scl_rate)
> int div, divl, divh;
>
> /* First get i2c rate from pclk */
> - i2c_rate = clk_get_periph_rate(i2c->clk, i2c->id);
> + i2c_rate = clk_get_periph_rate(i2c->clk, i2c->clk_id);
>
> div = DIV_ROUND_UP(i2c_rate, scl_rate * 8) - 2;
> divh = 0;
> @@ -352,23 +351,28 @@ int rockchip_i2c_set_bus_speed(struct udevice *bus, unsigned int speed)
> return 0;
> }
>
> -static int rockchip_i2c_probe(struct udevice *bus)
> +static int rockchip_i2c_ofdata_to_platdata(struct udevice *bus)
> {
> - struct rk_i2c *i2c = dev_get_priv(bus);
> + struct rk_i2c *priv = dev_get_priv(bus);
> int ret;
>
> - ret = uclass_get_device(UCLASS_PINCTRL, 0, &i2c->pinctrl);
> - if (ret)
> - return ret;
> - ret = uclass_get_device(UCLASS_CLK, 0, &i2c->clk);
> - if (ret)
> - return ret;
> - ret = pinctrl_get_periph_id(i2c->pinctrl, bus);
> - if (ret < 0)
> + ret = clk_get_by_index(bus, 0, &priv->clk, &priv->clk_id);
> + if (ret < 0) {
> + debug("%s: Could not get clock for %s: %d\n", __func__,
> + bus->name, ret);
> return ret;
> - i2c->id = ret;
> - i2c->regs = (void *)dev_get_addr(bus);
> - return pinctrl_request(i2c->pinctrl, i2c->id, 0);
> + }
> +
> + return 0;
> +}
> +
> +static int rockchip_i2c_probe(struct udevice *bus)
> +{
> + struct rk_i2c *priv = dev_get_priv(bus);
> +
> + priv->regs = (void *)dev_get_addr(bus);
> +
> + return 0;
> }
>
> static const struct dm_i2c_ops rockchip_i2c_ops = {
> @@ -385,6 +389,7 @@ U_BOOT_DRIVER(i2c_rockchip) = {
> .name = "i2c_rockchip",
> .id = UCLASS_I2C,
> .of_match = rockchip_i2c_ids,
> + .ofdata_to_platdata = rockchip_i2c_ofdata_to_platdata,
> .probe = rockchip_i2c_probe,
> .priv_auto_alloc_size = sizeof(struct rk_i2c),
> .ops = &rockchip_i2c_ops,
>
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2016-01-14 5:54 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-13 23:24 [U-Boot] [PATCH 00/50] rockchip: Add support for cros_ec keyboard Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 01/50] dm: clk: Add support for decoding clocks from the device tree Simon Glass
2016-01-14 10:11 ` Masahiro Yamada
2016-01-15 13:21 ` Simon Glass
2016-01-19 2:01 ` Masahiro Yamada
2016-01-19 2:53 ` Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 02/50] dm: core: Don't set pinctrl for pinctrl devices Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 03/50] dm: pinctrl: Add a function to parse PIN_CONFIG flags Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 04/50] dm: pmic: Add 'reg status' to show all regulators Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 05/50] dts: Bring in pinctrl device tree binding Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 06/50] power: Add base support for the RK808 PMIC Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 07/50] power: Add support for RK808 regulators Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 08/50] dm: Add a power sequencing uclass Simon Glass
2016-01-13 23:24 ` [U-Boot] [PATCH 09/50] rockchip: Avoid using MMC code when not booting from MMC Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 10/50] rockchip: Convert the PMU IOMUX registers into an array Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 11/50] rockchip: mmc: Use a pwrseq device if available Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 12/50] rockchip: Correct the defconfig order Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 13/50] rockchip: Use pwrseq for MMC start-up on jerry Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 14/50] rockchip: jerry: Disable pmic-int-1 setup to avoid a hang Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 15/50] rockchip: Use a separate clock ID for clocks Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 16/50] rockchip: clock: Rename the general clock variable to gclk_rate Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 17/50] rockchip: clk: Add a function to get a peripheral clock rate Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 18/50] rockchip: clock: Add a function to find a clock by ID Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 19/50] rockchip: i2c: Update the driver to use the new clock ID Simon Glass
2016-01-14 5:54 ` Heiko Schocher [this message]
2016-01-13 23:25 ` [U-Boot] [PATCH 20/50] rockchip: spi: " Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 21/50] rockchip: spi: Avoid setting the pinctrl twice Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 22/50] rockchip: mmc: Update the driver to use the new clock ID Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 23/50] rockchip: pinctrl: Add a full pinctrl driver Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 24/50] rockchip: Move firefly and jerry to use the full pinctrl Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 25/50] rockchip: jerry: Enable the RK808 PMIC and regulator Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 26/50] rockchip: Disable simple-bus in SPL for firefly-rk3288, jerry Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 27/50] rockchip: jerry: Drop unused options Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 28/50] gpio: Allow 's' as an abbreviation for 'status' Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 29/50] cros_ec: Disable the Chrome OS EC in SPL Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 30/50] dm: i2c: Allow muxes to be enabled for SPL separately Simon Glass
2016-01-14 5:57 ` Heiko Schocher
2016-01-13 23:25 ` [U-Boot] [PATCH 31/50] spi: Correct device tree usage in spi_flash_decode_fdt() Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 32/50] dm: power: Allow regulators to be omitted from SPL Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 33/50] dm: pinctrl: Add a way for a GPIO driver to obtain a pin function Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 34/50] dm: core: Export uclass_find_device_by_of_offset() Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 35/50] dm: power: Tidy up debugging output and return values Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 36/50] dm: power: Allow regulators to not implement all operations Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 37/50] dm: clk: Add a simple version of clk_get_by_index() Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 38/50] rockchip: sdram: Use the rk_clr/setreg() interface Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 39/50] rockchip: reset: " Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 40/50] rockchip: spi: Remember the last speed to avoid re-setting it Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 41/50] rockchip: spi: Correct the bus init code Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 42/50] rockchip: clk: Make rkclk_get_clk() SoC-specific Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 43/50] rockchip: pinctrl: Reduce the size for SPL Simon Glass
2016-01-14 12:47 ` Eddie Cai
2016-01-14 15:51 ` Simon Glass
2016-01-18 9:39 ` Sjoerd Simons
2016-01-20 4:35 ` Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 44/50] rockchip: pinctrl: Implement the get_gpio_mux() method Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 45/50] rockchip: gpio: Read the GPIO value correctly Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 46/50] rockchip: gpio: Implement the get_function() method Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 47/50] rockchip: spi: Implement the delays Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 48/50] rockchip: spi: Correct chip-enable code Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 49/50] rockchip: spi: Remove the explicit pinctrl setting Simon Glass
2016-01-13 23:25 ` [U-Boot] [PATCH 50/50] rockchip: jerry: Enable the Chrome OS EC Simon Glass
2016-01-21 2:58 ` [U-Boot] [PATCH 00/50] rockchip: Add support for cros_ec keyboard Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5697382A.9050004@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.