Re: [PATCH 00/11] ARM: dts: sbc-t3x: add support for more boards
ping x2! On 02/12/14 14:38, Igor Grinberg wrote: ping! On 01/12/14 15:22, Dmitry Lifshitz wrote: Add support for CompuLab SBC-T3530 and SBC-T3517 boards: https://compulab.co.il/products/sbcs/sbc-t3530/ https://compulab.co.il/products/sbcs/sbc-t3517/ along with respective CoMs - CM-T3530 and CM-T3517: https://compulab.co.il/products/computer-on-modules/cm-t3530/ https://compulab.co.il/products/computer-on-modules/cm-t3517/ The device tree files have the following structure: omap3-cm-t3x.dtsi | |-- omap3-cm-t3x30.dtsi | | | | | | - --- | || CoM || Board || Base board | | | - --- | |omap3-sb-t35.dtsi | | | | |-- omap3-cm-t3730.dts -- omap3-sbc-t3730.dts --| | | | | |-- omap3-cm-t3530.dts -- omap3-sbc-t3530.dts --| || | omap3-cm-t3517.dts -- omap3-sbc-t3517.dts --| where omap3-cm-t3730.dts, omap3-cm-t3530.dts, omap3-cm-t3517.dts contain CoMs specific data, while omap3-sbc-t3730.dts, omap3-sbc-t3530.dts, omap3-sbc-t3517.dts represent eval boards with respective core modules. This series is based on Tony's omap-for-v3.14/dt branch Dmitry Lifshitz (11): ARM: dts: sbc-t3x: refactor DT support ARM: dts: sbc-t3x: disable mmc3 ARM: dts: sb-t35: fix Ethernet power supply ARM: dts: cm-t3x: add gpio-led pinmux ARM: dts: cm-t3x30: add twl4030 gpio pullups ARM: dts: cm-t3x30: add HS USB Host support ARM: dts: sbc-t3730: add pinmux for usb hub reset ARM: dts: cm-t3x30: add USB OTG support ARM: dts: sbc-t3530: add support for sbc-t3530 ARM: dts: sbc-t3517: add support for sbc-t3517 ARM: OMAP2+: make reset pulse for sbc-t3x usb hubs arch/arm/boot/dts/Makefile|4 + arch/arm/boot/dts/omap3-cm-t3517.dts | 137 + arch/arm/boot/dts/omap3-cm-t3530.dts | 13 +++ arch/arm/boot/dts/omap3-cm-t3730.dts | 40 -- arch/arm/boot/dts/omap3-cm-t3x.dtsi | 112 +++ arch/arm/boot/dts/omap3-cm-t3x30.dtsi | 74 +- arch/arm/boot/dts/omap3-sb-t35.dtsi | 30 +++- arch/arm/boot/dts/omap3-sbc-t3517.dts | 44 +++ arch/arm/boot/dts/omap3-sbc-t3530.dts | 37 + arch/arm/boot/dts/omap3-sbc-t3730.dts | 24 +++--- arch/arm/mach-omap2/pdata-quirks.c| 67 - 11 files changed, 506 insertions(+), 76 deletions(-) create mode 100644 arch/arm/boot/dts/omap3-cm-t3517.dts create mode 100644 arch/arm/boot/dts/omap3-cm-t3530.dts create mode 100644 arch/arm/boot/dts/omap3-cm-t3x.dtsi create mode 100644 arch/arm/boot/dts/omap3-sbc-t3517.dts create mode 100644 arch/arm/boot/dts/omap3-sbc-t3530.dts -- Regards, Igor. -- To unsubscribe from this list: send the line unsubscribe linux-omap 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 support for Compulab sbc-t3530 with cm-t35
Hi Stefan, Have you seen the series sent by Dmitry on 12-Jan-2014? It is called ARM: dts: sbc-t3x: add support for more boards, or you can check it out here: http://www.spinics.net/lists/arm-kernel/msg300078.html On 02/21/14 14:36, Stefan Roese wrote: The cm-t3530 SOM is equipped with the OMAP3530 and does not boot with the cm-t3730 dts file as it used the omap36xx.dtsi. Add a separate dts/dtsi for this board to support it correctly. I moved some common parts into omap3-cm-t3x30.dtsi. And removed the SDIO/WLAN support for now. As I don't know exactly how this should be done. Perhaps somebody else might jump in here... Signed-off-by: Stefan Roese s...@denx.de Cc: Igor Grinberg grinb...@compulab.co.il Cc: Dmitry Lifshitz lifsh...@compulab.co.il Cc: Tony Lindgren t...@atomide.com --- arch/arm/boot/dts/Makefile| 1 + arch/arm/boot/dts/omap3-cm-t3530.dts | 29 +++ arch/arm/boot/dts/omap3-cm-t3730.dts | 54 --- arch/arm/boot/dts/omap3-cm-t3x30.dtsi | 44 arch/arm/boot/dts/omap3-sbc-t3530.dts | 30 +++ 5 files changed, 110 insertions(+), 48 deletions(-) create mode 100644 arch/arm/boot/dts/omap3-cm-t3530.dts create mode 100644 arch/arm/boot/dts/omap3-sbc-t3530.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 6d1e43d..6fd1b34 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -200,6 +200,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ omap3430-sdp.dtb \ omap3-beagle.dtb \ omap3-cm-t3730.dtb \ + omap3-sbc-t3530.dtb \ omap3-sbc-t3730.dtb \ omap3-devkit8000.dtb \ omap3-beagle-xm.dtb \ diff --git a/arch/arm/boot/dts/omap3-cm-t3530.dts b/arch/arm/boot/dts/omap3-cm-t3530.dts new file mode 100644 index 000..35a1fc2 --- /dev/null +++ b/arch/arm/boot/dts/omap3-cm-t3530.dts @@ -0,0 +1,29 @@ +/* + * Support for CompuLab CM-T3530 + */ +/dts-v1/; + +#include omap34xx-hs.dtsi +#include omap3-cm-t3x30.dtsi + +/ { + model = CompuLab CM-T3530; + compatible = compulab,omap3-cm-t3530, ti,omap34xx, ti,omap3; +}; + +mmc1 { + vmmc-supply = vmmc1; + bus-width = 4; + pinctrl-names = default; + pinctrl-0 = mmc1_pins; +}; + +smsc1 { + pinctrl-names = default; + pinctrl-0 = smsc1_pins; +}; + +uart3 { + pinctrl-names = default; + pinctrl-0 = uart3_pins; +}; diff --git a/arch/arm/boot/dts/omap3-cm-t3730.dts b/arch/arm/boot/dts/omap3-cm-t3730.dts index 486f4d6..3e05b11 100644 --- a/arch/arm/boot/dts/omap3-cm-t3730.dts +++ b/arch/arm/boot/dts/omap3-cm-t3730.dts @@ -32,39 +32,14 @@ }; omap3_pmx_core { - mmc1_pins: pinmux_mmc1_pins { - pinctrl-single,pins = - 0x114 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ - 0x116 (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc1_cmd.sdmmc1_cmd */ - 0x118 (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc1_dat0.sdmmc1_dat0 */ - 0x11a (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc1_dat1.sdmmc1_dat1 */ - 0x11c (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc1_dat2.sdmmc1_dat2 */ - 0x11e (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc1_dat3.sdmmc1_dat3 */ - ; - }; - mmc2_pins: pinmux_mmc2_pins { pinctrl-single,pins = - 0x128 (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_clk.sdmmc2_clk */ - 0x12a (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_cmd.sdmmc2_cmd */ - 0x12c (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_dat0.sdmmc2_dat0 */ - 0x12e (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_dat1.sdmmc2_dat1 */ - 0x130 (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_dat2.sdmmc2_dat2 */ - 0x132 (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_dat3.sdmmc2_dat3 */ - ; - }; - - smsc1_pins: pinmux_smsc1_pins { - pinctrl-single,pins = - 0x88 (PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs5.gpmc_ncs5 */ - 0x16a (PIN_INPUT_PULLUP | MUX_MODE4)/* uart3_cts_rctx.gpio_163 */ - ; - }; - - uart3_pins: pinmux_uart3_pins { - pinctrl-single,pins = - 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ - 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ + 0x128 (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_clk.sdmmc2_clk */ + 0x12a (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_cmd.sdmmc2_cmd */ + 0x12c (PIN_INPUT_PULLUP | MUX_MODE0)/* sdmmc2_dat0.sdmmc2_dat0 */ + 0x12e (PIN_INPUT_PULLUP |
[PATCH] omap3isp: Fix kerneldoc for _module_sync_is_stopping and isp_isr()
Signed-off-by: Peter Meerwald pme...@pmeerw.net --- drivers/media/platform/omap3isp/isp.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index 5807185..d60a4b7 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -588,9 +588,6 @@ static void isp_isr_sbl(struct isp_device *isp) * @_isp: Pointer to the OMAP3 ISP device * * Handles the corresponding callback if plugged in. - * - * Returns IRQ_HANDLED when IRQ was correctly handled, or IRQ_NONE when the - * IRQ wasn't handled. */ static irqreturn_t isp_isr(int irq, void *_isp) { @@ -1420,7 +1417,7 @@ int omap3isp_module_sync_idle(struct media_entity *me, wait_queue_head_t *wait, } /* - * omap3isp_module_sync_is_stopped - Helper to verify if module was stopping + * omap3isp_module_sync_is_stopping - Helper to verify if module was stopping * @wait: ISP submodule's wait queue for streamoff/interrupt synchronization * @stopping: flag which tells module wants to stop * -- 1.8.3.2 -- To unsubscribe from this list: send the line unsubscribe linux-omap 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 0/2] ARM: OMAP4: Fix gpmc_fck clock
On 02/22/2014 12:23 AM, Tony Lindgren wrote: * Tero Kristo t-kri...@ti.com [140220 01:54]: On 02/19/2014 09:26 PM, Florian Vaussard wrote: On 02/19/2014 05:22 PM, Tero Kristo wrote: On 02/19/2014 11:15 AM, Florian Vaussard wrote: Hello, Trying to get my SMSC9221 working on OMAP4 with DT, I faced a misconfigured gpmc_fck (dummy clock set to 0) resulting in serveral division-by-zero, misconfigured timings and driver lost in the La La Land. To solve this, patch 1 removes gpmc_fck from the dummy clocks, and patch 2 adds the gpmc_fck DT node and reference it from the gpmc node. Tested on DuoVero/Parlor (OMAP4430) with SMSC9221. I can't test GPMC myself, but other than that, this set looks good to go. Thank you. Would you like more test coverage by other people? I would like to see this in -rc if possible, as it is needed to boot my OMAP4 system. Well, I just think the driver clock change should be acked by someone who knows gpmc better than me. Hmm do we also need to fix this for other omaps? We at least have the following refrerences: $ git grep dummy_ck drivers/ | grep -i gpmc drivers/clk/ti/clk-44xx.c: DT_CLK(5000.gpmc, fck, dummy_ck), drivers/clk/ti/clk-54xx.c: DT_CLK(NULL, gpmc_ck, dummy_ck), drivers/clk/ti/clk-7xx.c: DT_CLK(NULL, gpmc_ck, dummy_ck), Yes, the same applies to OMAP5 and DRA7. For OMAP5, gpmc_fclk is connected to L3MAIN2_L3_GICLK, which is a gated l3_iclk. For DRA7, I have no idea, as the TRM is not public. Someone from TI? And I have no way to test this. Cheers, Florian -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[patch 08/26] arm: Replace various irq_desc accesses
Use the proper functions. There is no need to fiddle with irq_desc. Signed-off-by: Thomas Gleixner t...@linutronix.de Cc: Shawn Guo shawn@linaro.org Cc: arm linux-arm-ker...@lists.infradead.org Cc: omap linux-omap@vger.kernel.org Cc: Tony Lindgren t...@atomide.com Cc: Russell King rmk+ker...@arm.linux.org.uk --- arch/arm/mach-imx/pm-imx6q.c|7 +++ arch/arm/mach-omap1/ams-delta-fiq.c |7 ++- 2 files changed, 5 insertions(+), 9 deletions(-) Index: tip/arch/arm/mach-imx/pm-imx6q.c === --- tip.orig/arch/arm/mach-imx/pm-imx6q.c +++ tip/arch/arm/mach-imx/pm-imx6q.c @@ -120,7 +120,7 @@ static void imx6q_enable_wb(bool enable) int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode) { - struct irq_desc *iomuxc_irq_desc; + struct irq_data *iomuxc_irq_data = irq_get_irq_data(32); u32 val = readl_relaxed(ccm_base + CLPCR); val = ~BM_CLPCR_LPM; @@ -167,10 +167,9 @@ int imx6q_set_lpm(enum mxc_cpu_pwr_mode * 3) Software should mask IRQ #32 right after CCM Low-Power mode *is set (set bits 0-1 of CCM_CLPCR). */ - iomuxc_irq_desc = irq_to_desc(32); - imx_gpc_irq_unmask(iomuxc_irq_desc-irq_data); + imx_gpc_irq_unmask(iomuxc_irq_data); writel_relaxed(val, ccm_base + CLPCR); - imx_gpc_irq_mask(iomuxc_irq_desc-irq_data); + imx_gpc_irq_mask(iomuxc_irq_data); return 0; } Index: tip/arch/arm/mach-omap1/ams-delta-fiq.c === --- tip.orig/arch/arm/mach-omap1/ams-delta-fiq.c +++ tip/arch/arm/mach-omap1/ams-delta-fiq.c @@ -44,13 +44,10 @@ static unsigned int irq_counter[16]; static irqreturn_t deferred_fiq(int irq, void *dev_id) { - struct irq_desc *irq_desc; - struct irq_chip *irq_chip = NULL; int gpio, irq_num, fiq_count; + struct irq_chip *irq_chip; - irq_desc = irq_to_desc(gpio_to_irq(AMS_DELTA_GPIO_PIN_KEYBRD_CLK)); - if (irq_desc) - irq_chip = irq_desc-irq_data.chip; + irq_chip = irq_get_irq_chip(gpio_to_irq(AMS_DELTA_GPIO_PIN_KEYBRD_CLK)); /* * For each handled GPIO interrupt, keep calling its interrupt handler -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] omap3isp: Fix kerneldoc for _module_sync_is_stopping and isp_isr()
Hi Peter, Thank you for the patch. On Sunday 23 February 2014 18:08:55 Peter Meerwald wrote: Signed-off-by: Peter Meerwald pme...@pmeerw.net --- drivers/media/platform/omap3isp/isp.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index 5807185..d60a4b7 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -588,9 +588,6 @@ static void isp_isr_sbl(struct isp_device *isp) * @_isp: Pointer to the OMAP3 ISP device * * Handles the corresponding callback if plugged in. - * - * Returns IRQ_HANDLED when IRQ was correctly handled, or IRQ_NONE when the - * IRQ wasn't handled. While I don't object to this change, doesn't it deserve a brief explanation in the commit message ? */ static irqreturn_t isp_isr(int irq, void *_isp) { @@ -1420,7 +1417,7 @@ int omap3isp_module_sync_idle(struct media_entity *me, wait_queue_head_t *wait, } /* - * omap3isp_module_sync_is_stopped - Helper to verify if module was stopping + * omap3isp_module_sync_is_stopping - Helper to verify if module was stopping * @wait: ISP submodule's wait queue for streamoff/interrupt synchronization * @stopping: flag which tells module wants to stop * -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv1 4/6] HSI: hsi-char: fix driver for multiport scenarios
Fix return code check of alloc_chrdev_region, which returns 0 on success. Signed-off-by: Sebastian Reichel s...@debian.org --- drivers/hsi/clients/hsi_char.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hsi/clients/hsi_char.c b/drivers/hsi/clients/hsi_char.c index 7f64bed..f51cf45 100644 --- a/drivers/hsi/clients/hsi_char.c +++ b/drivers/hsi/clients/hsi_char.c @@ -706,7 +706,7 @@ static int hsc_probe(struct device *dev) if (!hsc_major) { ret = alloc_chrdev_region(hsc_dev, hsc_baseminor, HSC_DEVS, devname); - if (ret 0) + if (ret == 0) hsc_major = MAJOR(hsc_dev); } else { hsc_dev = MKDEV(hsc_major, hsc_baseminor); -- 1.8.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv1 3/6] HSI: hsi-char: add Device Tree support
Add of_match_table to hsi_char driver, so that it can be referenced from Device Tree. Signed-off-by: Sebastian Reichel s...@debian.org --- drivers/hsi/clients/hsi_char.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/hsi/clients/hsi_char.c b/drivers/hsi/clients/hsi_char.c index e61e5f9..7f64bed 100644 --- a/drivers/hsi/clients/hsi_char.c +++ b/drivers/hsi/clients/hsi_char.c @@ -42,6 +42,7 @@ #include linux/stat.h #include linux/hsi/hsi.h #include linux/hsi/hsi_char.h +#include linux/of_device.h #define HSC_DEVS 16 /* Num of channels */ #define HSC_MSGS 4 @@ -758,12 +759,22 @@ static int hsc_remove(struct device *dev) return 0; } +#ifdef CONFIG_OF +static const struct of_device_id hsi_char_of_match[] = { + { .compatible = ssi-char, }, + { .compatible = hsi-char, }, + {}, +}; +MODULE_DEVICE_TABLE(of, hsi_char_of_match); +#endif + static struct hsi_client_driver hsc_driver = { .driver = { .name = hsi_char, .owner = THIS_MODULE, .probe = hsc_probe, .remove = hsc_remove, + .of_match_table = of_match_ptr(hsi_char_of_match), }, }; -- 1.8.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv1 2/6] HSI: method to unregister clients from an hsi port
This exports a method to unregister all clients from an hsi port. Signed-off-by: Sebastian Reichel s...@debian.org --- drivers/hsi/hsi.c | 10 ++ include/linux/hsi/hsi.h | 1 + 2 files changed, 11 insertions(+) diff --git a/drivers/hsi/hsi.c b/drivers/hsi/hsi.c index 8bbc0f1..c7b842b 100644 --- a/drivers/hsi/hsi.c +++ b/drivers/hsi/hsi.c @@ -198,6 +198,16 @@ static void hsi_port_release(struct device *dev) } /** + * hsi_unregister_port - Unregister an HSI port + * @port: The HSI port to unregister + */ +void hsi_port_unregister_clients(struct hsi_port *port) +{ + device_for_each_child(port-device, NULL, hsi_remove_client); +} +EXPORT_SYMBOL_GPL(hsi_port_unregister_clients); + +/** * hsi_unregister_controller - Unregister an HSI controller * @hsi: The HSI controller to register */ diff --git a/include/linux/hsi/hsi.h b/include/linux/hsi/hsi.h index fb07339..89cc6f2 100644 --- a/include/linux/hsi/hsi.h +++ b/include/linux/hsi/hsi.h @@ -284,6 +284,7 @@ int hsi_register_controller(struct hsi_controller *hsi); void hsi_unregister_controller(struct hsi_controller *hsi); void hsi_add_clients_from_dt(struct hsi_port *port, struct device_node *clients); +void hsi_port_unregister_clients(struct hsi_port *port); static inline void hsi_controller_set_drvdata(struct hsi_controller *hsi, void *data) -- 1.8.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv1 0/6] OMAP SSI driver
Hi, This is the fifth round of the OMAP SSI driver patches. I think the OMAP SSI driver is ready for mainline and should be included in 3.15. I haven't heard anything from DT binding maintainers since some months though and would like to get some feedback about the binding from them. Changes since RFCv4 [0]: * Removed patches for nokia-cmt and ssi-protocol, those are still WIP * tested with CONFIG_DEBUG_ATOMIC_SLEEP * tested with Russel's OMAP dma engine rework patchset * acquire clocks from DT * minor cleanups - removed unused include of omap specific dma header * updated patch subjects TODO: * Central Message Queue I did not yet implement a central message queue in the HSI framework. I will do this after Nokia N900 modem is working in the mainline kernel. * Remove the hwmod DT hack This depends on some future work merging hwmod data into DT. P.S.: It would be nice if I get some Reviewed-By/Acked-By. [0] http://marc.info/?l=linux-kernelm=138715030530931w=2 -- Sebastian Sebastian Reichel (6): HSI: add Device Tree support for HSI clients HSI: method to unregister clients from an hsi port HSI: hsi-char: add Device Tree support HSI: hsi-char: fix driver for multiport scenarios HSI: Introduce OMAP SSI driver Documentation: DT: omap-ssi binding documentation Documentation/devicetree/bindings/hsi/omap_ssi.txt | 82 ++ .../devicetree/bindings/hsi/trivial-devices.txt| 36 + drivers/hsi/Kconfig|1 + drivers/hsi/Makefile |1 + drivers/hsi/clients/hsi_char.c | 13 +- drivers/hsi/controllers/Kconfig| 19 + drivers/hsi/controllers/Makefile |6 + drivers/hsi/controllers/omap_ssi.c | 618 + drivers/hsi/controllers/omap_ssi.h | 166 +++ drivers/hsi/controllers/omap_ssi_port.c| 1401 drivers/hsi/controllers/omap_ssi_regs.h| 171 +++ drivers/hsi/hsi.c | 80 +- include/dt-bindings/hsi/hsi.h | 17 + include/linux/hsi/hsi.h|3 + 14 files changed, 2612 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/hsi/omap_ssi.txt create mode 100644 Documentation/devicetree/bindings/hsi/trivial-devices.txt create mode 100644 drivers/hsi/controllers/Kconfig create mode 100644 drivers/hsi/controllers/Makefile create mode 100644 drivers/hsi/controllers/omap_ssi.c create mode 100644 drivers/hsi/controllers/omap_ssi.h create mode 100644 drivers/hsi/controllers/omap_ssi_port.c create mode 100644 drivers/hsi/controllers/omap_ssi_regs.h create mode 100644 include/dt-bindings/hsi/hsi.h -- 1.8.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv1 6/6] Documentation: DT: omap-ssi binding documentation
Create device tree binding documentation for OMAP Synchronous Serial Interface (SSI) device. Signed-off-by: Sebastian Reichel s...@debian.org --- Documentation/devicetree/bindings/hsi/omap_ssi.txt | 82 ++ 1 file changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/hsi/omap_ssi.txt diff --git a/Documentation/devicetree/bindings/hsi/omap_ssi.txt b/Documentation/devicetree/bindings/hsi/omap_ssi.txt new file mode 100644 index 000..cfd729b --- /dev/null +++ b/Documentation/devicetree/bindings/hsi/omap_ssi.txt @@ -0,0 +1,82 @@ +OMAP SSI controller bindings + +Required properties: +- compatible: Should include ti,omap3-ssi. +- reg-names: Contains the values sys and gdd. +- reg: Contains a register specifier for each entry in + reg-names. +- interrupt-names: Contains the value gdd_mpu. +- interrupts: Contains interrupt information for each entry in + interrupt-names. +- ranges: Represents the bus address mapping between the main + controller node and the child nodes below. +- clocks: Contains clock specifiers for each entry in +clock-names. +- clock-names: Must include the following entries: + ssi_ssr_fck: The OMAP clock of that name + ssi_sst_fck: The OMAP clock of that name + ssi_ick: The OMAP clock of that name +- #address-cells: Should be set to 1 +- #size-cells: Should be set to 1 + +Each port is represented as a sub-node of the ti,omap3-ssi device. + +Required Port sub-node properties: +- compatible: Should be set to the following value +ti,omap3-ssi-port (applicable to OMAP34xx devices) +- reg-names: Contains the values rx and tx. +- reg: Contains a register specifier for each entry in + reg-names. +- interrupt-parent Should be a phandle for the interrupt controller +- interrupt-names: Contains the values mpu_irq0 and mpu_irq1. +- interrupts: Contains interrupt information for each entry in + interrupt-names. +- ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE + events for the port. This is an optional board-specific + property. If it's missing the port will not be + enabled. + +Example for Nokia N900: + +ssi-controller@48058000 { + compatible = ti,omap3-ssi; + + /* needed until hwmod is updated to use the compatible string */ + ti,hwmods = ssi; + + reg = 0x48058000 0x1000, + 0x48059000 0x1000; + reg-names = sys, + gdd; + + interrupts = 55; + interrupt-names = gdd_mpu; + + clocks = ssi_ssr_fck_3430es1, +ssi_sst_fck_3430es1, +ssi_ick_3430es1; + clock-names = ssi_ssr_fck, + ssi_sst_fck, + ssi_ick; + + #address-cells = 1; + #size-cells = 1; + ranges; + + ssi-port@0 { + compatible = ti,omap3-ssi-port; + + reg = 0x4805a000 0x800, + 0x4805a800 0x800; + reg-names = tx, + rx; + + interrupt-parent = intc; + interrupts = 51, +52; + interrupt-names = mpu_irq0, + mpu_irq1; + + ti,ssi-cawake-gpio = gpio5 23 GPIO_ACTIVE_HIGH; /* 151 */ + } +} -- 1.8.5.3 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv1 1/6] HSI: add Device Tree support for HSI clients
Add new method hsi_add_clients_from_dt, which can be used to initialize HSI clients from a device tree node. The patch also documents the DT binding for trivial HSI clients. Signed-off-by: Sebastian Reichel s...@debian.org --- .../devicetree/bindings/hsi/trivial-devices.txt| 36 +++ drivers/hsi/hsi.c | 70 +- include/dt-bindings/hsi/hsi.h | 17 ++ include/linux/hsi/hsi.h| 2 + 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/hsi/trivial-devices.txt create mode 100644 include/dt-bindings/hsi/hsi.h diff --git a/Documentation/devicetree/bindings/hsi/trivial-devices.txt b/Documentation/devicetree/bindings/hsi/trivial-devices.txt new file mode 100644 index 000..1ace14a --- /dev/null +++ b/Documentation/devicetree/bindings/hsi/trivial-devices.txt @@ -0,0 +1,36 @@ +This is a list of trivial hsi client devices that have simple +device tree bindings, consisting only of a compatible field +and the optional hsi configuration. + +If a device needs more specific bindings, such as properties to +describe some aspect of it, there needs to be a specific binding +document for it just like any other devices. + +Optional HSI configuration properties: + +- hsi,mode Bit transmission mode (STREAM or FRAME) + The first value is used for RX and the second one for + TX configuration. If only one value is provided it will + be used for RX and TX. + The assignments may be found in header file + dt-bindings/hsi/hsi.h. +- hsi,channels Number of channels to use [1..16] + The first value is used for RX and the second one for + TX configuration. If only one value is provided it will + be used for RX and TX. +- hsi,speedMax bit transmission speed (Kbit/s) + The first value is used for RX and the second one for + TX configuration. If only one value is provided it will + be used for RX and TX. +- hsi,flow RX flow type (SYNCHRONIZED or PIPELINE) + The assignments may be found in header file + dt-bindings/hsi/hsi.h. +- hsi,arb_mode Arbitration mode for TX frame (Round robin, priority) + The assignments may be found in header file + dt-bindings/hsi/hsi.h. + +This is the list of trivial client devices: + +Compatible Description +== = +hsi-char HSI character device diff --git a/drivers/hsi/hsi.c b/drivers/hsi/hsi.c index 749f7b5..8bbc0f1 100644 --- a/drivers/hsi/hsi.c +++ b/drivers/hsi/hsi.c @@ -26,6 +26,8 @@ #include linux/slab.h #include linux/string.h #include linux/notifier.h +#include linux/of.h +#include linux/of_device.h #include hsi_core.h static ssize_t modalias_show(struct device *dev, @@ -50,7 +52,10 @@ static int hsi_bus_uevent(struct device *dev, struct kobj_uevent_env *env) static int hsi_bus_match(struct device *dev, struct device_driver *driver) { - return strcmp(dev_name(dev), driver-name) == 0; + if (dev-of_node != NULL) + return of_driver_match_device(dev, driver); + else + return strcmp(dev_name(dev), driver-name) == 0; } static struct bus_type hsi_bus_type = { @@ -75,6 +80,7 @@ static void hsi_new_client(struct hsi_port *port, struct hsi_board_info *info) cl-tx_cfg = info-tx_cfg; cl-rx_cfg = info-rx_cfg; cl-device.bus = hsi_bus_type; + cl-device.parent = port-device; cl-device.release = hsi_client_release; dev_set_name(cl-device, %s, info-name); @@ -101,6 +107,68 @@ static void hsi_scan_board_info(struct hsi_controller *hsi) } } +static void hsi_of_get_client_cfg_property(struct device_node *client, + char *name, unsigned int *rx, unsigned int *tx) +{ + int err; + + err = of_property_read_u32_index(client, name, 0, rx); + if (err) + *rx = 0; + + err = of_property_read_u32_index(client, name, 1, tx); + if (err) + *tx = *rx; +} + +static void hsi_add_client_from_dt(struct hsi_port *port, + struct device_node *client) +{ + struct hsi_client *cl; + const char *name; + int err; + + cl = kzalloc(sizeof(*cl), GFP_KERNEL); + if (!cl) + return; + + err = of_property_read_string(client, compatible, name); + if (!err) { + dev_set_name(cl-device, %s, name); + } else { + kfree(cl); + return; + } + + hsi_of_get_client_cfg_property(client, hsi,mode,
Re: [patch 08/26] arm: Replace various irq_desc accesses
On Sun, Feb 23, 2014 at 09:40:12PM -, Thomas Gleixner wrote: Use the proper functions. There is no need to fiddle with irq_desc. Signed-off-by: Thomas Gleixner t...@linutronix.de Cc: Shawn Guo shawn@linaro.org ... arch/arm/mach-imx/pm-imx6q.c|7 +++ Acked-by: Shawn Guo shawn@linaro.org -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC PATCH 3/6] PM / Voltagedomain: introduce voltage domain driver support
On Tue, Feb 18, 2014 at 02:32:20PM -0600, Nishanth Menon wrote: The current regulator model provides the basic building blocks for the transitions, however SoC drivers specific to each of these devices, be it cpufreq/devfreq have to replicate the logic for functionality. To simply the logic, we can hence introduce a layer that takes care of the mundane transition logic, registration mechanisms to provide the user drivers such as cpufreq/devfreq a generic interface, whose details are abstracted by the device tree description for the SoC on which the driver operates on. This doesn't really provide a picture of what the generic interface that's being offered is and... drivers/power/voltdm/Kconfig |5 + drivers/power/voltdm/Makefile |3 + drivers/power/voltdm/core.c | 347 +++-- drivers/power/voltdm/voltage_domain_private.h | 86 ++ 4 files changed, 424 insertions(+), 17 deletions(-) ...the diffstat doesn't make it obvious what the external interface is either. It would be much easier to review this with a clearer picture of what it's aiming to implement. + voltdm_np = of_parse_phandle(np, prop_name, 0); + if (voltdm_np) { + ret = of_parse_phandle_with_args(np, prop_name, #voltdm-cells, + 0, args); + if (ret) + return ERR_PTR(ret); There seems to be some DT stuff going on here, is the interface DT only? signature.asc Description: Digital signature
Re: [PATCH v2 0/2] ARM: OMAP4: Fix gpmc_fck clock
On 02/23/2014 10:23 PM, Mike Turquette wrote: Quoting Florian Vaussard (2014-02-19 11:26:43) On 02/19/2014 05:22 PM, Tero Kristo wrote: On 02/19/2014 11:15 AM, Florian Vaussard wrote: Hello, Trying to get my SMSC9221 working on OMAP4 with DT, I faced a misconfigured gpmc_fck (dummy clock set to 0) resulting in serveral division-by-zero, misconfigured timings and driver lost in the La La Land. To solve this, patch 1 removes gpmc_fck from the dummy clocks, and patch 2 adds the gpmc_fck DT node and reference it from the gpmc node. Tested on DuoVero/Parlor (OMAP4430) with SMSC9221. I can't test GPMC myself, but other than that, this set looks good to go. Thank you. Would you like more test coverage by other people? I would like to see this in -rc if possible, as it is needed to boot my OMAP4 system. What OMAP4 system is this? Is this a regression for board that already has support merged into mainline? No, it is not yet merged into mainline. I was planning to post the DTS this week, when most issues are cleared. Looking at the current mainline boards, no one seems to use the GPMC, so I am just the first one to hit this issue. Regards, Florian -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html