diff --git a/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch b/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch new file mode 100644 index 000000000..c1ef68279 --- /dev/null +++ b/clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch @@ -0,0 +1,58 @@ +From patchwork Tue Mar 27 17:47:04 2018 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: clk: ti: fix flag space conflict with clkctrl clocks +From: Tero Kristo +X-Patchwork-Id: 10311335 +Message-Id: <1522172824-14094-1-git-send-email-t-kristo@ti.com> +To: , , + , , + +Cc: , +Date: Tue, 27 Mar 2018 20:47:04 +0300 + +The introduction of support for CLK_SET_RATE_PARENT flag for clkctrl +clocks used a generic clock flag, which causes a conflict with the +rest of the clkctrl flags, namely the NO_IDLEST flag. This can cause +boot failures on certain platforms where this flag is introduced, by +omitting the wait for the clockctrl module to be fully enabled before +proceeding with rest of the code. + +Fix this by moving all the clkctrl specific flags to their own bit-range. + +Signed-off-by: Tero Kristo +Fixes: 49159a9dc3da ("clk: ti: add support for CLK_SET_RATE_PARENT flag") +Reported-by: Christophe Lyon +Tested-by: Tony Lindgren +--- + drivers/clk/ti/clock.h | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/drivers/clk/ti/clock.h b/drivers/clk/ti/clock.h +index 90b86aa..b582780 100644 +--- a/drivers/clk/ti/clock.h ++++ b/drivers/clk/ti/clock.h +@@ -76,6 +76,11 @@ enum { + #define CLKF_CORE (1 << 9) + #define CLKF_J_TYPE (1 << 10) + ++/* CLKCTRL flags */ ++#define CLKF_SW_SUP BIT(5) ++#define CLKF_HW_SUP BIT(6) ++#define CLKF_NO_IDLEST BIT(7) ++ + #define CLK(dev, con, ck) \ + { \ + .lk = { \ +@@ -185,10 +190,6 @@ struct omap_clkctrl_data { + extern const struct omap_clkctrl_data dm814_clkctrl_data[]; + extern const struct omap_clkctrl_data dm816_clkctrl_data[]; + +-#define CLKF_SW_SUP BIT(0) +-#define CLKF_HW_SUP BIT(1) +-#define CLKF_NO_IDLEST BIT(2) +- + typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *); + + struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw, diff --git a/kernel.spec b/kernel.spec index 9cb368fac..99b71ef9e 100644 --- a/kernel.spec +++ b/kernel.spec @@ -619,6 +619,9 @@ Patch316: arm-sunxi-nvmem-fixH3.patch # Upstream 4.17 back port Patch317: of-i2c-fix-module-aliases.patch +# https://patchwork.kernel.org/patch/10311335/ +Patch318: clk-ti-fix-flag-space-conflict-with-clkctrl-clocks.patch + # Enabling Patches for the RPi3+ Patch320: bcm2837-rpi-initial-support-for-the-3.patch Patch321: bcm2837-gpio-expander.patch @@ -1903,6 +1906,7 @@ fi - Further fix for ThunderX ZIP driver - Fix for OF i2c module aliases - Fix for nvmem on AllWinner H3/H5 SoCs +- Add fix for the BeagleBone boot failure * Mon Apr 09 2018 Jeremy Cline - Include the KCS IPMI BMC driver that's in F27