Re: [PATCH v3 3/3] ARM: dts: add dts files for xyref5260 board
Thanks Tomasz, On 15 February 2014 00:27, Tomasz Figa tomasz.f...@gmail.com wrote: Hi Rahul, The patch looks good, except one issue pointed inline. On 14.02.2014 14:37, Rahul Sharma wrote: diff --git a/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts new file mode 100644 index 000..c4efc1e --- /dev/null +++ b/arch/arm/boot/dts/exynos5260-xyref5260-evt0.dts [snip] +mmc_0 { + status = okay; + num-slots = 1; + broken-cd; + bypass-smu; + supports-highspeed; + supports-hs200-mode; /* 200 Mhz */ + fifo-depth = 0x40; This is a SoC-level property and it is already specified in your exynos5260.dtsi. Tomasz, yea correct. I will put these inside SoC node. Regards, Rahul Sharma. + card-detect-delay = 200; + samsung,dw-mshc-ciu-div = 3; + samsung,dw-mshc-sdr-timing = 0 4; + samsung,dw-mshc-ddr-timing = 0 2; + pinctrl-names = default; + pinctrl-0 = sd0_rdqs sd0_clk sd0_cmd sd0_bus1 sd0_bus4 sd0_bus8; + + slot@0 { + reg = 0; + bus-width = 8; + }; +}; + +mmc_2 { + status = okay; + num-slots = 1; + supports-highspeed; + fifo-depth = 0x40; Ditto. Best regards, Tomasz -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 11/14] regulator: s2mps11: Add opmode for S2MPS14 regulators
On Fri, Feb 14, 2014 at 09:15:12AM +0100, Krzysztof Kozlowski wrote: My initial idea was to do this similarly to the S5M8767 regulator (where there is also 4th mode: low power). The presence of GPIO in DTS can simplify the bindings but on the other hand it wouldn't be compatible with S5M8767 regulator driver. This may complicate the merge of these drivers. They can always use separate ops. What is your opinion on this - should I abandon the op_mode idea and use presence of GPIO? Yes, that's better - especially since the framework has support for enable GPIOs. It can do things like handle cases where the hardware has tied the enables for several regulators together so they all need to be enabled and disabled as one. signature.asc Description: Digital signature
Re: [PATCH v2 11/14] regulator: s2mps11: Add opmode for S2MPS14 regulators
On Fri, Feb 14, 2014 at 02:05:56PM +0100, Krzysztof Kozlowski wrote: On Thu, 2014-02-13 at 17:46 +0530, Yadwinder Singh Brar wrote: - low-power mode; - low-power mode controlled by PWREN; Although not all are present for each regulator. What exactly is low power mode and how does it interact with the enable? The name suggests it's a more efficient mode for use with low current drain, is that right? A generic solution for operating mode of regulators (not only s2mps11 and s5m8767) could cover all of these above or just a subset, for example regulator bindings could look like: - regulator-mode-suspend; /* PWR controls: on/off or low-power mode */ - regulator-mode-low-power; /* Low power mode */ Those properties have awfully generic names and part of what I was wondering above is if the low power mode maps onto the idle or standby modes that the API defines? We don't cover those in the bindings yet since they are unfortunately fuzzy but perhaps we need to do so. signature.asc Description: Digital signature
Re: [PATCH v1 1/2] clocksource: mct: remove request_irq from exynos4_local_timer_setup
On Thu, 13 Feb 2014, Tarek Dakhran wrote: exynos4_local_timer_setup called on the secondary cpu before irqs are enabled. request_irq can sleep, which produces next warning: BUG: sleeping function called from invalid context at mm/slub.c:965 in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper/3 Call setup_irq for each local timer in exynos4_timer_resources, and only call enable_irq during percpu timer setup. Signed-off-by: Tarek Dakhran t.dakh...@samsung.com --- drivers/clocksource/exynos_mct.c | 38 ++ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c index 48f76bc..1cde3de 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -82,6 +82,7 @@ static void __iomem *reg_base; static unsigned long clk_rate; static unsigned int mct_int_type; static int mct_irqs[MCT_NR_IRQS]; +static struct irqaction __percpu *mct_LX_irqaction; struct mct_clock_event_device { struct clock_event_device evt; @@ -402,6 +403,25 @@ static irqreturn_t exynos4_mct_tick_isr(int irq, void *dev_id) return IRQ_HANDLED; } +static void exynos4_setup_irqaction_spi(unsigned int cpu) +{ + struct irqaction *pcpu_irqaction = per_cpu_ptr(mct_LX_irqaction, cpu); + unsigned int irq = mct_irqs[MCT_L0_IRQ + cpu]; + int err; + + pcpu_irqaction-name = per_cpu(percpu_mct_tick, cpu).name; + pcpu_irqaction-flags = IRQF_TIMER | IRQF_NOBALANCING; + pcpu_irqaction-handler = exynos4_mct_tick_isr; + pcpu_irqaction-dev_id = per_cpu(percpu_mct_tick, cpu); + + err = setup_irq(irq, pcpu_irqaction); This is just crap. Why don't you use request_irq()? + if (err) { + pr_err(MCT: can't setup IRQ %d (%d)\n, irq, err); + return; + } + disable_irq(irq); This is completely backwards. We have flags which tell the core not to enable an interrupt at setup time. Also what's wrong with enabling the interrupt in the first place? When the timer is stopped then no interrupts happen and it does not matter a bit whether the irq line is enabled or not. Thanks, tglx -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] i2c: s3c2410: do not put a default class for the adapter
On Fri, Feb 07, 2014 at 01:59:55PM +0530, Naveen Krishna Chatradhi wrote: From: Vincent Palatin vpala...@chromium.org Avoid adding I2C_CLASS_HWMON and I2C_CLASS_SPD class flags to all Samsung I2C adapters when the I2C mappings are defined in a device tree. So the drivers doing an auto-detection by probing busses won't mess-up sensitive I2C devices or trigger long timeouts on non-functional busses. Signed-off-by: Vincent Palatin vpala...@chromium.org Reviewed-by: Olof Johansson ol...@chromium.org Tested-by: Vincent Palatin vpala...@chromium.org Reviewed-by: Doug Anderson diand...@chromium.org I'd prefer to drop it in favour of this series: http://lkml.org/lkml/2014/2/10/836 signature.asc Description: Digital signature
Re: [PATCH] ARM: dts: fix incorrect vdd_arm voltage range for Exynos4412 based boards
On 01/18/14 20:11, Thomas Abraham wrote: From: Thomas Abrahamthomas...@samsung.com To allow Exynos4412 based Odroidx and Origen-quad boards to operate between 200MHz to 1.4Ghz, update the vdd_arm voltage range to operate between these cpu clock speeds. Cc: Dongjin Kimtobet...@gmail.com Signed-off-by: Thomas Abrahamthomas...@samsung.com --- arch/arm/boot/dts/exynos4412-odroidx.dts |2 +- arch/arm/boot/dts/exynos4412-origen.dts |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts index 9804fcb..12459b0 100644 --- a/arch/arm/boot/dts/exynos4412-odroidx.dts +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts @@ -251,7 +251,7 @@ buck2_reg: BUCK2 { regulator-name = vdd_arm; regulator-min-microvolt =90; - regulator-max-microvolt =130; + regulator-max-microvolt =135; regulator-always-on; regulator-boot-on; }; diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts index 6bc0539..388f035 100644 --- a/arch/arm/boot/dts/exynos4412-origen.dts +++ b/arch/arm/boot/dts/exynos4412-origen.dts @@ -459,8 +459,8 @@ buck2_reg: BUCK2 { regulator-name = vdd_arm; - regulator-min-microvolt =925000; - regulator-max-microvolt =130; + regulator-min-microvolt =90; + regulator-max-microvolt =135; regulator-always-on; regulator-boot-on; op_mode =1; /* Normal Mode */ Applied, thanks. - Kukjin -- To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ARM: dts: add max77686 pmic node for smdk5250 board
On 01/18/14 20:09, Thomas Abraham wrote: From: Thomas Abrahamthomas...@samsung.com Add Maxim 77686 PMIC node for Exynos5250 based SMDK5250 board. Signed-off-by: Thomas Abrahamthomas...@samsung.com --- arch/arm/boot/dts/exynos5250-smdk5250.dts | 142 + 1 files changed, 142 insertions(+), 0 deletions(-) diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts index 3e69837..5c1b7d9 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts @@ -36,6 +36,148 @@ compatible = samsung,s524ad0xd1; reg =0x50; }; + + max77686@09 { + compatible = maxim,max77686; + reg =0x09; + + voltage-regulators { + ldo1_reg: LDO1 { + regulator-name = P1.0V_LDO_OUT1; + regulator-min-microvolt =100; + regulator-max-microvolt =100; + regulator-always-on; + }; + + ldo2_reg: LDO2 { + regulator-name = P1.2V_LDO_OUT2; + regulator-min-microvolt =120; + regulator-max-microvolt =120; + regulator-always-on; + }; + + ldo3_reg: LDO3 { + regulator-name = P1.8V_LDO_OUT3; + regulator-min-microvolt =180; + regulator-max-microvolt =180; + regulator-always-on; + }; + + ldo4_reg: LDO4 { + regulator-name = P2.8V_LDO_OUT4; + regulator-min-microvolt =280; + regulator-max-microvolt =280; + }; + + ldo5_reg: LDO5 { + regulator-name = P1.8V_LDO_OUT5; + regulator-min-microvolt =180; + regulator-max-microvolt =180; + }; + + ldo6_reg: LDO6 { + regulator-name = P1.1V_LDO_OUT6; + regulator-min-microvolt =110; + regulator-max-microvolt =110; + regulator-always-on; + }; + + ldo7_reg: LDO7 { + regulator-name = P1.1V_LDO_OUT7; + regulator-min-microvolt =110; + regulator-max-microvolt =110; + regulator-always-on; + }; + + ldo8_reg: LDO8 { + regulator-name = P1.0V_LDO_OUT8; + regulator-min-microvolt =100; + regulator-max-microvolt =100; + }; + + ldo10_reg: LDO10 { + regulator-name = P1.8V_LDO_OUT10; + regulator-min-microvolt =180; + regulator-max-microvolt =180; + }; + + ldo11_reg: LDO11 { + regulator-name = P1.8V_LDO_OUT11; + regulator-min-microvolt =180; + regulator-max-microvolt =180; + }; + + ldo12_reg: LDO12 { + regulator-name = P3.0V_LDO_OUT12; + regulator-min-microvolt =300; + regulator-max-microvolt =300; + }; + + ldo13_reg: LDO13 { + regulator-name = P1.8V_LDO_OUT13; + regulator-min-microvolt =180; + regulator-max-microvolt =180; + }; + + ldo14_reg: LDO14 { + regulator-name = P1.8V_LDO_OUT14; +