Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'hsi-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi

Pull HSI updates from Sebastian Reichel:

- add HSI OMAP4 bindings

- misc small fixes

* tag 'hsi-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
dt-bindings: hsi: add omap4 hsi controller bindings
HSI: hsi_char: pr_err() strings should end with newlines
HSI: omap_ssi_core: fix kilo to be "k" not "K"

+15 -8
+10 -3
Documentation/devicetree/bindings/hsi/omap-ssi.txt
··· 1 1 OMAP SSI controller bindings 2 2 3 - OMAP Synchronous Serial Interface (SSI) controller implements a legacy 4 - variant of MIPI's High Speed Synchronous Serial Interface (HSI). 3 + OMAP3's Synchronous Serial Interface (SSI) controller implements a 4 + legacy variant of MIPI's High Speed Synchronous Serial Interface (HSI), 5 + while the controller found inside OMAP4 is supposed to be fully compliant 6 + with the HSI standard. 5 7 6 8 Required properties: 7 - - compatible: Should include "ti,omap3-ssi". 9 + - compatible: Should include "ti,omap3-ssi" or "ti,omap4-hsi" 8 10 - reg-names: Contains the values "sys" and "gdd" (in this order). 9 11 - reg: Contains a matching register specifier for each entry 10 12 in reg-names. ··· 29 27 Required Port sub-node properties: 30 28 - compatible: Should be set to the following value 31 29 ti,omap3-ssi-port (applicable to OMAP34xx devices) 30 + ti,omap4-hsi-port (applicable to OMAP44xx devices) 32 31 - reg-names: Contains the values "tx" and "rx" (in this order). 33 32 - reg: Contains a matching register specifier for each entry 34 33 in reg-names. ··· 40 37 events for the port. This is an optional board-specific 41 38 property. If it's missing the port will not be 42 39 enabled. 40 + 41 + Optional properties: 42 + - ti,hwmods: Shall contain TI interconnect module name if needed 43 + by the SoC 43 44 44 45 Example for Nokia N900: 45 46
+2 -2
drivers/hsi/clients/hsi_char.c
··· 773 773 774 774 if ((max_data_size < 4) || (max_data_size > 0x10000) || 775 775 (max_data_size & (max_data_size - 1))) { 776 - pr_err("Invalid max read/write data size"); 776 + pr_err("Invalid max read/write data size\n"); 777 777 return -EINVAL; 778 778 } 779 779 780 780 ret = hsi_register_client_driver(&hsc_driver); 781 781 if (ret) { 782 - pr_err("Error while registering HSI/SSI driver %d", ret); 782 + pr_err("Error while registering HSI/SSI driver %d\n", ret); 783 783 return ret; 784 784 } 785 785
+3 -3
drivers/hsi/controllers/omap_ssi_core.c
··· 334 334 case POST_RATE_CHANGE: 335 335 dev_dbg(&ssi->device, "post rate change (%lu -> %lu)\n", 336 336 clk_data->old_rate, clk_data->new_rate); 337 - omap_ssi->fck_rate = DIV_ROUND_CLOSEST(clk_data->new_rate, 1000); /* KHz */ 337 + omap_ssi->fck_rate = DIV_ROUND_CLOSEST(clk_data->new_rate, 1000); /* kHz */ 338 338 339 339 for (i = 0; i < ssi->num_ports; i++) { 340 340 omap_port = omap_ssi->port[i]; ··· 467 467 } 468 468 /* Resetting GDD */ 469 469 writel_relaxed(SSI_SWRESET, omap_ssi->gdd + SSI_GDD_GRST_REG); 470 - /* Get FCK rate in KHz */ 470 + /* Get FCK rate in kHz */ 471 471 omap_ssi->fck_rate = DIV_ROUND_CLOSEST(ssi_get_clk_rate(ssi), 1000); 472 - dev_dbg(&ssi->device, "SSI fck rate %lu KHz\n", omap_ssi->fck_rate); 472 + dev_dbg(&ssi->device, "SSI fck rate %lu kHz\n", omap_ssi->fck_rate); 473 473 474 474 writel_relaxed(SSI_CLK_AUTOGATING_ON, omap_ssi->sys + SSI_GDD_GCR_REG); 475 475 omap_ssi->gdd_gcr = SSI_CLK_AUTOGATING_ON;